In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "Wii Web Server"

From WiiBrew
Jump to navigation Jump to search
m (Reverted edits by IMacros (Talk) to last version by Cboomf)
Line 1: Line 1:
これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック
+
{{Infobox homebrewapp
 +
| image      = [[Image:wiiwebserverhbb.png]]
 +
| title      = Wii Web Server
 +
| desc        = A web server running on Wii
 +
| type        = Server
 +
| author      = Cboomf, Felix123
 +
| download    = [https://sourceforge.net/projects/wiiwebserver/ Project Page]
 +
| peripherals = {{Wiimote1}}{{Nunchuck}}{{WiFi}}{{Internet}}{{FrontSD}}{{GCNController}}{{USBMSD}}{{USBKeyboard}}{{LesPaul}}
 +
| hbc        = 1
 +
| hbb        = 1
 +
}}
  
=これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック=
+
Dev time: 82 Hours
==これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック==
 
===これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック===
 
これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック
 
====これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック=====
 
  
これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック
+
== HBC ==
  
[[これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック]]
+
{| class="wikitable" style="margin: 1em auto 1em auto"
 +
! Icon || Designer
 +
|-
 +
|[[Image:WiiWeb.png]]
 +
|[[user:Seandgibbonsy|Twilt]]
 +
|-
 +
|[[Image:Icon_WebServer.png]]
 +
|Vibestar
 +
|-
 +
|[[Image:Lines_WiiWebServer.png]]
 +
|Lines
 +
|}
  
[これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック]
+
[http://pastebin.ch/281 meta.xml Example]
 +
 
 +
[[Image: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 ===
 +
 
 +
To quit, press home on the wiimote.<br>
 +
press yellow fret on quitar.<br>
 +
press menu on gc controller.<br>
 +
press c on nunchuk connected to wiimote 1.<br>
 +
press home on classic controller.<br>
 +
 
 +
=== wiiweb.xml  for version alpha v0.81 - alpha v0.90 ===
 +
 
 +
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 - alpha v0.90, in the xml (link below) a custom error page can be specified by
 +
<pre>
 +
<?xml version="1.0"?>
 +
<settings
 +
404="/four04.html"
 +
500="/five00.html"
 +
>
 +
</settings>
 +
</pre>
 +
If no file is needed just put "nofile" in the place of the file path
 +
 
 +
=== 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
 +
 
 +
== HELP WANTED ==
 +
 
 +
I am in need of help in order to advance the wii web server to alpha v1.0<br>
 +
A list of things that i need help with are below :
 +
* Fixing undone things in the bugs section
 +
* A decent graphical front-end
 +
* A decent index-page that is automatically generated if no index.html or index.htm can be found
 +
* More file type support
 +
 
 +
=== How to submit ===
 +
 
 +
Because i use windblows, i am unable to use .patch files, so instead, a source file like below should be sent to me at the address listed in the bugs section, or by posting it here. '''It MUST be in C'''<br>
 +
<source lang="c">
 +
/**
 +
Name (to be put in the credits)
 +
What lines the fix applies to
 +
Any notes
 +
**/
 +
 
 +
// Start line number
 +
 
 +
Fixed code
 +
 
 +
// End line number
 +
</source>
 +
 
 +
=== Note ===
 +
 
 +
When included in the source you will be credited on your user talk page (if exists) and the /** **/ section will be included in the source file
 +
 
 +
= Changelog =
 +
 
 +
{| class="wikitable" style="margin: 1em auto 1em auto" border="1"
 +
! Version || Changes
 +
|-
 +
|alpha v0.93
 +
|?? Can now exit via usb keyboard escape key using libwiikeyboard ??<br>
 +
Directories don't need a / at the end of them<br>
 +
Less junk<br>
 +
More options of quitting to allow for more hardware choices
 +
|-
 +
|[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>
 +
[http://downloads.sourceforge.net/wiiwebserver/wiiwebr1.xml?use_mirror=osdn 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>
 +
[http://downloads.sourceforge.net/wiiwebserver/wiiwebr1.xml?use_mirror=osdn 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>
 +
[http://downloads.sourceforge.net/wiiwebserver/wiiwebb3.xml?use_mirror=osdn 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
 +
|-
 +
|[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]
 +
|Added threading support and management<br>
 +
SD code tweaks
 +
|-
 +
|[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]
 +
|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
 +
|-
 +
|[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]
 +
|Added the option of a custom password to shut<br>
 +
the server remotely using //quit?password (see README)<br>
 +
Removed /img (old)
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2075.elf?use_mirror=osdn alpha v0.75]
 +
|Removed /tux and /yak.jpg (old and deprecated)<br>
 +
Minor speed improvements<br>
 +
Date and time in the header<br>
 +
|-
 +
|[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>
 +
Slightly shortened the time it takes to be ready after each request<br>
 +
Bugfixes
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2073.elf?use_mirror=osdn 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
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2072.elf?use_mirror=osdn alpha v0.72]
 +
|Bugfixes
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2071.elf?use_mirror=osdn alpha v0.71]
 +
|Adds .wmv support<br>
 +
Added error 500 for server errors
 +
|-
 +
|[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>
 +
Will now serve a "404 Page not found" page
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2062.elf?use_mirror=osdn alpha v0.62]
 +
|Fixed the infinite recursion
 +
|-
 +
|[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>
 +
Smaller code.
 +
|-
 +
|[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>
 +
Ditched GRRLib to make the server smaller in size<br>
 +
Cleaned up the sources
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl205.elf?use_mirror=osdn alpha v0.5]
 +
|Can now load any file type (those listed below) from FrontSD
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl204.elf?use_mirror=osdn alpha v0.4]
 +
|Front SD html only, loading support XD (finally !!)
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2031.elf?use_mirror=osdn alpha v0.31]
 +
|Favicon added
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl203.elf?use_mirror=osdn alpha v0.3]
 +
|Added wiimote support<br>
 +
Added image support<br>
 +
Added /img image test link
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2024b.elf?use_mirror=osdn alpha v0.24b]
 +
|Bug fixes for 0.24a<br>
 +
//a is now back to /a, but //quit is still there for other reasons
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2024a.elf?use_mirror=osdn alpha v0.24a]
 +
|Fixed the main page hyperlink to //a
 +
|-
 +
|[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>
 +
Request parser rewritten, now quicker and more streamlined
 +
|-
 +
|[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>
 +
Quitting the server is from a server path of "/quit"
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2022.elf?use_mirror=osdn alpha v0.22]
 +
|Handles links
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2021.elf?use_mirror=osdn alpha v0.21]
 +
|Now detects the HTTP/1.x version as requested by the browser
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl202.elf?use_mirror=osdn alpha v0.2]
 +
|Now serves a built in test page<br>
 +
No longer needs telnet<br>
 +
Forced use of HTTP/1.1
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2011.elf?use_mirror=osdn alpha v0.11]
 +
|Serves html to telnet (lack of http headers)
 +
Can accept multiple connections (not at once)
 +
|-
 +
|[http://downloads.sourceforge.net/wiiwebserver/hl2.elf?use_mirror=osdn 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 =
 +
 
 +
If anyone has an idea or a fix then a patch (not in a .patch file) could be submitted to me by any means !!!<br>
 +
Preferebly @ [mailto:luke.bridges@gmail.com luke dot bridges at gmail dot com]
 +
 
 +
{| class="wikitable sortable" style="margin: 1em auto 1em auto"
 +
! Bug || Status || How Fixed || Priority
 +
|-
 +
| Directories without an ending / is not redirected to <br>
 +
the same url, but with a slash
 +
| {{no|Waiting}}
 +
|
 +
| bgcolor="orange"| Medium
 +
|-
 +
|}
 +
 
 +
= File types =
 +
 
 +
The following file types have proper mime types associated with them.
 +
 
 +
URL of the header file containing the file extensions supported :
 +
[http://wiiwebserver.cvs.sourceforge.net/viewvc/*checkout*/wiiwebserver/main/source/mimes.h http://wiiwebserver.cvs.sourceforge.net/viewvc/*checkout*/wiiwebserver/main/source/mimes.h]
 +
 
 +
= Credits =
 +
 
 +
''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>
 +
 
 +
Twiizers - starting the ball rolling
 +
 
 +
[[Category:Homebrew using libfat]]

Revision as of 18:43, 5 March 2009

Wii Web Server
File:Wiiwebserverhbb.png
General
Author(s)Cboomf, Felix123
TypeServer
Links
[[Project Page|Download]]
Peripherals
Wiimote1.svgNunchuck alternative.svgLocal WiFiInternetLoads files from the Front SD slotGameCube ControllerUSB mass storage deviceUSB KeyboardLes Paul Controller

Dev time: 82 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

To quit, press home on the wiimote.
press yellow fret on quitar.
press menu on gc controller.
press c on nunchuk connected to wiimote 1.
press home on classic controller.

wiiweb.xml for version alpha v0.81 - alpha v0.90

If no wiiweb.xml is found then the old method of using the wiimote can still be used.

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 - alpha v0.90, in the xml (link below) a custom error page can be specified by

<?xml version="1.0"?>
<settings
404="/four04.html"
500="/five00.html"
>
</settings>

If no file is needed just put "nofile" in the place of the file path

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.0
A list of things that i need help with are below :

  • Fixing undone things in the bugs section
  • A decent graphical front-end
  • A decent index-page that is automatically generated if no index.html or index.htm can be found
  • More file type support

How to submit

Because i use windblows, i am unable to use .patch files, so instead, a source file like below should be sent to me at the address listed in the bugs section, or by posting it here. It MUST be in C

/** 
Name (to be put in the credits)
What lines the fix applies to
Any notes
**/

// Start line number

Fixed code

// End line number

Note

When included in the source you will be credited on your user talk page (if exists) and the /** **/ section will be included in the source file

Changelog

Version Changes
alpha v0.93 ?? Can now exit via usb keyboard escape key using libwiikeyboard ??

Directories don't need a / at the end of them
Less junk
More options of quitting to allow for more hardware choices

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

If anyone has an idea or a fix then a patch (not in a .patch file) could be submitted to me by any means !!!
Preferebly @ luke dot bridges at gmail dot com

Bug Status How Fixed Priority
Directories without an ending / is not redirected to

the same url, but with a slash

Waiting Medium

File types

The following file types have proper mime types associated with them.

URL of the header file containing the file extensions supported : http://wiiwebserver.cvs.sourceforge.net/viewvc/*checkout*/wiiwebserver/main/source/mimes.h

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

Twiizers - starting the ball rolling