Difference between revisions of "Wii Web Server"

From WiiBrew
Jump to navigation Jump to search
Line 52: Line 52:
Added space in file name support<br>
Added space in file name support<br>
Fixed disallowance of ../ or ./ for security<br>
Fixed disallowance of ../ or ./ for security<br>
Added .bin file support
Added .bin file support<br>
Sends server version in header
|[http://downloads.sourceforge.net/wiiwebserver/hl2072.elf?use_mirror=osdn alpha v0.72]
|[http://downloads.sourceforge.net/wiiwebserver/hl2072.elf?use_mirror=osdn alpha v0.72]

Revision as of 18:51, 2 July 2008

Template:Infobox homebrewapp

A simple web-server for the Wii.
Still is very early stages of development and at present can only display a built in test page.

Dev time : 36 Hours


Icon Designer
WiiWeb.png Twilt
Icon WebServer.png Vibestar
Lines WiiWebServer.png Lines

meta.xml Example


Boot using normal methods *cough* HBC *cough*. Once running, will run itself. To quit, type "//quit" at the end of the web-address, so - "192.168.0.X//quit", will now return to HBC

Place your html files in /data/web/ on the root of your sd card, must be inserted before the app is loaded. Use data.zip for demo files.

There is no directory listing and your homepage must be called "index.html"


Version Changes
alpha v0.73 Security bugfixes

Added "HEAD" method support
Added space in file name support
Fixed disallowance of ../ or ./ for security
Added .bin file support
Sends server version in header

alpha v0.72 Bugfixes
alpha v0.71 Adds .wmv support

Added error 500 for server errors

alpha v0.7 Doesn't exception out when a file or page cannot be found

Will now serve a "404 Page not found" page

alpha v0.62 Fixed the infinite recursion
alpha v0.61 Removed the /a and the old testpages since they are no longer needed.

Smaller code.

alpha v0.6 Can now send any file size (thanks to joedj's ftpii write_exact function)

Ditched GRRLib to make the server smaller in size
Cleaned up the sources

alpha v0.5 Can now load any file type (those listed below) from FrontSD
alpha v0.4 Front SD html only, loading support XD (finally !!)
alpha v0.31 Favicon added
alpha v0.3 Added wiimote support

Added image support
Added /img image test link

alpha v0.24b Bug fixes for 0.24a

//a is now back to /a, but //quit is still there for other reasons

alpha v0.24a Fixed the main page hyperlink to //a
alpha v0.24 Changed /a to //a and /quit to //quit to avoid conflicts

Request parser rewritten, now quicker and more streamlined

alpha v0.23 Now doesn't have to restart the server to serve more than one page (i.e pressing B then A)

Quitting the server is from a server path of "/quit"

alpha v0.22 Handles links
alpha v0.21 Now detects the HTTP/1.x version as requested by the browser
alpha v0.2 Now serves a built in test page

No longer needs telnet
Forced use of HTTP/1.1

alpha v0.11 Serves html to telnet (lack of http headers)

Can accept multiple connections (not at once)

alpha v0.1 Added Gamecube control menu control

Added GRRLIB logo
Added return to loader
Opens port 80
Opens a socket and allows for connection
Accepts connection on open socket at port 80

Bug fixing

Please post new bugs on the talk page instead of here :-)

For anymore bugs, could they only be posted if :-

  • They are security related (not the //quit function)


  • They affect usage

They should not be code based, only usage based.

Bug Status Priority
Directory traversal vulnerabilities allows people to

sneak out of the web root. Ops, now people can "borrow"
all those "borrowed" games you also happen to have on the
sd-card. (evidence needed)

Done High
Fixing of folders to index.html is hardcoded and not

heuristic and will fail for sub-directories.

Waiting Low
500 pages uses 404 lengths Done Medium
Indention issues, try just writing it like "else if"

and don't add any extra indention, it keeps the indention
level sane when having a lot of conditions.

Done Low
Directories without an ending / is not redirected to

the same url, but with a slash

Waiting Medium
Request specific info is stored in globals

(not safe for multi threading in the future)

In Progress High
Exact server version is not in the http reply headers Done Low
Connections is not timed out if the client doesn't

make any requests

Waiting Low
Date header is hardcoded to the past. Waiting Low

File types

The following file types can be loaded from Front SD

html htm txt css ico gif
jpg jpeg png svg torrent wav
wav mp3 mid m3u ram ra
doc exe zip xls tgz tar
tar gz arj rar rtf pdf
swf mpg mpeg asf avi bmp
wmv bin

"Lump of fun"

Everynow and then, a special release of the wii web server will be released that contains a hidden "lump of fun". Result can be posted on the talk page under "Lump of fun". Who will be the first to screendump it, evidence must be a full screendump or it will be discounted.

The first - "find the sucking lump of fun"

alpha v0.3a