Im Online Modus:
Im Offline Modus:
Automatischer Download
Funktionen:
Allgemeines:
localhost
sein, außer Sie benutzen WWWOFFLE in einem
lokalen Netzwerk mit mehreren Rechnern. Die Portnummer wird, außer Sie
haben die Standardeinstellungen verändert, 8080 sein.
Automatische Konfiguration (Netscape ab Version 2.0):
Sie haben es einfach :-) In den Proxy-Einstellungen von Netscape einfach
auf "Automatische Konfiguration" klicken und
http://localhost:8080/wwwoffle.pac
in die Eingabezeile eingeben.
Manuelle Konfiguration:
localhost
als Rechner und 8080
als Port
(oder je nach dem wie Ihr Netzwerk aussieht) eingeben.
setenv http_proxy http://localhost:8080/
(bei
C-Shells) oder export http_proxy http://localhost:8080/
(bei
Bourne Shells). Genauso verfahren Sie mit ftp_proxy
.
Manche Browser besitzen außerdem zwei Varianten, eine Seite erneut zu laden: eine stellt nur die Seite neu dar, bzw. stellt sicher, daß alles komplett da ist, die andere Variante zwingt auch sämtliche zwischen Quelle und Ihnen liegenden 'Agents' (also z.B. Proxies), die Seite(n) neu anzufordern. Bei der Benutzung von WWWOFFLE ist die letzte Option sinnvoll. (Anm.d.Übers.: Bei Netscape soll das gehen, indem man die SHIFT Taste gedrückt hält, während man auf den "Reload" Knopf drückt).
Die wichtigste Informationsquelle für WWWOFFLE-Benutzer ist die Homepage bei http://www.gedanken.org.uk/software/wwwoffle.
wwwoffle
Kommandozeilenprogramm enthalten.
Um zum Beispiel eine bestimmte URL jeden Sonntag morgen zu holen, geben Sie folgendes ein:
Month of year : all Day of Month : all Day of Week : Sunday Hour of Day : 0 (24 hour clock)
wwwoffle
.
Ebenfalls gibt es eine Möglichkeit, Seiten aus dem Cache oder aus der
Bestellliste zu löschen.
Hier gibt es ebenfalls eine Seite, um die Konfigurationsdatei von WWWOFFLE zu bearbeiten. Die Kommentare aus der Datei werden mit angezeigt, so daß man die entsprechende Referenz gleich zur Hand hat.
ht://Dig
(Version 3.08 oder neuer)
installiert haben (Sie bekommen es bei http://htdig.sdsu.edu/), können Sie damit
eine Such-Datenbank aus dem WWWOFFLE Cache aufbauen, und diese
schnell durchsuchen. Die Seite http://localhost:8080/search/htdig/
liefert dafür das entsprechende Suchformular. Nähere Informationen, wie man
WWWOFFLE und ht://Dig
zur Zusammenarbeit bringt,
liefert die Datei README.htdig
.
http://localhost:8080/local/
auf dem WWWOFFLE Rechner zeigen, werden von WWWOFFLE aus dem
Verzeichnis /html/local/
bedient. Es ist hiermit möglich,
einen trivialen Web-Server aufzubauen (keine CGIs, keine Skripte, keine
Spielereien) für kleine interne Web-Seiten. Die MIME-Types (für die
HTTP-Kommunikation zwischen Server und Browser) werden der
Konfigurationsdatei entnommen.
Achtung: Der Web-Server folgt symbolischen Links im Dateisystem, liefert aber nur Dateien, die auf dem System sowieso jeder lesen könnte. Siehe auch das Kapitel zur Sicherheit in der FAQ. |
Jeder kann auf jeden Fall seine eigenen Bestellungen sofort nach deren Aufgabe löschen (falls man sich schnell umentschieden hat :), indem er auf den "Löschen" Knopf gleich nach der Bestätigungsmeldung von WWWOFFLE klickt. Diese Funktion beinhaltet ein Einweg-Kennwort.
Diese Funktion ist für den Benutzer nicht mehr und nicht weniger transparent als die Fehlermeldung vom Server selbst, genauso viel oder wenig Benutzereingriffe sind also notwendig wie ohne Proxy.
Sollte der erste Prozeß die Datei nicht innerhalb einer bestimmten Zeit freigeben, wird der zweite Prozeß eine entsprechende Fehlermeldung an Ihren Browser weiterleiten.
http/www.gedanken.org.uk/
).
In jedem dieser Verzeichnisse sind für jede Seite zwei Dateien: eine beginnt mit 'D' und enthält die Daten, die andere beginnt mit 'U' und enthält die URL. Die Namen sind ansonsten identisch (wenn auch kryptisch, Anm.d.Übers. ;).
Das Verzeichnis mit den Bestellungen ("outgoing") enthält auch wieder zwei Dateien pro Bestellung, beginnend mit jeweils 'O' für die eigentliche Bestellung und 'U' für die URL.
Das "lasttime" Verzeichnis (die letzten geholten Seiten, s.o.) enthält einen Link zur wirklichen Datei, der mit 'D' beginnt, und eine Datei beginnend mit 'U', die die URL enthält.
Falls eines der "Rechnernamen"-Verzeichnisse ein symbolischer Link in ein anderes Verzeichnis innerhalb des WWWOFFLE-Baumes ist, dann werden die beiden Rechner als gegenseitige Spiegel ("mirrors") betrachtet, i.e. was sich in dem einen ändert, ändert sich auch in dem anderen, und es ist egal, welche Adresse man in seinem Browser aufruft.
wwwoffles
und wwwoffled
sind
seit Version 1.1 zu einem Programm zusammengeschmolzen, dies erleichtert
die Wartung des Servers und ist für spätere Erweiterungen besser gerüstet.
Die Konfigurationsdatei wwwoffle.conf
enthält alle
Einstellungen, die festlegen wie die ganze WWWOFFLE-Programmsuite
sich der Außenwelt gegenüber verhalten soll.
wwwoffle
stellt die Schnittstelle zum
'browser-losen' Benutzer ;) dar, und wird zum Festlegen der Betriebsmodi
(online, offline, autodial) benutzt, damit der Server weiß, wann und wie er
auf welche Anfragen reagieren muß/darf.
wwwoffle -online |
Den WWWOFFLE Daemon in den 'online' Modus schalten. |
wwwoffle -autodial |
Den WWWOFFLE Daemon in den 'autodial' Modus schalten. |
wwwoffle -offline |
Den WWWOFFLE Daemon in den 'offline' Modus schalten. |
wwwoffle -fetch |
Den WWWOFFLE Daemon dazu bringen, bestellte/abonnierte Seiten zu holen.
Dies funktioniert nur, wenn vorher wwwoffle -online
ausgeführt wurde! |
wwwoffle -config |
Den WWWOFFLE Daemon die Konfigurationsdatei neu einlesen lassen. |
wwwoffle -purge |
Den WWWOFFLE Daemon zum Aufräumen des Caches veranlassen, d.h. es werden alle Seiten, die älter sind als die in der Konfigurationsdatei angegebenen Werte, gelöscht. |
wwwoffle -kill |
Den WWWOFFLE Daemon dazu bringen, sämtliche Unterprozesse zu beenden und sich dann sauber zu beenden. Falls einige Prozesse noch am Herunterladen sind, kann dies etwas dauern. |
Man kann mit wwwoffle
allerdings auch Aufträge an den Daemon
weitergeben:
wwwoffle <URL> |
WWWOFFLE holt die angegebenen URLs sofort (wenn 'online'), ansonsten werden sie bestellt. |
wwwoffle <DATEI.html> |
WWWOFFLE liest die angegebene HTML Datei ein und behandelt dort enthaltene Links als Bestellungen. |
wwwoffle -F <URL> |
WWWOFFLE wird gezwungen die URL neu zu laden, auch wenn sie schon vorhanden ist. |
wwwoffle -g[Sisfo] |
WWWOFFLE wird die heruntergeladene(n) Seite(n) auf Stylesheets("s"), Bilder (Images, "i"), Skripts ("s") und Frames ("f") untersuchen und diese ggf. auch mit herunterladen. |
wwwoffle -r[X] |
WWWOFFLE wird die angegebene Seite X-fach rekursiv holen, d.h. auch Links auf der heruntergeladenen Seite werden verfolgt. Hier bleibt WWWOFFLE jedoch auf dem gleichen Server. |
wwwoffle -R[X] |
Hier nicht mehr! (Vorsicht, Rekursionstiefen über 3 sind selten sinnvoll!) [Anm.d.Übers.] |
wwwoffle -d[X] |
Diese Option ist noch einschränkender als die vorherige, hier werden nur Verweise berücksichtigt, deren Ziele im gleichen Verzeichnis (oder innerhalb Unterverzeichnissen) liegen. |
wwwoffle
erlaubt es einem auch, selektiv Dateien aus dem Cache
zu extrahieren, ohne die Verzeichnisstruktur durchwühlen zu müssen:
wwwoffle -o <URL> |
WWWOFFLE holt die entsprechende URL aus dem Cache und gibt sie auf der Standardausgabe (STDOUT) aus. |
wwwoffle -O <URL> |
WWWOFFLE holt die entsprechende URL und gibt sie inklusive der HTTP Headerzeilen auf der Standardausgabe aus. |
Der wichtigste Modus von wwwoffle
ist natürlich folgender:
wwwoffle -h |
WWWOFFLE gibt eine Zusammenfassung der verfügbaren Optionen aus. |
An sämtliche der oben angegebenen Optionen kann noch folgendes angehängt werden:
-c <configfile> |
Die Konfigurationsdatei explizit angeben. Dies wird benötigt, wenn Sie WWWOFFLE mit einem Kennwort geschützt haben!. |
-p <host>[<port>] |
Den Port, auf dem der WWWOFFLE Server auf Steuernachrichten bzw. Proxybefehle horcht, explizit angeben. |
$WWWOFFLE_PROXY |
Eine Umgebungsvariable, die den WWWOFFLE Hostnamen/Port beinhaltet. Die
Syntax für die Variable ist ähnlich wie in der Kommandozeile, es können
hier aber beide Ports angegeben werden, z.B.:
WWWOFFLE_PROXY="localhost:8080:8081" |
wwwoffled
fungiert als HTTP Proxy und akzeptiert
nebenbei Steuerbefehle von wwwoffle
. Er verwaltet und
koordiniert die verschiedenen Modi von WWWOFFLE (online, offline,
etc) und die Parameter in der Konfigurationsdatei und startet bei HTTP
Proxy Anfragen Serverprozesse (via 'fork'), die die angeforderten Daten
holen (das ist der oben angesprochene wwwoffles
Teil). Der
Server kann sich u.U. auch selbst 'fork'en.
wwwoffled -c <configfile> |
Startet den HTTP Proxy mit der angegebenen Konfigurationsdatei. |
wwwoffled -d [X] |
Startet den HTTP Proxy im DEBUG Modus: Er läuft nicht im Hintergrund,
sondern gibt je nach Debugging-Level 'X' (0 bis 5) auf dem Terminal, auf
dem er gestartet wurde, mehr oder weniger Status- und Fehlermeldungen
aus. Falls nicht angegeben, wird der Wert aus log-level aus
der Konfigurationsdatei benutzt. |
-h |
Gibt eine kurze Erklärung der Kommandozeilenoptionen aus. |
Es gibt eine Anzahl von Status- und Fehlermeldungen, die während des
Betriebes von WWWOFFLE generiert werden können. Standardmäßig werden
diese an den syslog
Dienst weitergeleitet, mit dem
-d
Parameter werden sie zusätzlich auf dem Terminal angezeigt,
auf dem wwwoffled
gestartet wurde.
Mit den Optionen run-uid / run-gid
aus der Konfigurationsdatei
ist es möglich, wwwoffled
als ganz bestimmten Benutzer laufen
zu lassen. Dies erfordert allerdings, daß das Programm von root
gestartet wurde (sonst kann es nicht seine eigenen Benutzerrechte anpassen)
und daß der "Zielbenutzer" sämtliche Rechte im Spool-Verzeichnis hat.
Real Mode | Der normale Betrieb. Das System ist online, agiert als Proxy für einen
Browser (pro wwwoffles -Prozeß). Jede Anfrage nach einer URL
erzeugt einen neuen Server, der diese Anfrage an den Zielhost weiterleitet,
die Seite abholt, sie an den Browser schickt und zusätzlich im Spool-
Verzeichnis ablegt. Existiert diese Seite schon im Spool-Verzeichnis,
wird der Zielhost vorher gefragt, ob eine neuere Version existiert, sonst
wird einfach die Seite aus dem Cache benutzt. |
SpoolOrReal Mode | Der 'autodial'-Betrieb. Hier wird erst bei einer Anfrage entschieden, ob diese sofort aus dem Cache (ohne jeden Verbindungsaufbau nach außen) bedient wird oder ob eine Verbindung aufgebaut wird, wenn diese Seite nicht existiert. |
Spool Mode | Das System ist offline, es existiert keine Verbindung nach außen und es wird auch keine aufgebaut. Die angeforderte Seite wird entweder aus dem Cache bedient, oder es wird eine 'Dummy-Seite' geliefert, mit der der Benutzer (je nach Konfiguration) die angeforderte Seite ggf. bestellen kann. Falls die Seite im Cache eine Fehlermeldung war (z.B. ein fehlgeschlagener Download), wird sie hiernach gelöscht, so daß eine erneute Anfrage ggf. einen weiteren Downloadversuch starten kann. |
Fetch Mode | Es werden bestellte und abonnierte Seiten nach Bedarf aus den entsprechenden Verzeichnissen heruntergeladen. Diese Seiten werden im Cache gespeichert, kein Browser bekommt sie (vorerst) zu sehen. |
Zusätzlich gibt es noch die folgenden Modi, die primär davon abhängen, ob angeforderte Dateien im Spool existieren oder nicht.
RealNoCache Mode | Es werden Seiten geholt, aber nicht im Spool gespeichert. Siehe
DontCache Abschnitt in der Konfigurationsdatei. |
RealRefresh Mode | Eine Seite wird noch einmal heruntergeladen, obwohl sie schon im Cache existiert. Diese Funktion wird von der "Aktualisieren"-Funktion am Fuß jeder HTML-Seite benutzt. |
RealPassword Mode | Wird benutzt, wenn ein Kennwort angegeben wurde, und zwei Exemplare der Seite benötigt werden, eine mit und eine ohne Kennwort. |
SpoolGet Mode | Wenn eine Seite nicht im Cache existiert, angefordert wurde und sie in die Bestellliste eingetragen werden muß. |
SpoolWillGet Mode | Wenn eine Seite nicht im Cache existiert, angefordert wurde, sie aber schon in der Bestellliste eingetragen wurde. |
SpoolRefresh Mode | Wenn die "Aktualisieren"-Funktion am Fuß einer HTML-Seite benutzt wurde, aber WWWOFFLE nicht 'online' ist, wird eine Bestellung gespeichert und die momentane Version der Seite aber beibehalten. |
SpoolPragma Mode | Wenn ein Browser die Seite mittels "Pragma: no-cache"
aktualisieren will. Die momentane Seite wird behalten und eine Bestellung
wird gespeichert. |
wwwoffle-rm |
URLs aus dem Cache löschen. Allerdings ist dies nur für einzelne URLs gut -- um einen ganzen Host zu löschen, kann man auch direkt das Verzeichnis aus dem Cache löschen, das stört WWWOFFLE überhaupt nicht. (Oder einen Browser benutzen.) |
wwwoffle-mv |
URLs im Cache verschieben. Da die URL selbst in den 'kryptischen' Namen
der Dateien im Cache enthalten ist, wird man mit 'mv' nicht
weit kommen. Stattdessen benutze man bitte 'wwwoffle-mv' .
|
wwwoffle-ls |
Den Cache-Inhalt anzeigen, im Stil von 'ls -l' . |
wwwoffle-write |
Eine URL direkt in den Cache schreiben. Achtung: es wird ein korrekter
HTTP-Header benötigt, sonst kommen viele Browser durcheinander! z.B:
( echo "HTTP/1.0 200 OK" ; echo "" ; cat bar.html ) | \ wwwoffle-write http://www.foo.com/bar.html |
'audit-usage.pl'
analysiert die Logdateien des
wwwoffled
Servers und kann bei entsprechend hohem Loglevel
(mindestens 4) genaue Informationen herausfiltern, wer wann welche URL über
den Proxy angefordert hat. (mit "Wer" ist hier "welcher Rechner" gemeint.)
wwwoffled -c /etc/wwwoffle/wwwoffle.conf -d 4 >> /tmp/audit.log &liefert die Datei
audit.log
, welche dann von
audit-usage.pl
ausgewertet werden kann.
testprogs
befinden sich zwei kleine
Testprogramme, die bei Bedarf kompiliert werden können. Sie werden für den
normalen Betrieb nicht benötigt, aber falls Sie WWWOFFLE
weitergehend anpassen möchten oder den HTML Parser für die automatisch
generierten Seiten überprüfen, dann könnten sie nützlich sein.
Diese sind allerdings noch viel mehr 'dirty hacks' als die "wwwoffle-tools", also benutzen Sie sie auf eigene Gefahr!
The two programs wwwoffle and wwwoffled were written by Andrew M. Bishop in
1996,97,98 and are copyright Andrew M. Bishop 1996,97,98.
The programs update-cache, endian-cache and the programs known as wwwoffle-tools were written by Andrew M. Bishop in 1997,98 and are copyright Andrew M. Bishop 1997,98. The Perl scripts update-config.pl and audit-usage.pl were written by Andrew M. Bishop in 1998 and are copyright Andrew M. Bishop 1998. They can be freely distributed according to the terms of the GNU General Public License (see the file `COPYING'). The htdig package is copyright Andrew Scherpbier <andrew@contigo.com>. The icons in the html/htdig directory come from htdig as do the html/htdig/search.html and html/htdig/conf/htsearch.conf files with modifications by myself.
With Source Code contributions from: Yannick Versley <sa6z225@public.uni-hamburg.de> Initial syslog code (much rewritten before inclusion). Axel Rasmus Wienberg <2wienbe@informatik.uni-hamburg.de> Code to run wwwoffled as a specified uid/gid. Andreas Dietrich <quasi@baccus.franken.de> Code to detach the program from the terminal like a *real* demon. Ullrich von Bassewitz <uz@wuschel.ibb.schwaben.com> Better handling of signals. Optimisation of the file handling in the outgoing directory. The log-level, max-servers and max-fetch-servers config options. Tilman Bohn <tb@bohn.isdn.uni-heidelberg.de> Autodial mode. Walter Pfannenmueller <pfn@online.de> Fetching objects (applets) |