File: README.html

package info (click to toggle)
wwwoffle 2.9f-2.2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 7,716 kB
  • ctags: 2,077
  • sloc: ansic: 23,951; sh: 6,815; lex: 4,201; perl: 917; makefile: 623; ruby: 181; lisp: 14
file content (688 lines) | stat: -rw-r--r-- 32,075 bytes parent folder | download | duplicates (4)
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 &lt;URL&gt;</code></td>
<td>WWWOFFLE holt die angegebenen URLs sofort (wenn 'online'), ansonsten 
    werden sie bestellt.</td></tr>
<tr><td valign=top><code>wwwoffle &lt;DATEI.html&gt;</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 &lt;URL&gt;</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 &lt;URL&gt;</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 &lt;URL&gt;</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 &lt;configfile&gt;</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 &lt;host&gt;[&lt;port&gt;]</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 &lt;configfile&gt;</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   &gt;&gt; /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
&lt;andrew@contigo.com&gt;. 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 &lt;sa6z225@public.uni-hamburg.de&gt; 
        Initial syslog code (much rewritten before inclusion).

Axel Rasmus Wienberg &lt;2wienbe@informatik.uni-hamburg.de&gt;
        Code to run wwwoffled as a specified uid/gid.

Andreas Dietrich &lt;quasi@baccus.franken.de&gt;
        Code to detach the program from the terminal like a *real* demon.

Ullrich von Bassewitz &lt;uz@wuschel.ibb.schwaben.com&gt;
        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 &lt;tb@bohn.isdn.uni-heidelberg.de&gt;
        Autodial mode.

Walter Pfannenmueller &lt;pfn@online.de&gt;
        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>