WebZwerg V 0.3

Der WebZwerg ist ein einfach zu konfigurierender, minimalistischer HTTP- Server. Der WebZwerg ist - obwohl erlaubt - nicht für öffentlichen oder ge­werb­lichen Einsatz geeignet. (Download 45 kB: WebZwerg.zip.)

Größter und wichtigster Vorteil des WebZwergs ist, dass er einfach zu kon­fi­gurieren ist. Wer's ganz einfach haben will, legt WebZwerg.exe in das Ver­zeich­nis, aus dem der HTTP-Server die Dateien lesen soll. Wird WebZwerg dann mit einem simplen Doppelklick gestartet läuft der HTTP-Server auto­ma­tisch auf Port 80, und alles sollte flutschen.

Mit ein paar HTML-Dateien wird dem Smart-TV oder anderen HTML5-Brow­sern auf einfache Weise die MP3-Sammlung zugänglich gemacht. Wie so was in HTML5 geht, zeigt z. B. Der Audio Player, der als Beispiel Mp3- und Ogg-Dat­ei­en von Archive.org über HTML5-Browser abspielt, aber auch mit lokalen Mp3-Datein ganz wunderbar funktioniert. Der HTML5 Audio Player lie­fert ein zweites Beispiel.

    Inhalt
    ▪ Ein paar Worte zur Sicherheit
    ▪ WebZwerg konfigurieren
    ▪ WebZwerg läuft...
    ▪ Browser-Adresszeile ausfüllen
    ▪ Die Web-Seiten planen
    ▪ Sonstiges

Ein paar Worte zur Sicherheit 

Beim ersten Start von WebZwerg meldet sich die Windows-Firewall (bzw. ei­ne andere Personal Firewall) und fragt, ob es WebZwerg weiterhin blockieren soll, ob es WebZwerg nicht mehr blockieren soll oder ob später erneut nach­gefragt werden soll. Wenn Sie Webzwerg nicht dauerhaft ein­set­zen wollen, genügt es, erneut nachfragen zu lassen.

Falls Sie WebZwerg versehentlich blockiert haben, können Sie bei einem neuerlichen Start die Blockade aufheben.

Stellen Sie auf jeden Fall sicher, dass WebZwerg, wenn Sie ihn starten, auf keine sensiblen Daten Zugriff hat. Sensible Daten wären z. B. persönliche Fo­tos, Texte, Einkommenssteuererklärungen, Tagebücher, geniale Erfin­dungen (die aber das Potential hätten, die Welt zu zerstören) usw.

Gut wäre, wenn Ihr DSL-Modem eine zusätzliche Firewall hätte, die Zugriffe von außen auto­matisch abblockt. Die meisten DSL-Modems tun das im Auslieferungs­zustand - sicher ist das aber nicht.

Und zum guten Schluss: Setzen Sie den Parameter -screen nur dann ein wenn Sie die Funktion auch wirklich nutzen. Mehr dazu im folgenden Abschnitt.

WebZwerg konfigurieren 

Die Konfiguration wird dem WebZwerg beim Programmstart per Aufruf­pa­ra­meter auf den Weg gegeben.

Optionale Parameter stehen in eckigen Klammern [ ].

Aufruf: WebZwerg [-root Verzeichnis] [-port Zahl] [-file-off] [-screen] [-help]

-root Verzeichnis
Verzeichnis sagt dem WebZwerg, aus welchem Verzeichnis er die Da­tei­en holen soll, wenn ihn eine Anforderung eines Browsers erreicht. Zwei Beispiele für Verzeichnis-Parameter:
1. C:\Musik
2. "C:\Dokumente und Einstellungen\Standard\Eigene Dateien\Eigene Musik"
Wichtig: Wenn der Verzeichnispfad Leerstellen enthält, muss die ganze Verzeichnisangabe in Anführungszeichen eingeschlossen werden.
Tipp: Wenn -root Verzeichnis nicht angegeben wird, nimmt der Web­Zwerg die Dateien aus dem Verzeichnis, aus dem WebZwerg.exe ge­startet wurde.
-port Zahl
Mit Zahl kann der Port des HTTP-Servers eingestellt werden.
Tipp: Wenn -port Zahl nicht angegeben wird, läuft der WebZwerg automatisch auf Port 80. Das ist HTTP-Standard. Jeder Browser redet HTTP-Server im Normalbetrieb auf Port 80 an.
-file-off
Schaltet den Datei-Server aus. WebZwerg liest keine Dateien.
-screen
Schaltet den Screen-Copy-Server ein. WebZwerg versendet auf Anfrage Bild­schirm­fotos.
-help
Zeigt eine kurze Online-Hilfe an.

WebZwerg läuft... 

Nach dem Start von WebZwerg zeigt er ein einfaches Dialogfenster mit einer Liste an.

Jeder Listeneintrag beginnt mit Datum und Uhrzeit. Dann folgt die eigentliche Meldung.

In der ersten Zeile der Liste steht hinter Datum und Uhrzeit:
• der Windows-Name des Computer (kann nicht im Browser genutzt werden)
• seine (erste) IP-Adresse
• der Port, auf dem WebZwerg Anfragen erwartet,
• der Betriebsmodus des Screen-Servers (on/off) und
• das Root-Verzeichnis, aus dem eingehende Dateianfragen bedient werden, bzw. file-off, wenn beim Programmstart der Parameter -file-off gesetzt war.

Browser-Adresszeile ausfüllen 

Es ist besonders lästig bei Smart-TVs, aber leider muss die IP-Adresse des Computers, auf dem WebZwerg läuft, händisch eingetragen werden.

Dieses Beispiel würde die Datei index.htm liefern:
http://192.168.2.10
Dieses Beispiel würde die Datei default.htm liefern:
http://192.168.2.5/default.htm
Dieses Beispiel würde die Datei 60er/Hits.html liefern:
http://192.168.2.103/60er/Hits.html

Damit die obigen Adressbeispiele funktionieren können, müssen die IP-Ad­res­sen durch jene IP-Adresse ersetzt werden, die WebZweg nach dem Start in einer seiner ersten Zeilen meldet. Beispiel: 2012-01-11 20:36:36 r5t1 ip: 192.168.2.10 port: 80 screen: off root: C:\Musik
Hier wäre also Rrfolg versprechend: http://192.168.2.10

Zum Testen, ob WebZwerg überhaupt HTTP-Anfragen beantwortet, kann auf dem gleichen Computer, auf dem auch WebZwerg läuft, ein Browser mit fol­gen­der Eingabe beschickt werden: http://127.0.0.1

Bei http://127.0.0.1 sollte wenigstens eine neue Zeile in WebZwergs Dia­log-Lis­te erscheinen. Im Browser-Fenster sollte der Inhalt von index.htm angezeigt werden bzw. eine Fehlermeldung oder was Entsprechendes.

Die Web-Seiten planen 

Die Standard-Einstiegsseite ist index.htm. Das ermöglicht, dass der Surfer nur z. B. http://192.168.2.1 in das Browser-Adressfeld eingeben muss, und der Pfad von WebZwerg automatisch auf http://192.168.2.1/index.htm erweitert wird.

In index.htm können dann die Links zu den HTML-Seiten stehen, die für das surfende Publikum eigentlich interessant sind.

Die meisten wissen das, aber...

Wichtig ist, dass bei Links, die ins lokale Dateisystem weisen, relative Pfade benutzt werden. Alles andere funktioniert nicht.

Lokale Daten sind nur zugänglich, wenn sie innerhalb des Root-Verzeichnisses von WebZwerg liegen oder einem Unterverzeichnis.

Pfade zu Dateien ins Internet schreibt man inklusive Protokollangabe:
http://www.archive.org/download/freemusiccharts2007top10Juni/uriko-questions.mp3

Ansonsten liefert das Projekt Selfhtml meist gute Tipps für viele Fragen rund um HTML.

Sonstiges 

Anforderungen

WebZwerg läuft ab Windows XP.

HTTP-Kommandos

Unterstützte HTTP-Kommandos sind GET und HEAD.

Screenshots anfordern

Beispiele:

http://127.0.0.1/screen
http://127.0.0.1/screen.jpg
http://127.0.0.1/screen.png
Alle drei Beispiele liefern den gesamten Bildschirminhalt als Bitmapdatei.

http://127.0.0.1/screen0,0-50%,50%.bmp
http://127.0.0.1/screen50%,50%-100%,100%.jpg
http://127.0.0.1/screen25%,25%-75%,75%
Beispiel 1 liefert die linke, obere Ecke der Bildschirmanzeige.
Beispiel 2 liefert die rechte, untere Ecke.
Beispiel 3 liefert die Mitte als Bildschirmfoto.

http://127.0.0.1/screen0,0-100,200
http://127.0.0.1/screen10%,20%-250,150
Beispiel 1 liefert die linke, obere Ecke der Bildschirmanzeige 100 Pixel breit und 200 Pixel hoch.
Beispiel 2 liefert aus dem linken oberen Bereich des Bildschirms eine Bitmapdatei, die 250 Pixel breit und 150 Pixel hoch.

Hinweis: Da die Bildschirmfotos kein generelles Web-Format haben, funktioniert das Kommando eventuell nur auf Windows-Computern.

Kontakt:

Anregung, Kritik und Fehler-Reports bitte per E-Mail an Thilo Brai.

Thilo Brai, 2012