Wii Web Server

From WiiBrew
Jump to navigation Jump to search



Wii Web Server
Lines WiiWebServer.png
Versionalpha 1.20
Downloadable via the Homebrew Browser
Wiimote1.svg Nunchuck alternative.svg ClassicController.svg Local WiFi Internet Loads files from the Front SD slot USB mass storage device Les Paul Controller

Dev time: 146 Hours


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

meta.xml Example

File:Wiiwebserver.zip - ZIP containing the meta.xml for alpha v0.73 and an icon.png


Boot using normal methods *cough* HBC *cough*. Once running, will run itself.


Wiimote1.svg Nunchuck alternative.svg ClassicController.svg Les Paul Controller Action
Wiimote A Button or Wiimote HOME Button Nunchuck C Button Classic HOME Button Yellow Fret Button Quit

settings for version alpha v1.10 +

In a folder on the root of the sd called data create a folder called wws and make :-

  • pass.txt containing your password (make sure is followed by new line)<br />
  • port.txt containing the custom port number<br />
  • wwwo.txt 1 for using /www on root or 0 for /data/web

If the above files aren't found then the following defaults will be used

  • pass.txt - all options that require a password are disabled<br />
  • port.txt - defaults to port 80<br />
  • wwwo.txt - defaults to the same as 0 which is /data/web

Custom error pages

On the SD, create a folder called "error" in the /data/web folder and create pages called XXX.html where XXX is the error number for the custom page to replace, such as 404 for page not found and 500 for server errors

Directory Listing

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

USB Storage

Put files on in the same directories as you would on the sd card, i.e in usb://data/web/<p> If, for example, your file is usb://data/web/index.html, then the link to it is /usb/index.html, <br />if it is linked to as /index.html, then wii web server will load the index off of the sd card in sd://data/web/index.html


I am in need of help in order to advance the wii web server to alpha v1.5 +<br /> A list of things that i need help with are below :

  • Fixing undone things in the bugs section
  • A decent graphical front-end
  • More file type support


Version Changes %
alpha v1.50 ? gui 0%


Version Changes
alpha v1.40 Fixed some rfc issues<br />

Now long multi-packet requests can be made<br /> Now sends a Last-Modified<br /> Implemented deflate compression for all text/* mime-types

alpha v1.30 Password protected quitting by going to /quit, make sure password is set in /data/wws/pass.txt<br />

Password protected /admin page (same as for /quit)<br /> More HTTP rfc compliant stuff<br /> Server generated index page if index.html can't be found in a directory<br /> Support trace method<br /> Basic compression support<br /> Compiled against libogc 1.8.3<br /> Increased buffer sizes

alpha v1.20 Vast speed improvements (no more sleeping)<br />

Compiled against libogc v1.8.1 and devkitppc r19 etc<br /> Stability issues fixed<br /> Restuctured faster code<br /> Re-coded in c++<br /> Various HTTP rfc compliance improvements

alpha v1.10 Added option to have pages in /www directory to be compatible with Wiihttpd(default uses /data/web)<br />

Added option to change port number to run on (Default : 80)<br /> Added option to set a password for admin based tasks (not yet used)(no default)<br /> Stabilised libhttp some more<br /> Now shuts down cleanly (unmounts devices, closes sockets, e.t.c)<br /> Better "HEAD" method support

alpha v1.00 Very basic admin page (not yet worth looking at) at /admin<br />

More stable<br /> Started to develop and intergrate own HTTP lib<br /> Added ability to use a custom error page for any errors<br /> Directories no longer need a / at the end

alpha v0.93 Less junk<br />

More options of quitting to allow for more hardware choices<br /> Now re-enabled custom 404 and 505 error pages, use is described above in readme<br />

alpha v0.92 Can now use usb flash sticks (detailed in the readme above)
alpha v0.91 Vast speed improvements<br />

Increased stability when using 404 and 500 errors<br /> ?? Temporarily disabled custom error pages ??<br /> Changed from fat0:// to sd:// to fit in with new Libfat<br /> Moved source from sourceforge cvs to sourceforge svn<br /> More supported file types Fixed directoried ending in / not going to /index.html

alpha v0.9<br />

wiiweb.xml v rc1

Recompiled for HBC 9 beta<br />

Now has a sane download name

alpha v0.82<br />

wiiweb.xml v rc1

New stipped down wiiweb.xml<br />

Removed buggy //quit (might return later)<br /> Now use the same method of quitting as ftpii and wiihttpd<br /> using a threaded home button detection routine<br /> Small code improvements and removed unused code

alpha v0.81<br />

wiiweb.xml v b3

Uses new wiiweb.xml which causes less crashes <br />

and //quit?password works 99% of the time.<br /> Various bug fixes from the table below

alpha v0.8<br />

wiiweb.xml v b2

Added threading support and management<br />

SD code tweaks

alpha v0.77<br />

wiiweb.xml v b2

Added custom 404 error page<br />

Added custom 500 error page<br /> Added custom denied error page<br /> More //quit security checks<br /> Solved two stability issues Uses the new wiiweb.xml

alpha v0.76<br />

wiiweb.xml v b1

Added the option of a custom password to shut<br />

the server remotely using //quit?password (see README)<br /> Removed /img (old)

alpha v0.75 Removed /tux and /yak.jpg (old and deprecated)<br />

Minor speed improvements<br /> Date and time in the header<br />

alpha v0.74 When //quit is requested it has to be approved by pressing A or B<br />

Slightly shortened the time it takes to be ready after each request<br /> Bugfixes

alpha v0.73 Security bugfixes<br />

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

alpha v0.72 Bugfixes
alpha v0.71 Adds .wmv support<br />

Added error 500 for server errors

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

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.<br />

Smaller code.

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

Ditched GRRLib to make the server smaller in size<br /> 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<br />

Added image support<br /> Added /img image test link

alpha v0.24b Bug fixes for 0.24a<br />

//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<br />

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 <br />(i.e pressing B then A)<br />

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<br />

No longer needs telnet<br /> 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<br />

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

Bug fixing

Bug Status How Fixed Priority


This is almost community based !! :-)

Cboomf - Main code<br /> Felix123 - SD card code<br /> Teknecal - Threading basis, %20 handling, HEAD method routine, time in headers<br /> Joedj - the write_exact function from ftpii<br /> Muzer - pre-release testing<br /> Henke37 - advise and help<br /> Lines - the icon.png that most people and the admin page uses<br /> Ruby - first gui graphics<br />

Twiizers - starting the ball rolling