1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688
  
     | 
    
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head> <title>WWWOFFLE ReadME</title> </head>
<body>
<H1 align=center><a name="top">WWWOFFLE Proxy</a></H1>
Der <i>WWWOFFLE</i> Server vereinfacht  und beschleunigt das  Herunterladen
von World Wide Web Seiten auf Computern mit Whlverbindung ins Internet.
<h2><a name="description">Beschreibung</a></h2>
Das Programm <i>wwwoffled</i> ist ein einfacher Proxy-Server mit speziellen
Funktionen  fr  Whlverbindungen.  Unter  anderem  ist  es  mglich,  ohne
stehende Verbindung ins Internet mit   einem beliebigen Browser (von  einem
beliebigen  Rechner)   die  schon einmal heruntergeladenen    Seiten erneut
aufzurufen.
<p>
Im <i>Online</i> Modus:
<ul>
  <li>Smtliche Seiten werden lokal gespeichert und knnen spter erneut aufgerufen werden.
  <li>Seiten, die sich nicht gendert haben, werden nicht geholt (das spart bertragung).
  <li>Seiten, die verschlsselt sind (SSL) werden durchgeschleust, aber nicht gespeichert.
</ul>
<p>
Im <i>Offline</i> Modus:
<ul>
  <li>Seiten, die noch nicht heruntergeladen wurden, knnen bestellt werden.
  <li>Die Bedienung erfolgt aus dem Browser heraus, oder via Kommandozeile.
  <li>Auf jeder Seite gibt es (optional) eine Fuzeile von <i>wwwoffle</i>, die Aktualisieren, Lschen uvm. erlaubt.
  <li>HTML Forms werden untersttzt.
  <li>Ebenfalls werden kennwortgeschtzte Seiten untersttzt (NEU).
  <li>Es kann (optional) bei Bedarf automatisch eine Verbindung hergestellt werden.
</ul>
<p>
Automatischer Download
<ul>
  <li>Seiten knnen interaktiv bestellt werden, das auch rekursiv.
  <li>Bilder in den Seiten werden (optional) automatisch mit geholt.
  <li>Ebenso funktioniert dies mit Frames.
  <li>Seiten, die auf dem Server verschoben wurden, werden automatisch aktualisiert.
  <li>Es knnen Seiten abonniert werden, d.h. sie werden z.B. alle sieben Tage automatisch geholt.
  <li>Jede Seite wird gesichert, so da eine Fehlermeldungsseite vom Server nicht das schon vorhandene, intakte Original berschreibt.
</ul>
<p>
Funktionen:
<ul>
  <li>HTTP, FTP und FINGER Protokolle werden untersttzt.
  <li>Eine Einfhrung mit Information und einen eingebauten Web-Server fr Konfigurationsseiten.
  <li>Verschieden sortierte und organisierte Index-Seiten fr den Cache.
  <li>Interaktive oder Kommandozeilenbedienung fr den Online/Offline-Modus und fr die sonstige Bedienung.
  <li>Seiten knnen auf URL-Basis von Cache gelscht werden.
  <li>Seiten knnen rekursiv bestellt werden (ebenfalls auch per Browser).
  <li>Die Konfigurationsdatei kann aus einem Browser heraus bearbeitet werden.
  <li>Automatische Proxy-Konfiguration fr Netscape.
  <li>Der Index ist komplett durchsuchbar, mit dem (zustzlich zu installierenden) <i>ht://Dig</i> Programm.
</ul>
<p>
Allgemeines:
<ul>
  <li><i>WWWOFFLE</i> kann auf einen oder mehrere externe Proxies zurckgreifen.
  <li>Automatische Proxy-Authentifikation fr diese Proxies (falls notwendig).
  <li>Intranet-Seiten (lokal) sind auch im Offline-Modus noch verfgbar.
  <li><i>WWWOFFLE</i> kann konfiguriert werden, bestimmte URLs nicht zu holen oder nicht zu speichern (beispielsweise *chat.com).
  <li><i>WWWOFFLE</i> kann ausgehende HTTP Daten (User-Agent, Referer, ...) zensieren.
  <li>Smtliche Optionen werden durch eine Konfigurationsdatei kontrolliert.
  <li><i>WWWOFFLE</i> kann durch ein Passwort geschtzt werden.
  <li>Smtliche Meldungen von <i>WWWOFFLE</i> knnen vom Benutzer angepat werden.
</ul>
<h2><a name="browserconf">Web Browser Konfiguration</a></h2>
Damit <i>WWWOFFLE</i> auch benutzt wird, mssen Sie ihren Browser darauf
konfigurieren. Der Name des Proxy-Servers wird in der Regel
<code>localhost</code> sein, auer Sie benutzen <i>WWWOFFLE</i> in einem
lokalen Netzwerk mit mehreren Rechnern. Die Portnummer wird, auer Sie
haben die Standardeinstellungen verndert, 8080 sein. 
<p><b>Automatische Konfiguration (Netscape ab Version 2.0):</b><br> 
Sie haben es einfach :-) In den Proxy-Einstellungen von Netscape einfach
auf "Automatische Konfiguration" klicken und
<code>http://localhost:8080/wwwoffle.pac</code> in die Eingabezeile eingeben.
<p><b>Manuelle Konfiguration:</b><br>
<dl>
<dt>Netscape 1.x</dt> <dd> Im Men "Options/Preferences" einfach bei
"Proxies" <code>localhost</code> als Rechner und <code>8080</code> als Port
(oder je nach dem wie Ihr Netzwerk aussieht) eingeben.
</dd>
<dt>Netscape 2.x und 3.x</dt> <dd>Im Men "Options/Preferences" bei
"Proxies" whlen Sie die manuelle Proxy-Konfiguration und geben wie gehabt
Proxy-Server Namen und Portnummer ein.
</dd>
<dt>Netscape 4.x</dt> <dd>Im Men "Edit/Preferences" whlen Sie den letzten
Menpunkt ("Advanced"), dort dann "Proxies", dort whlen Sie "Manual Proxy
Configuration" und setzen den Namen und die Portnummer in die
entsprechenden Felder (ggf. mehrmals) ein.
</dd>
<dt>Mosaic, Lynx, Arena, Emacs-W3</dt> <dd> Geben sie folgendes vor Start
des Programmes ein (oder schreiben Sie entsprechende Aufrufe in Ihre
Startskripte): <code>setenv http_proxy http://localhost:8080/</code> (bei
C-Shells) oder <code>export http_proxy http://localhost:8080/</code> (bei
Bourne Shells). Genauso verfahren Sie mit <code>ftp_proxy</code>.
</dl>
Es   macht  auerdem Sinn, den   Cache   des Browsers selbst  abzuschalten,
wenigstens den auf der Festplatte  --  <i>WWWOFFLE</i> macht das auch,  und
ist dabei flexibler und vielseitiger (und u.U. auch schneller).
<p>
Manche Browser besitzen   auerdem  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 smtliche zwischen Quelle
und Ihnen  liegenden   'Agents' (also  z.B.   Proxies),  die  Seite(n)  neu
anzufordern.  Bei  der Benutzung von  <i>WWWOFFLE</i> ist die letzte Option
sinnvoll.   (Anm.d.bers.:  Bei Netscape  soll   das gehen, indem  man  die
<kbd>SHIFT</kbd> Taste gedrckt hlt,  whrend  man auf den "Reload"  Knopf
drckt).
<p>
Die neusten Informationen bezglich der Kompatibilitt von <i>WWWOFFLE</i>
im Bezug auf verschiedene Browser gibt es bei <a
href="http://www.gedanken.demon.co.uk/wwwoffle/version-2.4/browser.html">
http://www.gedanken.demon.co.uk/wwwoffle/version-2.4/browser.html</a>.
<h2><a name="welcomepage">WWWOFFLE Willkommensseite</a></h2>
Es gibt eine Willkommensseite bei <a
href="http://localhost:8080/">http://localhost:8080/</a>, welche eine kurze
Einfhrung zu <i>WWWOFFLE</i> bietet und zu den verschiedenen Indexseiten,
Konfigurationsoptionen und der <i>WWWOFFLE</i> Internet-Homepage fhrt.
<p>
Die wichtigste Informationsquelle fr <i>WWWOFFLE</i>-Benutzer ist die
Homepage bei <a href="http://www.gedanken.demon.co.uk/wwwoffle">
http://www.gedanken.demon.co.uk/wwwoffle</a>, oder besser noch die
<i>WWWOFFLE Users Page</i> bei 
<a href="http://www.gedanken.demon.co.uk/wwwoffle/version-2.4/user.html">
http://www.gedanken.demon.co.uk/wwwoffle/version-2.4/user.html</a>, die
diese Version von <i>WWWOFFLE</i> insbesondere behandelt.
<p>
[Und die komplette bersetzung ist natrlich auch vorhanden:
<a href="http://www.gedanken.demon.co.uk/wwwoffle/version-2.4/de/">
http://www.gedanken.demon.co.uk/wwwoffle/version-2.4/de/</a>, Anm.d.bers.]
<h2><a name="indexpages">WWWOFFLE Indexseiten</a></h2>
Die Indexseiten sind ber <a
href="http://localhost:8080/">http://localhost:8080/</a> erreichbar. Sie
sind folgendermaen gegliedert:
<UL>
<LI> Eine Liste von angeforderten Bestellungen ("outgoing").</li>
<LI> Eine Liste von Dateien, die in der letzten, vorletzten und vorvorletzten
     "online" Sitzung geholt wurden. ("lasttime")</li>
<LI> Eine Liste von abonnierten URLs. ("monitored")</li>
<LI> Eine Liste von zuletzt geholten Dateien ("latest")</li>
<LI> Eine Liste von smtlichen Rechnern ("hosts"), sortiert nach Protokollen
     (HTTP, FTP, GOPHER, etc) die von <i>WWWOFFLE</i> angesprochen wurden</li>
<LI> Eine Liste von smtlichen Dateien, sortiert nach diesen Rechnernamen.
</UL>
Diese Indizes knnen folgendermaen sortiert werden:
<UL>
<LI> berhaupt nicht</li>
<LI> Nach Zeit der letzten nderung/Aktualisierung</li>
<LI> Nach Zeit des letzten Zugriffs</li>
<LI> Nach Datum der letzten Aktualisierung, tglich</li>
<LI> Alphabetisch</li>
<LI> Nach Dateityp (Datei-Endung)</li>
</UL>
Fr jedes angezeigte Objekt gibt es eine Option zum Lschen, Aktualisieren,
erneut  bestellen,  und abonnieren  der  jeweiligen  URL. Ebenfalls ist  es
mglich,  in der  Konfigurationsdatei  festzulegen,  welche Dateien  <b>gar
nicht</b> im Index erscheinen (obwohl sie vorhanden sind).
<h2><a name="refreshpage">Bestellen von URLs</a></h2>
Seiten knnen entweder mit Hilfe des Browsers ganz normal heruntergeladen
werden (z.B. bei Netscape mit Shift+Klick), oder sie knnen <b>bestellt</b>
werden.  <i>WWWOFFLE</i> merkt sich dann diese URL und sie wird im
Hintergrund automatisch heruntergeladen oder aktualisiert (wenn sie schon
im Cache vorhanden war). Dies funktioniert auch rekursiv, d.h. es werden
alle Seiten ebenfalls heruntergeladen, die auf der bestellten Seite
referenziert waren ("gelinked" waren). Wenn man hier nicht aufpat, kann
man sich ganz schnell das gesamte Universum auf seine Festplatte
replizieren ;-) also gibt es Beschrnkungen fr diese Suche: Man kann
<i>WWWOFFLE</i> verbieten, whrend einer rekursiven Bestellung auf einen
anderen Rechner zu wechseln, die Rekursionstiefe einschrnken, Wechsel in
andere Verzeichnisse verbieten, und noch viel mehr. Diese Funktionen sind
auch im <code>wwwoffle</code> Kommandozeilenprogramm enthalten.
<p>
<h2><a name="monitorpage">Abonnieren von URLs</a></h2>
Es knnen Seiten angegeben werden, die regelmig in bestimmten Intervallen
heruntergeladen werden, oder in jeder "online" Sitzung. Die Seiten werden
heruntergeladen, wenn der angegebene Monat, Wochentag, Tag und die
Zeitspanne stimmen, die der Benutzer angegeben hat. 
<p>
Um zum Beispiel eine bestimmte URL jeden Sonntag morgen zu holen, geben Sie
folgendes ein:
<p>
<pre>
Month of year : all
Day of Month  : all
Day of Week   : Sunday
Hour of Day   : 0 (24 hour clock)
</pre>
<p>
<h2><a name="interactivecontrol">Interaktive Steuerung/Konfiguration per Browser</a></h2>
Der <i>WWWOFFLE</i> Server kann vollstndig via Browser kontrolliert und
zwischen seinen verschiedenen Modi umgeschaltet werden, die Seite fr die
Steuerung lautet <a
href="http://localhost:8080/control/">http://localhost:8080/control/</a>.
Die dort befindlichen Schaltflchen bewirken das gleiche wie die
entsprechenden Optionen des Kommandozeilenprogramms <code>wwwoffle</code>.
Ebenfalls gibt es eine Mglichkeit, Seiten aus dem Cache oder aus der
Bestellliste zu lschen.
<p>
Hier gibt es ebenfalls eine Seite, um die Konfigurationsdatei von
<i>WWWOFFLE</i> zu bearbeiten. Die Kommentare aus der Datei werden mit
angezeigt, so da man die entsprechende Referenz gleich zur Hand hat.
<p>
<h2><a name="cachesearch">Den WWWOFFLE-Cache durchsuchen</a></h2>
Wenn Sie das Programm <code>ht://Dig</code> (Version 3.08 oder neuer)
installiert haben (Sie bekommen es bei <a
href="http://htdig.sdsu.edu/">http://htdig.sdsu.edu/</a>), knnen Sie damit
eine Such-Datenbank aus dem <i>WWWOFFLE</i> Cache aufbauen, und diese
schnell durchsuchen. Die Seite <a
href="http://localhost:8080/search/htdig/">http://localhost:8080/search/htdig/</a>
liefert dafr das entsprechende Suchformular. Nhere Informationen, wie man
<i>WWWOFFLE</i> und <code>ht://Dig</code> zur Zusammenarbeit bringt,
liefert die Datei <code>README.htdig</code>.
<p>
<h2><a name="webserver">Eingebauter Web-Server</a></h2>
Alle URLs, die in das Verzeichnis <code>http://localhost:8080/local/</code>
auf dem <i>WWWOFFLE</i> Rechner zeigen, werden von <i>WWWOFFLE</i> aus dem
Verzeichnis <code>/html/local/</code> bedient. Es ist hiermit mglich,
einen trivialen Web-Server aufzubauen (keine CGIs, keine Skripte, keine
Spielereien) fr kleine interne Web-Seiten. Die MIME-Types (fr die
HTTP-Kommunikation zwischen Server und Browser) werden der
Konfigurationsdatei entnommen.
<p>
<table border=1 bgcolor="#ff9999"><tr><td> <b>Achtung:</b> Der Web-Server
folgt symbolischen Links im Dateisystem, liefert aber nur Dateien, die auf
dem System sowieso jeder lesen knnte. Siehe auch das Kapitel zur
Sicherheit in der FAQ.  </td></tr></table>
<p>
<h2><a name="deletingrequests">Bestellungen entfernen/lschen</a></h2>
Falls in der <i>WWWOFFLE</i> Konfigurationsdatei kein Kennwort angegeben
wurde, kann <b>JEDER</b> die Bestellungen von <b>ALLEN</b> Benutzern
lschen und modifizieren. Falls ein Kennwort angegeben wurde, kann es
jeder, der dieses Kennwort kennt. Wie gesagt -- Bombensicherheit war nicht
eines der Hauptkriterien fr die Entwicklung von <i>WWWOFFLE</i>.
<p>
Jeder kann auf jeden Fall seine eigenen Bestellungen <b>sofort</b> nach
deren Aufgabe lschen (falls man sich schnell umentschieden hat :), indem
er auf den "Lschen" Knopf gleich nach der Besttigungsmeldung von
<i>WWWOFFLE</i> klickt. Diese Funktion beinhaltet ein Einweg-Kennwort.
<h2><a name="backupcopies">Sicherungskopien von Seiten</a></h2>
Falls bei einem erneuten Herunterladen einer Seite, die schon im Cache
vorhanden ist, ein Fehler auftritt, berschreibt diese Fehlermeldung u.U.
die lokal vorhandene (ggf. ltere, aber immerhin vollstndige)
Version. Dies wird vermieden, indem von jeder Seite, die erneut
heruntergeladen wird, eine Sicherungskopie angefertigt wird; diese wird
solange anstelle der (alten) Originalseite behalten, bis sie gelesen wurde.
<p>
Diese Funktion ist fr 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.
<p>
<h2><a name="lockfiles">"Lock"-Dateien</a></h2>
Falls eine Seite von einem Proxy-Proze heruntergeladen wird und von einem
weiteren erneut angefordert wird, wartet der zweite Proze, bis die Seite
vollstndig da ist, bis er sie lesen kann. So wird verhindert, da ein und
dieselbe Seite mehrmals (womglich auch noch gleichzeitig) geholt wird.
<p>
Sollte der erste Proze die Datei nicht innerhalb einer bestimmten Zeit
freigeben, wird der zweite Proze eine entsprechende Fehlermeldung an Ihren
Browser weiterleiten.
<p>
<h2><a name="spooldir-layout">Das WWWOFFLE "Spool"-Verzeichnis</a></h2>
Das Spool-Verzeichnis ist erst einmal in die verschiedenen Protokolle
aufgeteilt, diese Unterverzeichnisse enthalten jeweils dann fr jeden
bisher angesprochenen Rechner ein Unterverzeichnis (z.B. <code>
http/www.gedanken.demon.co.uk/</code>). 
<p>
In jedem dieser Verzeichnisse sind fr jede Seite zwei Dateien: eine
beginnt mit 'D' und enthlt die Daten, die andere beginnt mit 'U' und
enthlt die URL. Die Namen sind ansonsten identisch (wenn auch kryptisch,
Anm.d.bers. ;).
<p>
Das Verzeichnis mit den Bestellungen ("outgoing") enthlt auch wieder zwei
Dateien pro Bestellung, beginnend mit jeweils 'O' fr die eigentliche
Bestellung und 'U' fr die URL.
<p>
Das "lasttime" Verzeichnis (die letzten geholten Seiten, s.o.) enthlt
einen Link zur wirklichen Datei, der mit 'D' beginnt, und eine Datei
beginnend mit 'U', die die URL enthlt.
<p>
Falls eines der "Rechnernamen"-Verzeichnisse ein symbolischer Link in ein
anderes Verzeichnis innerhalb des <i>WWWOFFLE</i>-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.
<p>
<h2><a name="programs">Die Programme und die Konfigurationsdatei</a></h2>
Es gibt zwei Programme, die zusammenarbeiten, und drei getrennte Aufgaben
erledigen: 
<DL>
<DT>wwwoffle</dt><dd> Das Programm, welches den HTTP Proxy 'daemon'
kontrolliert und konfiguriert, auerdem die Schnittstelle zum Benutzer auf
der Kommandozeile.
</dd>
<DT>wwwoffled</dt><dd> Der 'daemon' Proze, welcher die eigentliche
Funktionalitt eines HTTP Proxies besitzt.
</dd>
<dt>wwwoffles</dt><dd> Ein Server, welcher das eigentliche Herunterladen
von Seiten erledigt.
</dd></DL>
Die beiden Programme <code>wwwoffles</code> und <code>wwwoffled</code> sind
seit Version 1.1 zu einem Programm zusammengeschmolzen, dies erleichtert
die Wartung des Servers und ist fr sptere Erweiterungen besser gerstet.
<p>
Die Konfigurationsdatei <code>wwwoffle.conf</code> enthlt alle
Einstellungen, die festlegen wie die ganze <i>WWWOFFLE</i>-Programmsuite
sich der Auenwelt gegenber verhalten soll.
<p>
<h3><a name="wwwoffle">wwwoffle - die Kommandozeile</a></h3>
Das Programm <code>wwwoffle</code> 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.
<p>
<table border=0 cellspacing=5>
<tr><td width="25%" valign=top><code>wwwoffle -online</code></td>
<td>Den WWWOFFLE Daemon in den 'online' Modus schalten.</td></tr>
<tr><td valign=top><code>wwwoffle -autodial</code></td>
<td>Den WWWOFFLE Daemon in den 'autodial' Modus schalten.</td></tr>
<tr><td valign=top><code>wwwoffle -offline</code></td>
<td>Den WWWOFFLE Daemon in den 'offline' Modus schalten.</td></tr>
<tr><td valign=top><code>wwwoffle -fetch</code></td>
<td>Den WWWOFFLE Daemon dazu bringen, bestellte/abonnierte Seiten zu holen.
    Dies funktioniert nur, wenn vorher <code>wwwoffle -online</code> 
    ausgefhrt wurde!</td></tr>
<tr><td valign=top><code>wwwoffle -config</code></td>
<td>Den WWWOFFLE Daemon die Konfigurationsdatei neu einlesen lassen.</td></tr>
<tr><td valign=top><code>wwwoffle -purge</code></td>
<td>Den WWWOFFLE Daemon zum Aufrumen des Caches veranlassen, d.h. es werden
    alle Seiten, die lter sind als die in der Konfigurationsdatei angegebenen
    Werte, gelscht.</td></tr>
<tr><td valign=top><code>wwwoffle -kill</code></td>
<td>Den WWWOFFLE Daemon dazu bringen, smtliche Unterprozesse zu beenden und
    sich dann sauber zu beenden. Falls einige Prozesse noch am Herunterladen
    sind, kann dies etwas dauern.</td></tr>
</table><p>
Man kann mit <code>wwwoffle</code> allerdings auch Auftrge an den Daemon
weitergeben:
<p>
<table border=0 cellspacing=5>
<tr><td width="25%" valign=top><code>wwwoffle <URL></code></td>
<td>WWWOFFLE holt die angegebenen URLs sofort (wenn 'online'), ansonsten 
    werden sie bestellt.</td></tr>
<tr><td valign=top><code>wwwoffle <DATEI.html></code></td>
<td>WWWOFFLE liest die angegebene HTML Datei ein und behandelt dort 
    enthaltene Links als Bestellungen.</td></tr>
<tr><td valign=top><code>wwwoffle -F <URL></code></td>
<td>WWWOFFLE wird gezwungen die URL neu zu laden, auch wenn sie schon 
    vorhanden ist.</td></tr>
<tr><td valign=top><code>wwwoffle -g[Sisfo]</code></td>
<td>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.</td></tr>
<tr><td valign=top><code>wwwoffle -r[X]</code></td>
<td>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.</td></tr>
<tr><td valign=top><code>wwwoffle -R[X]</code></td>
<td>Hier nicht mehr! (Vorsicht, Rekursionstiefen ber 3 sind selten sinnvoll!)
    [Anm.d.bers.]</td></tr>
<tr><td valign=top><code>wwwoffle -d[X]</code></td>
<td>Diese Option ist noch einschrnkender als die vorherige, hier werden nur
    Verweise bercksichtigt, deren Ziele im gleichen Verzeichnis (oder 
    innerhalb Unterverzeichnissen) liegen.</td></tr>
</table><p>
<code>wwwoffle</code> erlaubt es einem auch, selektiv Dateien aus dem Cache
zu extrahieren, ohne die Verzeichnisstruktur durchwhlen zu mssen:
<p>
<table border=0 cellspacing=5>
<tr><td width="25%" valign=top><code>wwwoffle -o <URL></code></td>
<td>WWWOFFLE holt die entsprechende URL aus dem Cache und gibt sie auf der
    Standardausgabe (STDOUT) aus.</td></tr>
<tr><td valign=top><code>wwwoffle -O <URL></code></td>
<td>WWWOFFLE holt die entsprechende URL und gibt sie inklusive der HTTP
    Headerzeilen auf der Standardausgabe aus.</td></tr>
</table><p>
Der wichtigste Modus von <code>wwwoffle</code> ist natrlich folgender:
<p>
<table border=0 cellspacing=5>
<tr><td width="25%" valign=top><code>wwwoffle -h</code></td>
<td>WWWOFFLE gibt eine Zusammenfassung der verfgbaren Optionen aus.</td></tr>
</table>
<p>
An smtliche der oben angegebenen Optionen kann noch folgendes angehngt
werden:
<p>
<table border=0 cellspacing=5>
<tr><td width="25%" valign=top><code>-c <configfile></code></td>
<td>Die Konfigurationsdatei explizit angeben. Dies wird 
    <strong>bentigt</strong>, wenn Sie WWWOFFLE mit einem Kennwort
    geschtzt haben!.</td></tr>
<tr><td width="25%" valign=top><code>-p <host>[<port>]</code></td>
<td>Den Port, auf dem der WWWOFFLE Server auf Steuernachrichten bzw. 
    Proxybefehle  horcht, explizit angeben.</td></tr>
<tr><td width="25%" valign=top><code>$WWWOFFLE_PROXY</code></td>
<td>Eine Umgebungsvariable, die den WWWOFFLE Hostnamen/Port beinhaltet. Die
    Syntax fr die Variable ist hnlich wie in der Kommandozeile, es knnen
    hier aber <i>beide</i> Ports angegeben werden, z.B.:
    <pre> WWWOFFLE_PROXY="localhost:8080:8081" </pre></td></tr>
</table>
<p>
<h3><a name="wwwoffled">WWWOFFLED - Der Dmon ;-)</a></h3>
Der Daemon <code>wwwoffled</code> fungiert als HTTP Proxy und akzeptiert
nebenbei Steuerbefehle von <code>wwwoffle</code>. Er verwaltet und
koordiniert die verschiedenen Modi von <i>WWWOFFLE</i> (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 <code>wwwoffles</code> Teil). Der
Server kann sich u.U. auch selbst 'fork'en.
<p>
<table border=0 cellspacing=5>
<tr><td width="25%" valign=top><code>wwwoffled -c <configfile></code></td>
<td>Startet den HTTP Proxy mit der angegebenen Konfigurationsdatei.</td></tr>
<tr><td width="25%" valign=top><code>wwwoffled -d [X]</code></td>
<td>Startet den HTTP Proxy im DEBUG Modus: Er luft 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 <code>log-level</code> aus
    der Konfigurationsdatei benutzt.</td></tr>
<tr><td width="25%" valign=top><code>-h</code></td>
<td>Gibt eine kurze Erklrung der Kommandozeilenoptionen aus.</td></tr>
</table>
<p>
Es gibt eine Anzahl von Status- und Fehlermeldungen, die whrend des
Betriebes von <i>WWWOFFLE</i> generiert werden knnen. Standardmig werden
diese an den <code>syslog</code> Dienst weitergeleitet, mit dem
<code>-d</code> Parameter werden sie zustzlich auf dem Terminal angezeigt,
auf dem <code>wwwoffled</code> gestartet wurde.
<p>
Mit den Optionen <code>run-uid / run-gid</code> aus der Konfigurationsdatei
ist es mglich, <code>wwwoffled</code> als ganz bestimmten Benutzer laufen
zu lassen. Dies erfordert allerdings, da das Programm von <code>root</code>
gestartet wurde (sonst kann es nicht seine eigenen Benutzerrechte anpassen)
und da der "Zielbenutzer" smtliche Rechte im Spool-Verzeichnis hat.
<p>
<h3><a name="wwwoffles">WWWOFFLES - Der Server</a></h3>
Der Server wird normalerweise vom Daemon (s.o.) via 'fork' gestartet. Er 
befindet sich dann in einem von drei verschiedenen Modi:
<p>
<table border=0 cellspacing=5>
<tr><td width="20%" valign=top>Real Mode</td>
<td>Der normale Betrieb. Das System ist online, agiert als Proxy fr einen
    Browser (pro <code>wwwoffles</code>-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 zustzlich 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.</td></tr>
<tr><td valign=top>SpoolOrReal Mode</td>
<td>Der 'autodial'-Betrieb. Hier wird erst bei einer Anfrage entschieden, ob
    diese sofort aus dem Cache (ohne jeden Verbindungsaufbau nach auen)
    bedient wird oder ob eine Verbindung aufgebaut wird, wenn diese Seite nicht
    existiert.</td></tr>
<tr><td valign=top>Spool Mode</td>
<td>Das System ist offline, es existiert keine Verbindung nach auen 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 gelscht, so da eine
    erneute Anfrage ggf. einen weiteren Downloadversuch starten kann.</td></tr>
<tr><td valign=top>Fetch Mode</td>
<td>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.
</table><p>
Zustzlich gibt es noch die folgenden Modi, die primr davon abhngen, ob
angeforderte Dateien im Spool existieren oder nicht.
<p>
<table border=0 cellspacing=5>
<tr><td width="20%" valign=top>RealNoCache Mode</td>
<td>Es werden Seiten geholt, aber nicht im Spool gespeichert. Siehe 
    <code>DontCache</code> Abschnitt in der Konfigurationsdatei.</td></tr>
<tr><td width="20%" valign=top>RealRefresh Mode</td>
<td>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.</td></tr>
<tr><td width="20%" valign=top>RealPassword Mode</td>
<td>Wird benutzt, wenn ein Kennwort angegeben wurde, und zwei Exemplare der
    Seite bentigt werden, eine mit und eine ohne Kennwort.</td></tr>
<tr><td width="20%" valign=top>SpoolGet Mode</td>
<td>Wenn eine Seite nicht im Cache existiert, angefordert wurde und sie in
    die Bestellliste eingetragen werden mu.</td></tr>
<tr><td width="20%" valign=top>SpoolWillGet Mode</td>
<td>Wenn eine Seite nicht im Cache existiert, angefordert wurde, sie aber schon
    in der Bestellliste eingetragen wurde.</td></tr>
<tr><td width="20%" valign=top>SpoolRefresh Mode</td>
<td>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.</td></tr>
<tr><td width="20%" valign=top>SpoolPragma Mode</td>
<td>Wenn ein Browser die Seite mittels <code>"Pragma: no-cache"</code> 
    aktualisieren will. Die momentane Seite wird behalten und eine Bestellung
    wird gespeichert.</td></tr>
</table>
<p>
<h3><a name="wwwoffletools">WWWOFFLE-TOOLS - Der Werkzeugkasten ;-)</a></h3>
Dies ist eher ein 'quick hack', eine kleine Sammlung von Progrmmchen, die
das Manipulieren des Caches von <i>WWWOFFLE</i> erlauben.
<p>
<table border=0 cellspacing=5>
<tr><td width="20%" valign=top><code>wwwoffle-rm</code></td>
<td>URLs aus dem Cache lschen. Allerdings ist dies nur fr einzelne URLs
    gut -- um einen ganzen Host zu lschen, kann man auch direkt das 
    Verzeichnis aus dem Cache lschen, das strt WWWOFFLE berhaupt nicht.
    (Oder einen Browser benutzen.)</td></tr>
<tr><td width="20%" valign=top><code>wwwoffle-mv</code></td>
<td>URLs im Cache verschieben. Da die URL selbst in den 'kryptischen' Namen
    der Dateien im Cache enthalten ist, wird man mit <code>'mv'</code> nicht
    weit kommen. Stattdessen benutze man bitte <code>'wwwoffle-mv'</code>.
    </td></tr>
<tr><td width="20%" valign=top><code>wwwoffle-ls</code></td>
<td>Den Cache-Inhalt anzeigen, im Stil von <code>'ls -l'</code>. </td></tr>
<tr><td width="20%" valign=top><code>wwwoffle-write</code></td>
<td>Eine URL direkt in den Cache schreiben. Achtung: es wird ein korrekter
    HTTP-Header bentigt, sonst kommen viele Browser durcheinander! z.B:
    <pre> 
      ( echo "HTTP/1.0 200 OK" ; echo "" ; cat bar.html ) | \
          wwwoffle-write http://www.foo.com/bar.html
    </pre></td></tr>
</table>
Noch einmal: Dies sind schnelle kleine Hacks, sie gelten nicht als voll
funktionsfhige und voll ausgebaute Programme.
<p>
<h3><a name="auditusage">audit-usage.pl -- Protokolle analysieren</a></h3>
Das Perl-Skript <code>'audit-usage.pl'</code> analysiert die Logdateien des
<code>wwwoffled</code> 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.)
<pre>
 wwwoffled -c /etc/wwwoffle/wwwoffle.conf -d 4   >> /tmp/audit.log   &
</pre>
liefert die Datei <code>audit.log</code>, welche dann von
<code>audit-usage.pl</code> ausgewertet werden kann. 
<h2><a name="testprograms">Test-Programme fr WWWOFFLE</a></h2>
Im Verzeichnis <code>testprogs</code> befinden sich zwei kleine
Testprogramme, die bei Bedarf kompiliert werden knnen. Sie werden fr den
normalen Betrieb nicht bentigt, aber falls Sie <i>WWWOFFLE</i>
weitergehend anpassen mchten oder den HTML Parser fr die automatisch
generierten Seiten berprfen, dann knnten sie ntzlich sein.
<p>
Diese sind allerdings noch viel mehr 'dirty hacks' als die
"wwwoffle-tools", also benutzen Sie sie auf eigene Gefahr!
<h2><a name="koppirait">Autor und Copyright</a></h2>
Ich schreibe die original-Statments des Autos hier verbatim ab, nicht da es
irgendwelche rechtlichen Streitereien wegen einer ungnstigen bersetzung
gibt. :-))
<p>
<center><table border=1 width="90%">
<tr><td>
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.
<p>
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.
<p>
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.
<p>
They can be freely distributed according to the terms of the GNU General
Public License (see the file `COPYING').
<p>
If you wish to submit bug reports or other comments about the programs then
email the author amb@gedanken.demon.co.uk and put wwwoffle in the subject
line.
<p>
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.
<p>
<pre>
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)
</pre>
</td></tr></table></center>
<p>
<hr>
Die bersetzung dieses Dokumentes wurde von 
<a href="mailto:jens@pinguin.conetix.de">Jens Benecke</a> erstellt. Es
gelten die gleichen Lizenzbestimmungen wie fr das gesamte WWWOFFLE Paket,
ich betrachte die von mir bersetzte Dokumentation als Teil der Software.
Jeder, der dieses Dokument liest, sollte sich moralisch verpflichtet fhlen,
mir Fehler oder Unstimmigkeiten sofort per eMail mitzuteilen ;-)
<hr>
  </body>
</html>
 
     |