Difference between revisions of "Wii Web Server"

From WiiBrew
Jump to: navigation, search
m (Credits)
(Undo revision 93751 by Ynurisuhy (talk))
 
(148 intermediate revisions by 17 users not shown)
Line 1: Line 1:
{{Infobox homebrewapp
+
{{Infobox homebrew
| image      = [[Image:wiiwebserverhbb.png]]
+
| image      = [[File:Lines WiiWebServer.png]]
 
| title      = Wii Web Server
 
| title      = Wii Web Server
| desc        = A web server running on Wii
+
| type        = utility
| type        = Server
+
| author      = Cboomf
| author      = Cboomf, Felix123
+
| version    = alpha 1.20
| download    = [https://sourceforge.net/projects/wiiwebserver/ Project Page]
+
| download    = https://sourceforge.net/projects/wiiwebserver/
| peripherals = {{Wiimote1}}{{WiFi}}{{Internet}}{{FrontSD}}
+
| website    = https://sourceforge.net/projects/wiiwebserver/
| hbc        = 1
+
| source      = http://sourceforge.net/scm/?type=svn&group_id=229938
| hbb        = 1
+
| peripherals = {{Wiimote1}} {{Nunchuk}} {{ClassicController}} {{WiFi}} {{Internet}} {{FrontSD}} {{USBMSD}} {{LesPaul}}
 +
| hbb        = yes
 
}}
 
}}
  
Dev time : 68 Hours
+
Dev time: 146 Hours
  
 
== HBC ==
 
== HBC ==
Line 18: Line 19:
 
! Icon || Designer
 
! Icon || Designer
 
|-
 
|-
|[[Image:WiiWeb.png]]
+
|[[File:WiiWeb.png]]
|[[user:Seandgibbonsy|Twilt]]
+
|[[User:Seandgibbonsy|Twilt]]
 
|-
 
|-
|[[Image:Icon_WebServer.png]]
+
|[[File:Icon_WebServer.png]]
 
|Vibestar
 
|Vibestar
 
|-
 
|-
|[[Image:Lines_WiiWebServer.png]]
+
|[[File:Lines_WiiWebServer.png]]
 
|Lines
 
|Lines
 
|}
 
|}
Line 30: Line 31:
 
[http://pastebin.ch/281 meta.xml Example]
 
[http://pastebin.ch/281 meta.xml Example]
  
[[Image:Wiiwebserver.zip]] - ZIP containing the meta.xml for alpha v0.73 and an icon.png
+
[[File:Wiiwebserver.zip]] - ZIP containing the meta.xml for alpha v0.73 and an icon.png
  
 
== README ==
 
== README ==
Line 36: Line 37:
 
Boot using normal methods *cough* HBC *cough*.
 
Boot using normal methods *cough* HBC *cough*.
 
Once running, will run itself.
 
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.<br>
 
'''NOTE :''' In version alpha v0.74 onwards, the //quit now requires you to press A on the wiimote to allow<br>
 
This stops any random user from shutting down the server.<br>
 
'''NOTE :''' In version alpha v0.76 onwards, the //quit can new be followed by ? then your password if specified<br>
 
An example is //quit?putyourpasswordhere<br>
 
An example of the XML file to place on you SD card in /data/settings/wiiweb.xml is (also uploaded to sourceforge)
 
<pre>
 
<?xml version="1.0"?>
 
<settings password="putyourpasswordhere">
 
</settings>
 
</pre>
 
If no wiiweb.xml is found then the old method of using the wiimote can still be used.
 
<br><br>
 
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.
 
  
In verions alpha v0.81 onwards, in the xml (link below) a custom error page can be specified by
+
=== Quitting ===
<pre>
+
 
<?xml version="1.0"?>
+
{| class="wikitable" style="left;text-align:center;"
<settings password="putyourpasswordhere"
+
|-
404="/four04.html"
+
! {{Wiimote1}}                            ||{{Nunchuk}}        ||{{ClassicController}} ||{{LesPaul}}        || Action
500="/five00.html"
+
|-
denied="/denied.html">
+
| {{WiimoteAButton}} or {{WiimoteHomeButton}} ||{{NunchukCButton}} ||{{ClassicHomeButton}} ||{{GHYellowFret}}  || Quit
</settings>
+
|}
</pre>
+
 
If no file is needed just put "nofile" in the place of the file path
+
=== 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"
 
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
 +
 +
== HELP WANTED ==
 +
 +
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
 +
 +
== Future ==
 +
 +
{| class="wikitable" style="margin: 1em auto 1em auto" border="1"
 +
! Version || Changes || %
 +
|-
 +
|alpha v1.50 ?
 +
|gui
 +
|0%
 +
|}
  
 
== Changelog ==
 
== Changelog ==
Line 70: Line 97:
 
! Version || Changes
 
! Version || Changes
 
|-
 
|-
|[http://downloads.sourceforge.net/wiiwebserver/hl2081.elf?use_mirror=osdn alpha v0.81]<br>
+
|alpha v1.40
[http://downloads.sourceforge.net/wiiwebserver/wiiwebb3.xml?use_mirror=osdn wiiweb.xml v b3]
+
|Fixed some rfc issues<br />
|Uses new wiiweb.xml which causes less crashes <br>
+
Now long multi-packet requests can be made<br />
and //quit?''password'' works 99% of the time.<br>
+
Now sends a Last-Modified<br />
 +
Implemented deflate compression for all text/* mime-types
 +
|-
 +
|[http://downloads.sourceforge.net/project/wiiwebserver/wiiwebserver/alpha%20v1.30/wws130.dol?use_mirror=kent 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
 +
|-
 +
|[http://downloads.sourceforge.net/project/wiiwebserver/wiiwebserver/alpha%20v1.20/wws120.dol?use_mirror=heanet 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
 +
|-
 +
|[http://master.dl.sourceforge.net/sourceforge/wiiwebserver/wiiwebserveralpha11.dol 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
 +
|-
 +
|[http://master.dl.sourceforge.net/sourceforge/wiiwebserver/wiiwebserveralpha1.dol 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
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/wiiwebserver093.dol?use_mirror=osdn 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 />
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/wiiwebserver092.dol?use_mirror=kent alpha v0.92]
 +
|Can now use usb flash sticks (detailed in the readme above)
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/wiiwebserver091.dol?use_mirror=kent 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
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/wiiwebserver09.dol?use_mirror=kent alpha v0.9]<br />
 +
wiiweb.xml v rc1
 +
|Recompiled for HBC 9 beta<br />
 +
Now has a sane download name
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2082.elf?use_mirror=osdn 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
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2081.elf?use_mirror=osdn 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
 
Various bug fixes from the table below
 
|-
 
|-
|[http://downloads.sourceforge.net/wiiwebserver/hl208.elf?use_mirror=osdn alpha v0.8]<br>
+
|[http://downloads.sourceforge.net/wiiwebserver/hl208.elf?use_mirror=osdn alpha v0.8]<br />
[http://downloads.sourceforge.net/wiiwebserver/wiiwebb2.xml?use_mirror=osdn wiiweb.xml v b2]
+
wiiweb.xml v b2
|Added threading support and management<br>
+
|Added threading support and management<br />
 
SD code tweaks
 
SD code tweaks
 
|-
 
|-
|[http://downloads.sourceforge.net/wiiwebserver/hl2077.elf?use_mirror=osdn alpha v0.77]<br>
+
|[http://downloads.sourceforge.net/wiiwebserver/hl2077.elf?use_mirror=osdn alpha v0.77]<br />
[http://downloads.sourceforge.net/wiiwebserver/wiiwebb2.xml?use_mirror=osdn wiiweb.xml v b2]
+
wiiweb.xml v b2
|Added custom 404 error page<br>
+
|Added custom 404 error page<br />
Added custom 500 error page<br>
+
Added custom 500 error page<br />
Added custom denied error page<br>
+
Added custom denied error page<br />
More //quit security checks<br>
+
More //quit security checks<br />
 
Solved two stability issues
 
Solved two stability issues
 
Uses the new wiiweb.xml
 
Uses the new wiiweb.xml
 
|-
 
|-
|[http://downloads.sourceforge.net/wiiwebserver/hl2076.elf?use_mirror=osdn alpha v0.76]<br>
+
|[http://downloads.sourceforge.net/wiiwebserver/hl2076.elf?use_mirror=osdn alpha v0.76]<br />
[http://downloads.sourceforge.net/wiiwebserver/wiiweb.xml?use_mirror=osdn wiiweb.xml v b1]
+
wiiweb.xml v b1
|Added the option of a custom password to shut<br>
+
|Added the option of a custom password to shut<br />
the server remotely using //quit?password (see README)<br>
+
the server remotely using //quit?password (see README)<br />
 
Removed /img (old)
 
Removed /img (old)
 
|-
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2075.elf?use_mirror=osdn alpha v0.75]
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2075.elf?use_mirror=osdn alpha v0.75]
|Removed /tux and /yak.jpg (old and deprecated)<br>
+
|Removed /tux and /yak.jpg (old and deprecated)<br />
Minor speed improvements<br>
+
Minor speed improvements<br />
Date and time in the header<br>
+
Date and time in the header<br />
 
|-
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2074.elf?use_mirror=osdn alpha v0.74]
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2074.elf?use_mirror=osdn alpha v0.74]
|When //quit is requested it has to be approved by pressing A or B<br>
+
|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>
+
Slightly shortened the time it takes to be ready after each request<br />
 
Bugfixes
 
Bugfixes
 
|-
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2073.elf?use_mirror=osdn alpha v0.73]
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2073.elf?use_mirror=osdn alpha v0.73]
|Security bugfixes<br>
+
|Security bugfixes<br />
Added "HEAD" method support<br>
+
Added "HEAD" method support<br />
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<br>
+
Added .bin file support<br />
 
Sends server version in header
 
Sends server version in header
 
|-
 
|-
Line 118: Line 214:
 
|-
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2071.elf?use_mirror=osdn alpha v0.71]
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2071.elf?use_mirror=osdn alpha v0.71]
|Adds .wmv support<br>
+
|Adds .wmv support<br />
 
Added error 500 for server errors
 
Added error 500 for server errors
 
|-
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/hl207.elf?use_mirror=osdn alpha v0.7]
 
|[http://downloads.sourceforge.net/wiiwebserver/hl207.elf?use_mirror=osdn alpha v0.7]
|Doesn't exception out when a file or page cannot be found<br>
+
|Doesn't exception out when a file or page cannot be found<br />
 
Will now serve a "404 Page not found" page
 
Will now serve a "404 Page not found" page
 
|-
 
|-
Line 129: Line 225:
 
|-
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2061.elf?use_mirror=osdn alpha v0.61]
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2061.elf?use_mirror=osdn alpha v0.61]
|Removed the /a and the old testpages since they are no longer needed.<br>
+
|Removed the /a and the old testpages since they are no longer needed.<br />
 
Smaller code.
 
Smaller code.
 
|-
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/hl206.elf?use_mirror=osdn alpha v0.6]
 
|[http://downloads.sourceforge.net/wiiwebserver/hl206.elf?use_mirror=osdn alpha v0.6]
|Can now send any file size (thanks to joedj's ftpii write_exact function)<br>
+
|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>
+
Ditched GRRLib to make the server smaller in size<br />
 
Cleaned up the sources
 
Cleaned up the sources
 
|-
 
|-
Line 147: Line 243:
 
|-
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/hl203.elf?use_mirror=osdn alpha v0.3]
 
|[http://downloads.sourceforge.net/wiiwebserver/hl203.elf?use_mirror=osdn alpha v0.3]
|Added wiimote support<br>
+
|Added wiimote support<br />
Added image support<br>
+
Added image support<br />
 
Added /img image test link
 
Added /img image test link
 
|-
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2024b.elf?use_mirror=osdn alpha v0.24b]
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2024b.elf?use_mirror=osdn alpha v0.24b]
|Bug fixes for 0.24a<br>
+
|Bug fixes for 0.24a<br />
 
//a is now back to /a, but //quit is still there for other reasons
 
//a is now back to /a, but //quit is still there for other reasons
 
|-
 
|-
Line 159: Line 255:
 
|-
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2024.elf?use_mirror=osdn alpha v0.24]
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2024.elf?use_mirror=osdn alpha v0.24]
|Changed /a to //a and /quit to //quit to avoid conflicts<br>
+
|Changed /a to //a and /quit to //quit to avoid conflicts<br />
 
Request parser rewritten, now quicker and more streamlined
 
Request parser rewritten, now quicker and more streamlined
 
|-
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2023.elf?use_mirror=osdn alpha v0.23]
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2023.elf?use_mirror=osdn 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>
+
|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"
 
Quitting the server is from a server path of "/quit"
 
|-
 
|-
Line 173: Line 269:
 
|-
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/hl202.elf?use_mirror=osdn alpha v0.2]
 
|[http://downloads.sourceforge.net/wiiwebserver/hl202.elf?use_mirror=osdn alpha v0.2]
|Now serves a built in test page<br>
+
|Now serves a built in test page<br />
No longer needs telnet<br>
+
No longer needs telnet<br />
 
Forced use of HTTP/1.1
 
Forced use of HTTP/1.1
 
|-
 
|-
Line 182: Line 278:
 
|-
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2.elf?use_mirror=osdn alpha v0.1]
 
|[http://downloads.sourceforge.net/wiiwebserver/hl2.elf?use_mirror=osdn alpha v0.1]
|Added Gamecube control menu control<br>
+
|Added Gamecube control menu control<br />
Added GRRLIB logo<br>
+
Added GRRLIB logo<br />
Added return to loader<br>
+
Added return to loader<br />
Opens port 80<br>
+
Opens port 80<br />
Opens a socket and allows for connection<br>
+
Opens a socket and allows for connection<br />
 
Accepts connection on open socket at port 80
 
Accepts connection on open socket at port 80
|}
 
 
{| class="wikitable" style="margin: 1em auto 1em auto" border="1"
 
! Version || Changes
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/wiiwebb3.xml?use_mirror=osdn Beta 3]
 
|Only use on alpha v0.81 +<br>
 
Reduces errors
 
|-
 
|[http://downloads.sourceforge.net/wiiwebserver/wiiwebb2.xml?use_mirror=osdn Beta 2]
 
|First uploaded version<br>
 
Added custom error pages paths
 
 
|}
 
|}
  
 
== Bug fixing ==
 
== Bug fixing ==
 
Please post new bugs on the talk page instead of here :-)
 
 
For anymore bugs, they should only be posted if :-
 
* '''They are security related'''<br>
 
* They affect usage<br>
 
 
If anyone has an idea then a patch (not in a .patch file) could be submitted to me by any means !!!
 
  
 
{| class="wikitable sortable" style="margin: 1em auto 1em auto"
 
{| class="wikitable sortable" style="margin: 1em auto 1em auto"
 
! Bug || Status || How Fixed || Priority
 
! Bug || Status || How Fixed || Priority
|-
 
| Directory traversal vulnerabilities allows people to <br>
 
sneak out of the web root. Ops, now people can "borrow" <br>
 
all those "borrowed" games you also happen to have on the <br>
 
sd-card.  (evidence needed)
 
| Done
 
| Now blocks all ./ and ../ in path names
 
| bgcolor="red"| High
 
|-
 
| Fixing of folders to index.html is hardcoded and not <br>
 
heuristic and will fail for sub-directories. 
 
| Waiting
 
|
 
| bgcolor="yellow"| Low
 
|-
 
| 500 pages uses 404 lengths
 
| Done
 
| Changed _404_html_size to _500_html_size
 
| bgcolor="orange"| Medium
 
|-
 
| Indention issues, try just writing it like "else if"<br>
 
and don't add any extra indention, it keeps the indention<br>
 
level sane when having a lot of conditions.
 
| Done
 
| Changed to else if
 
| bgcolor="yellow"| Low
 
|-
 
| Directories without an ending / is not redirected to <br>
 
the same url, but with a slash
 
| Waiting
 
|
 
| bgcolor="orange"| Medium
 
|-
 
| Request specific info is stored in globals <br>
 
(not safe for multi threading in the future)
 
| Done
 
| used same idea as wiihttpd
 
| bgcolor="red"| High
 
|-
 
| Exact server version is not in the http reply headers
 
| Done
 
| Made the server version a variable and attatched it
 
| bgcolor="yellow"| Low
 
|-
 
| Date header is hardcoded to the past.
 
| Done
 
| Added time.h and worked out the date
 
| bgcolor="yellow"| Low
 
|-
 
| '?'s in URLs are not used properly as argument passers <br>
 
(eg http://wiihostedexamplesite.com/index.html?a=b gives a 404 <br>
 
when it should pass the a=b paramater onto the page)
 
| Done
 
| strtok(path, "?");
 
| bgcolor="orange"| Medium
 
|-
 
| If it gets a reading error (ie you remove the SD card) it should display error 500, rather than displaying an error only on the Wii itself then dumping back to HBC, causing the PC to timeout and the server to go down. Although that could be a problem since it might need to read error 500 off the SD card with the new custom error feature, it could be avoided by loading that error into RAM at the start as long as it isn't too big (in which case it should error at start and refuse to run).
 
| Done
 
| instead of exiting will show the built-in error 500 page<br>
 
having issues with loading it into ram for long times
 
| bgcolor="yellow"| Low
 
 
|}
 
|}
  
== File types ==
+
== Credits ==
 
 
The following file types have proper mime types associated with them.
 
 
 
{| class="wikitable" style="margin: 1em auto 1em auto" border="1"
 
|arj
 
|asf
 
|avi
 
|bin
 
|bmp
 
|c
 
|css
 
|doc
 
|exe
 
|gif
 
|-
 
|gtar
 
|gz
 
|h
 
|htm
 
|html
 
|ico
 
|java
 
|jpe
 
|jpeg
 
|jpg
 
|-
 
|js
 
|m3u
 
|mid
 
|midi
 
|mod
 
|mp2
 
|mp3
 
|mpa
 
|mpe
 
|mpeg
 
|-
 
|mpg
 
|mpp
 
|mpv2
 
|mp3
 
|mov
 
|pdf
 
|png
 
|pps
 
|ppt
 
|qt
 
|-
 
|ra
 
|ram
 
|rar
 
|rtf
 
|rtx
 
|svg
 
|swf
 
|tar
 
|tif
 
|tiff
 
|-
 
|txt
 
|tgz
 
|torrent
 
|txt
 
|wav
 
|wmv
 
|xls
 
|xla
 
|xlc
 
|xlm
 
|-
 
|xls
 
|xlt
 
|xlw
 
|zip
 
|
 
|
 
|
 
|
 
|
 
|
 
|}
 
  
== "Lump of fun" ==
+
''This is almost community based !! :-)''
  
Everynow and then, a special release of the wii web server will be released that contains a hidden "lump of fun".
+
Cboomf - Main code<br />
Result can be posted on the talk page under "Lump of fun".
+
Felix123 - SD card code<br />
Who will be the first to screendump it, evidence must be a full screendump or it will be discounted.
+
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 />
  
The first - "find the sucking lump of fun"
+
Twiizers - starting the ball rolling
 
 
[http://downloads.sourceforge.net/wiiwebserver/hl203a.elf?use_mirror=kent alpha v0.3a]
 
 
 
== Credits ==
 
 
 
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>
 
  
Twiizers - starting the ball rolling
+
[[Category:Homebrew using libfat]]

Latest revision as of 08:06, 24 November 2010

Wii Web Server
Lines WiiWebServer.png
General
Author(s)Cboomf
TypeUtility
Versionalpha 1.20
Links
Download
Website
Source
Downloadable via the Homebrew Browser
Peripherals
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

HBC

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

README

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

Quitting

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)
  • port.txt containing the custom port number
  • 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
  • port.txt - defaults to port 80
  • 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/

If, for example, your file is usb://data/web/index.html, then the link to it is /usb/index.html,
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

HELP WANTED

I am in need of help in order to advance the wii web server to alpha v1.5 +
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

Future

Version Changes %
alpha v1.50 ? gui 0%

Changelog

Version Changes
alpha v1.40 Fixed some rfc issues

Now long multi-packet requests can be made
Now sends a Last-Modified
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

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

alpha v1.20 Vast speed improvements (no more sleeping)

Compiled against libogc v1.8.1 and devkitppc r19 etc
Stability issues fixed
Restuctured faster code
Re-coded in c++
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)

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

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

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

alpha v0.93 Less junk

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

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

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

alpha v0.9

wiiweb.xml v rc1

Recompiled for HBC 9 beta

Now has a sane download name

alpha v0.82

wiiweb.xml v rc1

New stipped down wiiweb.xml

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

alpha v0.81

wiiweb.xml v b3

Uses new wiiweb.xml which causes less crashes

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

alpha v0.8

wiiweb.xml v b2

Added threading support and management

SD code tweaks

alpha v0.77

wiiweb.xml v b2

Added custom 404 error page

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

alpha v0.76

wiiweb.xml v b1

Added the option of a custom password to shut

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

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

Minor speed improvements
Date and time in the header

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

Slightly shortened the time it takes to be ready after each request
Bugfixes

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

Bug Status How Fixed Priority

Credits

This is almost community based !! :-)

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

Twiizers - starting the ball rolling