
<!doctype linuxdoc system>
<article>
<title>
Das ed2k-gtk-gui Handbuch
</title>
<author>
Thomas Ritter (<tt>th.ritter <em>at</em> gmx <em>dot</em> net</tt>),
Tim-Philipp Müller (<tt>t.i.m <em>at</em> orange <em>dot</em> net</tt>),
deutsche Übersetzung von Christopher Knörle  (<tt>cknoerle <em>at</em> gmx <em>dot</em> net</tt>)
</author>
<date>
Version 0.6.0 , Thu Sep  4 21:00:00 BST 2003
</date>
<abstract>
Dieses Handbuch beschreibt die Installation und den Umgang mit der ed2k-gtk-gui, Version 0.6.0, für den eDonkey2000 oder Overnet Command Line Client.
</abstract>

<toc>

<sect>Einführung

<sect1>Status dieses Dokuments
<p>
<bf>Dieses Dokument ist unvollständig und in Bearbeitung. Wenn du hier die Antwort auf eine Frage
nicht finden kannst, wirf bitte einen Blick in die
<htmlurl url="http://ed2k-gtk-gui.sourceforge.net/faq_german.shtml" name="FAQ"></bf>.
Allerdings ist diese Dokumentation aktueller und wird auch aktuell gehalten.
</p>

<sect1>Was ist eDonkey2000? Was ist Overnet?
<p>
<bf>eDonkey2000</bf> ist Peer-to-Peer File-Sharing Software von Jed McCaleb (jed <em>at</em> eDonkey2000 <em>dot</em> com) von MetaMachine.
</p>

<p>
<bf>Overnet</bf> ist auch Peer-to-Peer File-Sharing Software, auch von Jed McCaleb (jed <em>at</em> eDonkey2000 <em>dot</em> com) von MetaMachine.
</p>

<p>
Overnet ist der Nachfolger von eDonkey2000 und kommt ohne Server aus. Aus technischer Sicht
ist Overnet viel besser als eDonkey2000. Allerdings scheint zur Zeit (Januar 2003) das Angebot
im eDonkey2000 Netzwerk größer zu sein. Diese Situation wird sich in Zukunft aber ändern.
</p>

<p>
Seit Version 0.5.0 kan die ed2k-gtk-gui auch mit dem Overnet Command Line Client benutzt werden.
Fast alles, was im folgenden Text über den eDonkey Command Line Client geschrieben wird trifft
auch auf den Overnet Command Line Client zu.
</p>

<sect1>Was ist eine 'GUI'? Was ist ein 'Core'?
<p>
Unter GNU/Linux, unterscheidet sich der Donkey von der Windows Version - er besteht aus zwei Teilen:
 Der GUI (<em>G</em>raphical <em>U</em>ser <em>I</em>nterface - Grafische Benutzer Oberfläche)
 und dem Core. Der <em>Core</em> ist für das File-Sharing zuständig (Upload, Download,
 mit Servern verbinden, Dateien veröffentlichen) zuständig, und die GUI zeigt uns was der Core macht.
</p>
<p>
Diese Trennung von GUI und Core hat mehrere Vorteile:
 1. Die GUI muss nicht auf dem gleichen Rechner wie der Core laufen.
    Deshalb kann der Core auf einem Router im Keller laufen und die GUI auf deinem Desktop, in der Arbeit oder bei einem Freund.
    (Überlegungen zur Sicherheit findest du im letzten Abschnitt.)
 2. Falls die GUI abstürzt *schluck*, was natürlich nie passiert :), wird der Core weiterhin munter arbeiten, und nur die GUI muss neu gestartet werden.
</p>

<p>
Hilfe ist immer gern gesehen. Fehler, Kommentare und Vorschläge bitte an
Christopher Knörle (<tt>mail <em>at</em> cknoerle <em>dot</em> de</tt>) (Übersetzer) oder
Tim-Philipp Müller (<tt>t.i.m <em>at</em> orange <em>dot</em> net</tt>).
</p>


<sect1>Änderungen
<p>
<bf>2003-Sep-04</bf>
<em>Handbuch für v0.6.x aktualisiert [Tim]</em>
</p>
<p>
<bf>2003-Jan-31</bf>
<em>Aktualisierung wegen Änderungen in 0.5.0, einige Kommentare über Overnet [Tim]</em>
</p>
<p>
<bf>2002-Nov-09</bf>
<em>Thomas Ritter's erste Version dieses Dokuments mit der im Sourcenbaum [Tim] zusammengeführt</em>
</p>

<sect>Installation (GUI)
<p>
Du musst sowohl die GUI als auch den Core installieren. Dieser Abschnitt beschreibt, wie du die GUI bekommst und installierst.
 Der nächste Abschnitt beschreibt, wie du den Core bekommst und installierst.
</p>
<p>
Die GUI ist nur eine graphische Benutzeroberfläche (Fenster und Knöpfe) für den eDonkey2000 Command Line Client.
Der eDonkey2000 Command Line Client ist nicht Open Source, sondern proprietäre Software, die seperat bezogen werden muss.
Ohne den Command Line Client (='Core') macht die GUI nicht viel Sinn. <bf>Hier bekommst du den Core</bf>:
<htmlurl url="http://ed2k-gtk-gui.sourceforge.net/core.shtml" name="http://ed2k-gtk-gui.sourceforge.net/core.shtml">.
</p>

<sect1>Wie du die GUI bekommst
<p>
Die neuste Version der GUI gibt es hier:
<htmlurl url="http://ed2k-gtk-gui.sourceforge.net" name="http://ed2k-gtk-gui.sourceforge.net">.
 Wenn du Glück hast findest du fertige .rpm oder .deb Pakete für deine Distribution. Falls nicht musst du den 
 Quelltext Tarball runterladen und die GUI selbst kompilieren.
</p>

<p>
Falls du immer das allerneueste haben willst, kannst du den neuesten Quelltext mit CVS bekommen.
 CVS steht für Concurrent Versioning System und ist ein Client-Server System, das von Entwicklern benutzt wird, um
 Änderungen am Quelltext festzuhalten. Die ed2k-gtk-gui hat einen eigenen CVS Server bei Sourceforge und die Entwickler
 werden regelmässig die neuesten Änderungen (Bugfixes, neue Features) in den CVS Speicher ('repository') einspielen ('commit').
 Fehler ('bugs') werden immer zuerst im CVS behoben ('fix'). Wenn du also nicht bis zum nächsten Release warten willst,
 kannst du auf das CVS zugreifen und die neueste Version des Quelltextes herunterladen, sogar bevor es zu einem richtigen Release kommt.
 Eine Anleitung dazu findet sich auf der GUI
 <htmlurl url="http://ed2k-gtk-gui.sourceforge.net/download.shtml" name="Download Seite">.
</p>

<sect1>Voraussetzungen

<p>

<itemize>
	<item>Ein eDonkey2000 oder Overnet Command Line Client (=Core)</item>
	<item>gtk+ toolkit libraries (gtk, gdk, pango, atk, glib) (2.x Serie; wenn möglich bitte vorgefertigte Pakete benutzen)</item>
	<item>gnet library (gnet-2.0.x) (nur wenn du den Quellcode selbst kompilierst)</item>
</itemize>

Um die <bf>vorkompilierten Pakete</bf> zu nutzen brauchst du die GTK Libraries.
Benutze <tscreen><verb>'locate libgtk2 | grep ".so"'</verb></tscreen>, um das zu prüfen. Wenn das Ergebnisse liefert,
sollte alles in Ordnung sein. Die GTK+ Libraries werden auf fast jedem Linux Desktop System standardmäßig installiert.
Falls du nur die vorkompilierten Pakete benutzen willst, musst du dir keine Gedanken um die gnet Library machen.
Die GUI Pakete sind statisch mit libgnet verlinkt, was alle Probleme umgeht.

Um die <bf>GUI selbst zu kompilieren</bf> brauchst du nicht nur die gnet-2.0.x library und die gtk+2.x libraries,
 sondern auch die passenden <em>Entwickler Pakete</em> (Header etc.) dieser Libraries. Benutze einfach
 <tscreen><verb>'pkg-config --libs gnet-2.0'</verb></tscreen> and <tscreen><verb>'pkg-config --libs gtk+-2.0'</verb></tscreen>
 um zu prüfen, ob du die hast.
Falls beide Befehle keine Fehler melden, ist alles in Ordnung. Andernfalls wirst du die nötigen Entwickler Pakete
 installieren müssen, welche normalerweise auf '-dev' oder '-devel' enden.
Such nach den Paketen 'gtk2-devel' (bzw. 'libgtk2.0-dev' oder ähnlich auf Debian)
und 'gnet2-dev' ('libgnet2.0-dev' auf Debian) oder so ähnlich. Beachte, dass es zwei Versionen von GTK+ gibt, die ältere
1.2.x-Serie und die 2.x.y-Serie. Beide Versionen von gtk+ (1.2 und 2.x) sollten ohne Probleme gleichzeitig zu nutzen sein.
Für die GUI brauchst du GTK+-2.x. Die aktuelle Version ist GTK+-2.2.4. Versuche GTK+-2.0.x zu vermeiden (die ist einfach alt).



<sect1>Installation der GUI mit .rpm oder .deb Paket
<p>
Lade das Paket deiner Wahl runter und benutz den Paketmanager deiner Distribution, um es zu installieren.
Bitte halte dich dafür an die Dokumentation deiner Distribution.

<p>
Falls dein Distribution RPM Pakete benutzt, wirst du normalerweise den Befehl
<tscreen><verb>
# rpm -i ed2k-gtk-gui-0.6.0-1_i386.rpm
</verb></tscreen>

als root benutzen, um die GUI zu installieren (der Dateiname kann abweichen).

<p>
Falls du ein Debian System benutzt, installierst du die GUI mit
<tscreen><verb>
# dpkg -i ed2k-gtk-gui-0.5.0-1_i386.deb
</verb></tscreen>

als root (der Dateiname kann abweichen).


<sect1>Kompilieren und Installieren der GUI aus den Quelltexten

<p>
Lade den Tarball (.tar.gz) runter und entpacke ihn mit
<tscreen><verb>
% tar xzf ed2k-gtk-gui_BLA.tar.gz
</verb></tscreen>

oder hol es dir aus dem CVS repository (siehe oben), und wechsle in das Quellverzeichnis mit

<tscreen><verb>
% cd ed2k_gui/
</verb></tscreen>

</p>

<p>

Um die GUI zu kompilieren und auf deinem System zu installieren, mache folgendes im
Stammverzeichnis der ed2k_gui (dort wo die AUTHORS Datei liegt):

<tscreen><verb>
% ./configure
% make
% make install
</verb></tscreen>

<p>
Da die ed2k_gui autoconf/automake benutzt solltest du keine Probleme beim Kompilieren haben.
Falls du den Source Code aus dem CVS-Baum (siehe Homepage) hast, musst du zuerst das
./autogen Script ausführen, um die ./configure Datei zu erzeugen.

<p>
Wahrscheinlich musst du <em>root werden</em>, um die GUI auf deinem System zu installieren.
Und so machst du das:

<tscreen><verb>
% su
Password:                   (root Password eingeben)
# make install
(jetzt wird eine Menge Zeug auf deinem Bildschirm erscheinen)
# exit
</verb></tscreen>
</p>

<p>
Du solltest die GUI jetzt mit 'ed2k_gui' starten können. Allerdings musst du noch den Core installieren,
 um die GUI benutzen zu können. Bitte lies den nächsten Abschnitt für eine Anleitung dazu.
</p>

<p>

Solltest du Probleme mit der Installation haben, teile diese bitte dem Autor mit:
 <htmlurl url="mailto:uberdork@users.sourceforge.net" name = "Tim-Philipp Müller">,
oder benutze das
 <htmlurl url="http://sourceforge.net/forum/?group_id=61752" name="ed2k-gtk-gui forum">.

</p>


<sect> Installation (Core)
<p>
Nachdem du die GUI installiert hast, wirst du den eDonkey2000 Core einrichten.
Das hat sich in der Vergangenheit als heikel herausgestellt,
weil der eDonkey2000 Core eigentlich eine Windows Anwendung ist, die
auf GNU/Linux kompiliert wurde und arbeitet (genauso auf FreeBSD im 'Linux
Emulations Modus'), und sich deshalb nicht immer sehr Unix-ähnlich verhält.

Lass dich von all den folgenden Details nicht entmutigen. Die meisten Leute haben
nie grössere Probleme.

<bf>Schnellstart:</bf> Der schnellste Weg, um die Dinge zum Laufen zu bringen, ist die neueste Version der GUI
zu installieren, sie zu starten ('ed2k_gui in einer Befehlszeile eingeben oder ALT-F2 in GNOME/KDE drücken
und dann 'ed2k_gui' eingeben) und dann den 'Schnellstart' Knopf anzuklicken.


<sect1> Welche Version des Core soll ich nehmen? (kann übersprungen werden)
<p>
Du wirst bemerken, dass es mehrere Versionen des Core gibt. Einen aktuellen kannst du hier bekommen:
<htmlurl url="http://ed2k-gtk-gui.sourceforge.net/core.shtml" name="http://ed2k-gtk-gui.sourceforge.net/core.shtml">.

<p>
Normalerweise sollte mit dem neuesten Core (im Moment Version 0.50.1) alles klappen.

<p>
Soll ich Overnet oder Edonkey benutzen? (siehe Einleitung) Ich weiss es nicht.
Das eDonkey2000 Netzwerk scheint noch mehr Angebot als das Overnet Netzerk zu haben,
aber das ändert sich wohl bald. Technologisch ist das Overnet besser, und es ist die Zukunft ;)
Meiner Meinung nach ist Overnet weniger umständlich, weil man keine Serverliste pflegen muss.
Man muss nur einaml ins Netzwerk 'booten' (mit einer IP und einem Port von jemandem, der schon
im Overnet Netzwerk ist) und dann sollte Overnet seine Kontakte ganz allein verwalten.

<p>
Probier einfach beide aus und bleib bei dem, was für dich besser funktioniert.
Sowohl Overnet als auch eDonkey können mit ed2k-Links umgehen und Overnet kann
die mit eDonkey begonnenen Downloads übernehmen und umgekehrt.
Du kannst also problemlos hin und her wechseln.


<sect1> Core runterladen und entpacken

<p>

Hier findest du einen aktuellen Core:
<htmlurl url="http://ed2k-gtk-gui.sourceforge.net/core.shtml" name="http://ed2k-gtk-gui.sourceforge.net/core.shtml">.

<bf>Lade einen Core in dein Heimatverzeichnis runter</bf>, z.B. <tt>/home/joe/ed2k</tt>.

Dann <bf>entpacke</bf> ihn über die Befehlszeile (das geht natürlich auch anders, falls du weisst wie):
<tscreen><verb>
% cd /home/joe/ed2k/
% tar xzf donkey0.50.1.tar.gz   (genauer Dateiname kann anders sein)
</verb></tscreen>

Jetzt solltest du in dem Verzeichnis einen Core haben und er sollte ausführbar sein, also
sollte die 'x' (execute - ausführen) Berechtigung gesetzt sein (falls nicht geht das mit <tt>'chmod +x donkey0.50.1'</tt>):
<tscreen><verb>
% ls -l donkey0.50.1
-rwxr-xr-x    2 tim      tim       1159400 Jun 28 19:10 donkey0.50.1
</verb></tscreen>



<sect1> Schnellstart - Alles so schnell wie möglich zum Laufen bringen

<p>
Das wird nur funktionieren, wenn du GUI und Core auf dem selben Computer benutzt. Wenn der Core auf einem
 anderen Computer läuft als die GUI, musst du den Core manuell einrichten. Bitte schau dir dafür den nächsten Abschnitt an.
</p>

<p>
<itemize>
	<item>
	  Du hast die neueste GUI runtergeladen und wie oben beschrieben installiert. Gut.
	</item>
	<item>
	  Du hast auch einen Core und ihn wie beschrieben entpackt. Gut.
	</item>
	<item>
	  Starte die GUI ( durch tippen von <tt>'ed2k_gui'</tt>).
	</item>
	<item>
	  Schreibe den Pfad zum Core (z.B. '/home/joe/ed2k/donkey0.50.1' in das Feld
	  'Pfad zum lokalen Core' im 'mit Core verbinden' Dialog.
	</item>
	<item>
	  Überleg dir einen Benutzernamen und ein Passwort. Vermeide Sonderzeichen.
	</item>
	<item>
	  Bei 'Core läuft auf Host' sollte 'localhost' und beim Port 4663 stehen.
	</item>
	<item>
	  <tt>'ping localhost'</tt> sollte funtionieren. Falls nicht, benutze entweder '127.0.0.1'
	  als Host, oder (besser) füge eine Zeile '127.0.0.1 localhost' in /etc/hosts ein.
	</item>
	<item>
	  <tt>'netstat -ln | grep 4662'</tt> sollte nichts zeigen.
	  Falls doch, probier aus, ob die GUI das bemerkt und umgeht.
	</item>
	<item>
	  <tt>'netstat -ln | grep 4663'</tt> sollte nichts zeigen.
	  Falls doch, probier aus, ob die GUI das bemerkt und umgeht.
	</item>
	<item>
	  Klick auf den 'Core starten' Knopf. Jetzt sollte läuft angezeigt werden. Klick auf den 'Go!' Knopf.
	</item>
	<item>
	  Jetzt solltest du mit dem Core verbunden sein. Stell sicher, dass auf der Seite 'Shared'
	  wenigstens ein Verzeichnis angezeigt wird. Falls das so ist, kannst du loslegen.
	</item>
	<item>
	  Klicke mit der rechten Maustaste auf die Serverliste und hole eine aktuelle. Dann verbinde dich mit einem.
	</item>
</itemize>

Falls dieses Vorgehen nicht funktioniert, schau dir bitte die Statusseite der GUI für Hinweise auf was nicht funktioniert hat an
und lies auch den Rest der Dokumentation (FAQ und die folgenden Abschnitte) wie man den Core manuell einrichtet.


<sect1> Falls es nicht sofort funktioniert - den Core manuell einrichten
<p>
Muss noch geschrieben werden.




<sect> Anwendung <p>

<sect1> Die GUI zum ersten Mal benutzen

<p>
<bf>Die GUI starten:</bf> Aus historischen Gründen heisst das GUI Programm 'ed2k_gui' (aber
der Name des Projekts ist 'ed2k-gtk-gui'). Es gibt mehrere Wege die GUI zu starten: Auf der Befehlszeile,
in einer Konsole oder einem Terminal Fenster (wie xterm, konsole etc.), tippe einfach

<tscreen><verb>
%ed2k_gui
</verb></tscreen>

So musst du die GUI auch starten, wenn etwas nicht funktioniert (weil dann zusätzliche Fehlermeldungen
auf der Konsole ausgegeben werden).
<p>
Alternativ kann man in Gnome oder KDE auch Alt+F2 drücken und 'ed2k_gui' in dem Dialog eingeben.
Das sollte die GUI auch starten.

<p>

Falls du die <bf>GUI zum ersten Mal benutzt</bf> wirst du keine Server in deiner Serverliste haben.
Navigiere zur Server Seite, klick auf den 'Serverliste holen' Knopf und warte ein paar Sekunden.
Wenn du Glück hast wirst du eine Liste von Servern sehen. Falls das nicht geklappt hat wirf einen
Blick auf die Status Seite, um zu sehen, was schief gelaufen ist.
Wenn du gezwungen bist einen Http Proxy Server zu benutzen, schau dir den Fragen und Antworten Abschnitt
an, um herauszufinden, wie man das einstellt.

<p>

Da du jetzt Server hast, klick auf den 'Verbinden' Knopf, um dich mit einem der Server zu verbinden.


<sect1> Dateien tauschen

<p>

eDonkey2000 ist ein Programm zum Tauschen von Dateien, also solltest du ein paar Dateien zur Verfügung stellen.
<bf>Es ist nicht möglich keine Dateien bereitzustellen</bf>. eDonkey2000 kann Teile von Dateien,
die gerade heruntergeladen werden bereitstellen, bevor diese komplett geladen sind.
Also auch wenn du nichts zum Tausch anbietest wirst du immer die Dateien, die du gerade runterlädst
auch zum Download anbieten.

<p>

Es ist nicht möglich einzelne Dateien anzubieten, das geht nur mit Verzeichnissen oder ganzen Verzeichnisbäumen.
Wenn du auf die <em>Shared</em> Seite klickst wirst du links die Verzeichnisse und rechts die Dateien sehen,
die du dem Rest der Welt anbietest.
Um etwas hinzuzufügen musst du im <em>Pfad</em> Fenster rechtsklicken und entweder
<em>Verzeichnis in Share</em> oder <em>Verzeichnisbaum in Share</em> auswählen. Das zweite fügt ein Verzeichnis
mit allen Unterverzeichnissen hinzu.

<p>
Wenn du Verzeichnisse mit Dateien, die du noch nie mit eDonkey angeboten hast hinzufügst
werden die Dateien 'gehasht' (eine Checksumme - Hash - wird berechnet), um sie zu identifizieren.
Das wird auf alten Computern einige Minuten dauern, aber weder die GUI noch den Core blockieren

<em>Bitte gib auch Dateien frei!</em>

<sect2> Wie viele Dateien soll ich freigeben?
<p>
Zuerst mußt du wissen, daß deine Downloads automatisch freigegeben sind.
Wie viel du zusätzlich freigeben solltest hängt von deiner Upload Bandbreite ab.

<p>
Wenn du grosse Dateien (mehrere Hundert MB) anbietest, die bis jetzt noch nicht im eDonkey Netzwerk
zu haben sind, stell dich bitte darauf ein diese Datei einen längeren Zeitraum anzubieten, damit
die anderen auch eine Chance haben die Datei ganz runterzuladen. Wenn du dir da nicht sicher bist:
Bitte biete keine solchen grossen Dateien an!
Es ist schon sehr frustrierend, wenn man eine grosse Datei runterlädt, die dann plötzlich aus dem Netz
verschwindet kurz bevor man sie komplett hat.


<sect1> Konfiguration

<p>

Es gibt ein paar Einstellungen, die du auf dein Bedürfnisse abstimmen solltest.

<p>

<em>Maximale Download Geschwindigkeit</em> und <em>maximale Upload Geschwindigkeit</em>: wahrscheinlich
erklären sich diese beiden von selbst. Wie auch immer; du solltest wissen, dass eDonkey ein
Verhältnis System benutzt, was bedeutet: die maximale Download Geschwindigkeit hängt von der eingestellten
maximalen Upload Geschwindigkeit ab. Wenn für den Upload 10kB/s oder mehr eingestellt sind, kannst du so schnell
wie möglich runterladen (Download mit 0kB/s = ohne Beschränkung).
Wenn du weniger als 10kB/s Upload erlaubst, wird dein max. Download automatisch
auf <tt>max. Upload * 3</tt> oder <tt>max. Upload * 4</tt> (von der Geschwindigkeit abhängig) gesetzt.

<p>

Wenn du eine DSL/Cable Verbindung hast, wird die Bandbreite für Download und Upload normalerweise
kilo<bf>bit</bf> pro Sekunde (kbps) angegeben, zum Beispiel 786/128. Teile diese Zahlen durch acht,
um deine Verbindungsgeschwindigkeiten in kilo<bf>Byte</bf> pro Sekunde (kB/s) zu erhalten.
In unserem Beispiel wären das 96kB/s Download und 16kB/s Upload.
Das sind die technisch maximalen Geschwindigkeiten deiner Verbindung. Aber es gibt einen gewissen
Overhead (zusätzliche Daten die gesendet werden müssen) wegen den verschiedenen Netzwerkschichten und
-protokollen die benutzt werden, also sind die tatsächlichen Geschwindigkeiten wohl ein wenig niedriger.
Ausserdem sollte beachtet werden, dass für jedes empfangene Paket eine Bestätigung an den Sender
geschickt werden muss. Also solltest du deinen max. Upload niedriger als den max. Verbindungsupload einstellen
(ziehe mindestens 3-6kB/s ab). Andernfalls wird auch dein Download in den Keller sinken und du kannst
dann auch nicht mehr im Internet surfen!

<p>

<em>Maximale Anzahl von Verbindungen</em>: Das ist die maximale Anzahl von Verbindungen (Sockets) die
von eDonkey genutzt werden soll. Das ist aber nur eine 'Empfehlung' an eDonkey, manchmal könnte die tatsächliche
Anzahl diesen Wert für kurze Zeit übertreffen. Die Voreinstellung ist 45 Verbindungen.
Da du aber ein *nix System betreibst und kein besch****nes System aus Redmond
solltest du hier irgendwas zwischen 350-550 einstellen.

<em>'Incoming' Verzeichnis</em>: in dieses Verzeichnis werden deine Dateien verschoben, wenn sie komplett
heruntergeladen sind. Es ist nicht empfehlenswert ein Netzlaufwerk dafür zu benutzen.

<em>'Temp' Verzeichnis</em>: hier werden deine Dateien gelagert während sie runtergeladen werden.
Wenn du genug Plattenplatz hast, kannst du das 'Incoming' und das 'Temp' Verzeichnis in die selbe Partition legen.
'Incoming' und 'Temp' sollten verschiedene Verzeichnisse sein.

Es gibt noch viel mehr Optionen, aber das sind die wichtigsten.
Mehr Optionen findest du in den über Rechtsklicks zugänglichen Pop-Up Menüs auf der Download und der Server Seite.

<sect1> Die Serverliste pflegen (nur eDonkey2000)

<bf>Dieser Abschnitt bezieht sich nur auf eDonkey2000. Overnet ist ein Netzwerk ohne Server.</bf>

<p>
Im eDonkey Netzwerk gibt es keine zentralen Server wie im alten Napster System oder anderen
File-Sharing System(Tausch-Systeme), aber es funktioniert (noch) nicht ganz ohne Server wie Gnutella).
Jeder kann einen eDonkey Server betreiben und viele davon benutzen dynamische IPs, die regelmässig wechseln.

<p>
Das bedeutet, dass du dich um deine Serverliste kümmern und sie regelmässig aktualisieren musst.

<p>
Wenn du mit der rechten Maustaste in das Serverlisten Fenster klickst, erhältst du ein Menü,
mit dem du über HTTP neue Server von Webseiten mit Serverlisten holen kannst.
Diese werden zu deiner eigenen Serverliste hinzugefügt.

<p>
Es sind immer mehrere hundert Donkey-Server im Netz.

<p>

<bf> TODO: </bf>

Serverlisten Optionen ---
immer verbunden bleiben ---
tote Server


<sect1> Suchen

<p>

Wenn du auf die Suchen Seite klickst kannst du auswählen, was du suchen möchtest (Alles, Audio, Video...).
Tipp deine Suchanfrage ein und drück Enter.

<p>
eDonkey2000: Der Server, mit dem du verbunden bist, wird nach wenigen oder auch vielen Sekunden antworten
(einige Server sind überlastet und brauchen ihre Zeit zum Antworten, meistens wegen Bandbreite), also hab Geduld.
Nachdem du ein Ergebnis erhalten hast (keine Dateien ist auch eins) kannst du auf <em>5x erweitern</em> klicken,
um die Suchanfrage an 5 weitere Server zu stellen. Um noch mehr Server zu fragen klickst du einfach öfter.

<p>
Overnet: Overnet benutzt zwar keine Server, wird aber dein Zeug trotzdem finden.
Overnet ist ein dezentralisiertes Netzwerk und deshalb können aufeinanderfolgende Suchläufe
unterschiedliche Ergebnisse liefern.
<p>

Mit einem Doppelklick oder das Rechtsklick-Menü startest du einen Download.

<p>

<em>Anmerkung:</em> Es gibt keinen <em>auf alle Server erweitern</em> Knopf und es wird auch keinen geben,
weil die von Donkey Benutzern verwalteten Server die Menge von Anfragen nicht verarbeiten können,
die enstehen würden, wenn jeder Benutzer jeden Server nach Ergebnissen fragen würde, wie es der Bot
(für Windoze) getan hat. Zu der Zeit war das Netzwerk stark belastet und viele Server Admins wurden
wirklich böse, weil sie die Anzahl maximaler Benutzer jeden Tag senken mussten.
Frag nicht nach dieser Option; es wird sie nicht geben!

<p>

Wenn du nach etwas suchst, was sehr viele Ergebnisse liefert (z.B. 'mp3'), wirst du herausfinden, dass
du nur 200 Ergebnisse auf einmal von deinem Hauptserver bekommst. Falls es mehr Ergebnisse gibt, wird der
'mehr' Knopf aktiviert und du kannst die nächsten 200 Ergebnisse erhalten, wenn du draufklickst.

<p>

Du kannst Dateien in eine 'Blacklist' schreiben. Diese Dateien werden dann in Zukunft nicht mehr
unter den Suchergebnissen angezeigt. Die GUI benutzt dafür die Datei 'gui_blacklist' im '.ed2k_gui/'
Unterverzeichnis deines Heimatverzeichnisses.

<p>

Die GUI kann Dateien filtern, die bestimmte Wörter oder Zeichenfolgen enthalten.
Dafür musst du eine Datei 'gui_filters' im Verzeichnis '~/.ed2k_gui' erstellen
(Das ist ein verstecktes Verzeichnis, es ist also möglich, dass dein Dateimanager es nicht anzeigt,
bis du dies einstellst). Diese Datei sollte genau einen zu filterndern Ausdruck pro Zeile enthalten.
Wenn eine Zeile mit einem '*' (Stern) beginnt, wird die GUI alle Ergebnisse filtern, die den Ausdruck
<em>als ganzes Wort</em> enthalten.
Wenn die Zeile nicht mit einem Stern beginnt, wird die GUI alle Ergebnisse filtern, die die Zeichenfolge
in ihrem Dateinamen haben.
Zum Beispiel:

<tscreen><verb>
deutsch
german
*de
*sex
</verb></tscreen>

in deinem Filter wird alle Ergebnisse filtern, die 'de' und 'sex' als Wort enthalten
(z.B. 'sex in the bathroom (de).avi'), aber Ergebnisse wie 'fun in essex.avi' oder
'deranged band - deranged song.mp3' anzeigen.


<sect2> Andere Methoden, um Dateien zu finden und Freunden von den Dateien zu erzählen, die du anbietest

<p>
Ein Weg, um Dateien im eDonkey Netzwerk zu finden, ist, wie oben beschrieben, das Netzwerk zu durchsuchen.
Das ist aber nicht immer der beste Weg, weil...

<itemize>
  <item> Dateien ein Fake sein können (der Name der Datei entspricht nicht dem Inhalt)</item>
  <item> man nicht immer alles Wissenswerte über eine Datei erfährt (z.B. Qualität oder Sprache eines Films)</item>
  <item> die Server manchmal überlastet sind und suchen schrecklich langsam werden kann</item>
</itemize>

<p>

Die gute Nachricht ist, dass jede Datei im eDonkey200 Netzwerk eindeutig identifiziert werden kann.
Das geht mit einem 'Hash' (im Prinzip eine sehr grosse Zahl), der für jede Zahl einmalig ist, und der Dateigrösse.
Diese beiden Informationen reichen aus, um eine bestimmte Datei im Netzwerk zu finden.
Mit diesen Informationen kannst du beispielsweise einem Freund mitteilen, was für Dateien du anbietest,
und er kann die Datei finden ohne die Suche zu benutzen.
Normalerweise werden die Dateien als so genannter 'ed2k-link' weitergegeben. ed2klinks sehen so aus:

<tscreen><verb>
ed2k://|file|nur_ein_Beispiel.mp3|3949232|ab349abf7b531c21980a0f22eeef7e21|
</verb></tscreen>

Der erste Parameter ist der Dateiname, der zweite die Grösse der Datei in Byte und der dritte Parameter ist der Hash
in hexadezimaler Form mit genau 32 Stellen, die 16 Werte annehmen können: 0-9 und a-f.

<p>

In der Downloadliste, den Suchergebnissen und den Dateien im Share kannst du über das Rechtklick-Menü die Option
'ed2k-link in Status und Zwischenablage schreiben' auswählen. Das wird die ed2k-links der gewählten Dateien
in die Zwischenablage schreiben.

<p>

Der Fragen und Antworten Abschnitt enthält mehr Informationen darüber, wie man ed2k-links von anderen Leuten benutzt.

<p>

Es gibt Webseiten, die sich dem Sammeln und Veröffentlichen von ed2k-links widmen. Der Vorteil diese Links zu benutzen
liegt darin, dass die entsprechenden Dateien oft gut verbreitet und deswegen leicht und schnell runterzuladen sind
und dass auf den Webseiten meistens zusätzliche Informationen zu den Dateien erhältlich sind.

<p>
Ein paar Seiten für den Anfang:

<itemize>
  <item><htmlurl url="http://www.google.com/search?hl=en&amp;ie=ISO-8859-1&amp;q=sharereactor&amp;btnI=I%27m+Feeling+Lucky" name="ShareReactor"></item>
  <item><htmlurl url="http://www.filenexus.com" name="FileNexus"></item>
  <item><htmlurl url="http://www.google.com/search?q=ed2k%20links" name="google for 'ed2k links'"></item>
  <item><htmlurl url="http://www.varkoume.com/donkey/index.php" name="music donkey">
</itemize>

Ein Wort der Warnung: wiederstehe der Versuchung, treibs nicht zu <htmlurl url="http://www.amazon.com/exec/obidos/ASIN/0231104561/" name="wild(e)">.

<p>
Ausserdem gibt es Suchmaschinen für das eDonkey2000 Netzwerk,
die dir die Verfügbarkeit einer Datei verraten können. Versuche
 <htmlurl url="http://jigle.com" name="Jigle"> oder
 <htmlurl url="http://www.filedonkey.com" name="Filedonkey">.


<sect1> Downloads pflegen

<p>
<bf>Was die Farben der 'Punkte'auf der linken Seite bedeuten:</bf>
   <tscreen><verb>
   weiss   die Datei ist angehalten, eingereiht, oder der Hash wird berechnet.

   grün    diese Datei ist im Netzwerk komplett verfügbar
           und wird entweder runtergeladen oder wartet
           auf einen freien Slot irgendwo (Suche).

   rot     diese Datei ist im Moment nicht im Netzwerk verfügbar
           (oder wir konnten keine Quellen finden), oder es gibt
           irgendwelche Probleme mit der Datei
           (zuwenig Speicherplatz, Fehler beim Laden, etc.).

   pink    diese Datei ist im Moment nicht komplett verfügbar
           im Netzwerk, aber wir haben Quellen von Teilen,
           die uns noch fehlen.

   gelb    diese Datei ist im Moment nicht komplett verfügbar
           und wir haben bereits alle Teil, die im Netzwerk
           verfügbar sind.
   </verb></tscreen>

<p>
<bf>Was die Farben der Fortschrittsbalken bedeuten:</bf>
   <tscreen><verb>
   schwarz diesen Teil haben wir schon (gut)

   grün    diesen Teil haben wir noch nicht, aber
           es gibt wenigstens eine Quelle die ihn hat (gut).
           Je dunkler, desto mehr Quellen.

   rot     diesen Teil haben wir nicht, und es konnte keine Quelle
           dafür gefunden werden (schlecht).
           Abwarten ist die einzige Möglichkeit.

   weiss   bedeutet nichts Besonderes. Wenn die Datei angehalten wurde
           sind die Teile, die du noch nicht hast weiss.
   </verb></tscreen>

<p>
<bf>Was die verschiedenen Download Zustände bedeuten:</bf>
   <tscreen><verb>
   Download      macht genau das :)

   Suche         eDonkey lädt diese Datei gerade nicht runter,
                 aber sucht nach Quellen und wartet in den
                 Warteschlangen der Leute, die die Datei haben,
                 bis du mit dem Runterladen an der Reihe bist.
                 Das ist normal und der häufigste Zustand.
                 Erwarte keine sofortigen Downloads. Normalerweise
                 muss man warten, bevor man etwas runterladen kann,
                 weil auch andere das Gleiche wollen.

    Eingereiht   Diese Datei ist lokal in der Warteschlange, was
                 bedeutet, das nicht runtergeladen, nach Quellen
                 gesucht oder auf einen freien Slot gewartet wird.
                 Das kommt vor, wenn:

                 (a) eDonkey bereits viele Verbindungen für andere
                     Dateien verwendet und momentan nicht genug übrig
                     sind für diese Datei.
                     Erhöhen der Option 'max. Verbindungen' könnte hier
                     helfen (Optionen Seite -> Core).

                 (b) es sind viele Downloads aktiv, und nach mehr
                     Quellen zu suchen macht keinen Sinn.
                     Erhöhen der Priorität eines eingereihten
                     Downloads sollte ihn recht bald in den Zustand
                     'Suche' ändern (funktioniert natürlich nur, wenn
                     die meisten anderen Downloads eine niedrigere
                     Priorität haben).

   (Hashing...)  Bedeutet, das wir den Zustand der Datei nicht kennen.
                 Normalerweise direkt nachdem die GUI mit dem Core
                 verbunden wird, oder für ein paas Sekunden, wenn ein
                 Block fertig geladen ist. Diesen Zustand (_mit_ den
                 Klammern!) solltest du nicht all zu lange sehen.

   Hashing...    Das (ohne Klammern) bedeutet, dass den Hash deiner Dateien
                 berechnet, um sicher zu stellen, dass nichts fehlerhaft ist.
                 Dass passiert wenn du den Core startest und kann eine Weile
                 dauern (abhängig von deinem System).

   Pause         Die Datei wurde angehalten. Sie momentan nicht aktiv und
                 wird nicht runterladen. Um weiter runter zu laden musst
                 die Datei wiederaufnehmen.

   zuwenig       Bedeutet, dass entweder in 'temp' oder 'icoming' nicht genug
    Platz        Speicherplatz zur Verfügung steht. Beachte, dass eDonkey eine
                 Minute oder so brauchen kann, um zu bemerken, dass du mehr
                 Platz freigeschaufelt hast.
   </verb></tscreen>


<bf>TODO:</bf>
downloading ---
pausing ---
resuming ---
download priority ---
x.part filenames ---
and the temp directory

<sect1> Uploads pflegen

<p>

Hier gibt es nichts zu tun. Du kannst nur zusehen und stolz auf dich sein, dass du
anderen ermöglichst die Dateien zu bekommen.

<p>

In eDonkey können keine Uploads abgebrochen werden und es ist nicht möglich keine
Dateien anzubieten. Denk immer daran, dass alles, was du runterlädst von einem anderen
heraufgeladen werden muss. Wenn keiner etwas hochlädt, kann auch niemand etwas herunterladen.

<p>

In einem geschlossenen Netzwerk wie eDonkey is die rechnung ziemlich einfach:
 UPLOAD = DOWNLOAD

Das Uploaden zieht nichts von deiner Downloadgeschwindigkeit ab.
Upload und Download Geschwindigkeiten sind mit einer breitbandigen Verbindung (DSL/Cable)
mehr oder wenig unabhängig voneinander.



<sect1> Tricks mit 'erweiterten Befehlen'
<p>
'Erweiterte Befehle' sind Befehlszeilenanweisungen, die von der GUI an den Core
geschickt werden können. Das geht mit der Toolbar, der Eingabeleiste.

<p>
Wenn der Donkey nach dem Start versucht sich mit irgendeinem Server zu verbinden,
obwohl du einen bestimmten Server möchtest. Auf 'Trennen' zu klicken bringt nichts.
Wenn du aber ein 'x' in der Toolbar eingibst kannst du dich innerhalb weniger
Sekunden mit dem Server deiner Wahl verbinden, obwohl die Option
'immer verbunden bleiben' eingestellt ist.

<p>
Wenn du für eine andere Anwendung mehr Bandbreite brauchst, kannst du
<em>dumax 1 1</em> eingeben, um den Up- und Download auf 1kB/s zu beschränken.
Wenn du dann fertig bist, kannst du mit <em>dumax 0 10</em> die Download Geschwindigkeit
auf 0 (unbegrenzt) und die Upload Geschwindigkeit auf 10kB/s (oder alten Werte) stellen.


<sect1> ed2k-links

<p>
Wenn du einen ed2k-link an die GUI übergibst startet automatisch der Download
der dazugehörigen Datei. Dafür (und für ed2k-Server-Links) gibt es mehrere Möglichkeiten.

   <sect2> Drag'n'Drop

   <p>

   Du kannst Drag'n'Drop benutzen, um ed2k-links von deinem Browser in das GUI Fenster
   zu ziehen. Server Links werden zur Serverliste hinzugefügt. Dateilinks werden
   abhängig von deinen Einstellungen die Datei sofort zur Downloadliste hinzufügen
   oder den Link in das Eingabefeld auf der Suchen Seite schreiben.
   Drag'n'Drop sollte mit jedem Browser funktionieren (von lynx einmal abgesehen).

   <sect2> Clipboard

   <p>

   Man kann auch einen oder mehrere Links in die Zwischenablage kopieren und sie entweder
   mit Strg+v oder der mittleren Maustaste in der Toolbar einfügen.

   <sect2> Pipe (für erfahrene Benutzer)

   <p>

   Eine Pipe ist etwas ähnliches wie eine Datei. Sie erscheint, wie auch Dateien in einem
   Verzeichnis, aber sie ist direkt mit der GUI verbunden. Diese wird sofort jeden Inhalt,
   der in diese Datei geschrieben wird empfangen. Das ermöglicht es sowohl über System Befehle
   oder ein anderes Programm einen ed2k-link an die GUI zu schicken. Zum Beispiel:

   <tscreen><verb>
   %echo "ed2k://|file|blödes_Beispiel.txt|42321|abababababababababababababababab|" > ~/.ed2k_gui/pipe
   </verb></tscreen>

   Diese Pipe wird auch von anderern Programmen, wie dem Linkhandler für
   KDE oder GNOME (siehe unten) verwendet.
   (Anmerkung: bei älteren Versionen der GUI heisst die Pipe /tmp/.ed2k_gui_socket)

   <sect2> Linkhandler für KDE und GNOME

   <p>

   Seit der GUI Version 0.5.0 ist es möglich die GUI als Linkhandler für KDE oder GNOME
   einzutragen. Diese Möglichkeit findet man bei den Optionen.
   Anmerkung: Auch wenn du GNOME2 verwendest kann es nötig sein den Linkhandler für GNOME1
   zu installieren, weil noch nicht alle Anwendungen an GNOME2 angepasst sind (z.B. Galeon).

   <p>

   Wenn du jetzt in dem Browser deiner Desktopumgebung (KDE: Konqueror, GNOME: Galeon)
   auf einen ed2k-link klickst, wird die GUI mit dem ed2k-link als erstem
   Befehlszeilenparameter gestartet.

   <p>

   Das funktioniert aber nicht mit einem Browser, den deine Desktopumgebung nicht interessiert.
   Also musst du mit Mozilla, Opera oder Safari Drag'n'Drop benutzen.


<sect1> Tastenkürzel

<p>

Einige der wichtigsten Pop-Up Menüfunktionen können auch mit Tastenkürzeln
ausgeführt werden. Diese Tastenkürzel sind nur aktiviert, wenn eine oder
mehrere Zeilen einer Liste (z.B. Downlads) den Fokus haben (wenn du also
gerade ein paar Zeilen markiert hast).

<sect2> Tastenkürzel der Downloadliste

<p>
<tscreen><verb>
Kürzel             Funktion
======             ========

  l                Priorität auf niedrig setzen
  n                Priorität auf normal setzen
  h                Priorität auf hoch setzen

  p                gewählte Downloads anhalten
  r                gewählte Downloads wiederaufnehmen

  a                alle auswählen
  u                alle abwählen

 <delete>          gewählte Downloads abbrechen
</verb></tscreen>

<sect2> Tastenkürzel der Suchergebnissliste

<p>
<tscreen><verb>
Kürzel             Funktion
======             ========

  b                gewählte Suchergebnisse zur Blacklist hinzufügen
  d                gewählte Suchergebnisse runterladen
  c                gewählte Suchergebnisse mit anderem Dateinamen runterladen
  n, s, a          Fokus auf das Eingabefeld setzen
 <enter>           gewählte Suchergebnisse runterladen
 <shift>+<enter>   gewählte Suchergebnisse mit anderem Dateinamen runterladen
</verb></tscreen>


<sect2> Tastenkürzel der Serverliste

<p>
<tscreen><verb>
Kürzel             Funktion
======             ========

  c                mit einem der gewählten Server verbinden

  l                Priorität auf niedrig setzen
  n                Priorität auf normal setzen
  h                Priorität auf hoch setzen

  a                alle auswählen
  u                alle abwählen

</verb></tscreen>

<sect2> Tastenkürzel der Uploads, Status, Optionen, Shared und Statistik Seiten

<p>
Für diese Seiten gibt es noch keine Tastenkürzel.




<sect>Fragen und Antworten, Tips und Tricks<p>

<sect1> Frequently Asked Questions (FAQ) - Häufig gestellte Fragen
<p>

Bitte wirf einen Blick auf die FAQ (
<htmlurl url="http://ed2k-gtk-gui.sourceforge.net/faq.shtml" name="Englisch">,
<htmlurl url="http://ed2k-gtk-gui.sourceforge.net/faq_german.shtml" name="Deutsch"> oder
<htmlurl url="http://ed2k-gtk-gui.sourceforge.net/faq_french.shtml" name="Französisch">) auf der
<htmlurl url="http://ed2k-gtk-gui.sourceforge.net" name="Projekt Homepage">.

<sect1> Einen HTTP-Proxy zum holen von Serverlisten über HTTP benutzen
<p>
Wenn du einen HTTP Proxy Server für den Zugriff auf das Internet benutzen musst
und du möchtest, dass die GUI diesen Proxy benutzt, um Serverlisten über HTTP zu holen,
musst du die Umgebungsvariable 'http_proxy' setzen, bevor du die GUI startest (=Befehlszeile):

<tscreen><verb>
export http_proxy=http://wwwcache.somehost.net:8080/
</verb></tscreen>

Beachte den <bf>Slash '/' am Ende</bf>. Andere Programme wie wget und lynx werden diese
Einstellung auch benutzen. Um zu prüfen, ob die Variable gesetzt ist kannst du mit
<tt>echo $http_proxy</tt> prüfen.

Das Beste ist wahrscheinlich die export-Zeile ans Ende deiner &tilde/.bashrc Datei anzufügen,
dann musst du das nicht jedesmal eintippen, wenn du die GUI startest.
Die Umgebungsvariable 'http_proxy' wird dann jedesmal, wenn du dich anmeldest automatisch gesetzt.

<sect1> Corruption found in XYZ at N

<p>

Das bedeutet, dass nachdem ein Teil einer Datei heruntergeladen wurde die Checksumme (Teil-Hash)
dieses Teils der Datei auf deiner Festplatte nicht mit der Checksumme übereinstimmt, die der Teil
haben sollte.

<p>

Darüber muss man sich keine Gedanken machen. eDonkey/Overnet hat das Problem bemerkt
und wird diesen Teil erneut herunterladen.

<p>

Übertragungsfehler passieren eben. Dagegen kann man nichts machen. Mach dir keinen Kopf.
Falls das aber mit verschiedenen Dateien sehr, sehr oft passiert ist es möglich, dass
es irgendein Hardwareproblem gibt (RAM/Festplatte/Controller/Kabel fehlerhaft, Overclocking,
Überhitzung des Systems, Dateisystemprobleme usw) .


<sect1> Ändern des Standardbrowsers

<p>

Die GUI sucht auf deinem System nach einem Browser und wird den ersten, den sie findet benutzen
(Galeon, Konqueror, Mozilla, Netscape, Opera). Wenn du einen bestimmten Browser bevorzugst,
solltest du die Umgebungsvariable 'BROWSER' in der Befehlszeile setzen bevor du die GUI startest:

<tscreen><verb>
export BROWSER=/usr/bin/konqueror
</verb></tscreen>

Du musst den absoluten Pfad des Programms angeben. Diesen Pfad erhältst du entweder mit
<tt>whereis konqueror</tt> oder <tt>which konqueror</tt> (Anmerkung:
<tt>which</tt> findet die Programme vielleicht nicht immer, weil Pfade fest vorgegeben sind).

Das Beste ist wahrscheinlich die export-Zeile ans Ende deiner &tilde/.bashrc Datei anzufügen,
dann musst du das nicht jedesmal eintippen, wenn du die GUI startest.
Die Umgebungsvariable 'BROWSER' wird dann jedesmal, wenn du dich anmeldest automatisch gesetzt.


<sect1> Das Vorschau-Skript anpassen

<p>
Mit der neuesten GUI Version kannst du laufende Downloads ansehen, bevor sie komplett sind,
wenn der Core auf deinem lokalen System läuft und wenn dein Core die Namen der
temporären Dateien (x.part) mitteilt. Alle aktuellen Versionen des Core sollten das machen.

Wenn du die Vorschaufunktion zum ersten Mal benutzt, schreibt die GUI ein Standardskript
auf deine Festplatte. Dieses Vorschauskript heisst <tt>~/.ed2k_gui/ed2k_gui_preview</tt>.
Diese Datei kann mit einem Texteditor nach deinen Bedürfnissen angepasst werden.

Und so funktioniert das: Die GUI ruft das Skript auf und übergibt den Pfad der teilweise heruntergeladenen
Datei als Parameter. Dieser erscheint im Skript als <tt>$*</tt> (was soviel bedeutet wie:
'mit allen erhaltenen Parametern ersetzen'). Die GUI wird auch eine Umgebungsvariable
<tt>ED2K_PREVIEW_EXTENSION</tt> auf die Dateierweiterung in Kleinbuchstaben setzen
(weil man mit einem Namen wie /mnt/temp/34.part den Dateityp nicht kennt).

Jetzt vergleicht das Skript die Dateierweiterung mit den eingetragenen Werten im <tt>case</tt>-Teil
des Skripts. Gibt es eine Übereinstimmung wird der Name zum abspielen der Datei in der Variable
<tt>PREVIEW_BIN</tt> mit jeglichen Parametern für das Programm gespeichert.
Danach wird das Programm gestartet.
Wie du siehst ist es kinderleicht dein Lieblingsprogramm einzustellen oder neue Dateitypen hinzuzufügen.

Nachdem das Programm beendet ist musst du auf Enter drücken, um das xterm Fenster, das geöffnet wurde,
um die Ausgaben des Programms anzuzeigen, zu schliessen (somit kann das Abspielen auch mit Strc+c
unterbrochen werden, z.B. für mpg123/ogg123).

Wenn du nicht möchtest, dass das Skript wartet nachdem das Programm beendet wurde, entfernst du einfach
folgende zwei Zeilen aus dem Skript:
<tscreen><verb>
echo "Finished. Hit <enter> to close this window"
read
</verb></tscreen>

Wenn du möchtest, dass das xterm Fenster gleich nach dem Aufruf des Programms geschlossen wird
entferne einfach die beiden Zeilen von oben und ändere die Zeile, in der das Programm augerufen wird in:
<tscreen><verb>
$PREVIEW_BIN "$*" &
</verb></tscreen>


<sect1> ed2k-links benutzen

<p>
Bitte schau dir den Abschnitt über ed2k-links im Kapitel Anwendung an.


<sect1> Einen Befehl beim Beenden eines Downloads ausführen

<p>
TODO, see FAQ

<sect1> Sonderzeichen werden in der GUI nicht richtig angezeigt

<p>
Wenn das in Dateinamen oder Servernamen passiert, dann wahrscheinlich wegen deiner Spracheinstellung.
Du musst rausfinden, wie du die Spracheinstellung auf etwas passendes setzt.
Wenn du die Spracheinstellung aber änderst, dann benutze auf jeden Fall den UTF8 Zeichensatz und nicht
ISO-8859-X (z.B. de_DE.UTF8).
<p>
Wie auch immer, eDonkey2000 und Overnet teilen der GUI oder anderen Clients nicht mit,
mit welchem Zeichensatz ein String codiert ist. Also wirst du Dateinamen bei den Suchergebnissen
nie genau so sehen, wie jemand anders mit einer anderen Spracheinstellung. Das sollte aber
normalerweise kein großes Problem sein.

<sect1> DNS lookup für Server

<p>
TODO, see FAQ


<sect1> Ich habe ein Mausrad und es passieren komische Dinge. Warum?

<p>
Warum? Keine Ahnung. Wahrscheinlich ein GTK+ Bug. Bei den Optionen kannst du die
'Doppelklicks in den Listen deaktivieren'. Das sollte das Problem beheben.


<sect1> Die Vorschaufunktion ist abgeschaltet - was stimmt nicht?

<p>
Wenn die Vorschaufunktion im Rechtsklick Menü in der Downloadliste ausgegraut ist
gibt es dafür zwei Gründe:
<p>
(1) es ist keine Reihe ausgewählt
<p>
(2) die GUI denkt, das der Core auf einem anderen Computer läuft. Das ist der Fall,
wenn du einen anderen Hostnamen als 'localhost' oder '127.0.0.1' angibst.
(Anmerkung: wegen Anfragen von Benutzern ist eine ausgeklügeltere Erkennung des Hostnamens
verworfen worden. Also ist zur Zeit alles bis auf 127.0.0.1 oder localhost nicht lokal.)



<sect1> Mehrere eDonkeys auf verschiedenen Computern mit einer Internetverbindung

<p>
Problem: Dein Router kann eine Portnummer nur an genau eine IP Adresse weiterleiten.
<p>
Lösung: Betreibe alle Donkey Cores auf unterschiedlichen Ports (z.B. einen mit 3662, einen
mit 4662, einen mit 5662 usw), und lasse deinen Router den entsprechenden Port zur passenden
IP weiterleiten.
Anmerkung: Es muss für jeden Core nur ein TCP Port weitergeleitet werden, um eine hohe ID zu erhalten.





<sect1> Mehrere Cores

<p>
Möglicherweise laufen mehrere Cores und du willst sie entweder gleichzeitig oder zu unterschiedlichen
mit einer GUI verbinden. In diesem Fall wirst du wahrscheinlich die '-n' Befehlszeilenoption der GUI
benutzen wollen, was die GUI in einer anderen 'Instanz' startet. Das bedeutet, dass ein anderer Satz
Konfigurationsdateien benutzt wird.
Für den ersten Core startest du die GUI ganz normal. Für den zweiten Core übergibst du die Option '-n 2'
an die GUI. Damit werden deine Statistiken usw getrennt behandelt. Du kannst die GUI beim starten auch
automatisch zum entsprechenden Core verbinden lassen.

<sect1> Mehrere GUIs mit einem Core

<p>
Das ist ein Problem. Ein Core kann immer nur mit einer GUI verbunden sein.

<p>
Es gibt aber eine einfache und freie Lösung dafür:
<htmlurl url="http://www.uk.research.att.com/vnc/" name="VNC">.

Installiere einen VNC Server auf dem Rechner, auf dem der Core läuft und VNC Clients (gibts für alle
Plattformen) auf den Rechnern, von denen du die GUI und den Core kontrollieren willst.
Jetzt startest du die GUI auf dem Rechner, auf dem der Core läuft und kontrollierst die GUI über VNC.
Ein VNC Desktop kann von mehreren Usern genutzt werden, also sollte dieses Problem gelöst sein.
Wenigstens theoretisch, da ich es noch nicht selbst probiert habe.


<sect1> Ein kleines Startskript

<p>
Das ist mein (Thomas) Startskript for eDonkey. Ich hatte keine Lust jeden Tag in das richtige
Verzeichnis zu wechseln... Es holt eine neue Serverliste, startet den Core, wartet und startet dann die GUI.

<p>
<code>
&num;!/bin/sh
&num; eDonkey2000 Startskript
&num; Den Donkey in seinem Heimatverzeichnis starten, ersetz das mit deinem eDonkey Verzeichnis!
cd &tilde;/edonkey
&num; Serverliste holen (wir versuchen clever zu sein)
mv server.met _server.met
wget http://ocbmaurice.dyndns.org/pl/slist.pl/server.met?download/server-max.met || cp _server.met server.met
rm _server.met
&num; eDonkey in einer benannten screen-Session starten (Du brauchst GNU screen!)
screen -dmS donkey -- ./donkey - !
&num; Alternative:
&num; ./donkey - ! &amp;
&num; Ein wenig warten...
sleep 5
&num; Die GUI starten
ed2k_gui -c
</code>


<sect1> Den Core im Hintergrund oder über telnet/ssh starten

<p>
Normalerweise kannst du Programme in der Shell mit einem '&' am Ende starten
und sie werden im Hintergrund laufen. Leider funktioniert das mit dem eDonkey nicht richtig.
Ähnliche Probleme gibt es auch, wenn du denn Donkey über telnet/ssh (ssh ist natürlich zu bevorzugen!)
starten willst. Natürlich soll der Core weiterlaufen, wenn du dich abmeldest.
'nohup' funtioniert leider mit dem Donkey auf vielen Systemen nicht.

<p>
Für solche Zaubereien brauchst du das 'screen' Tool, das wahrscheinlich schon auf deinem System installiert
ist. Lies das Manual mit <tt>man screen></tt>. Hier ist eine Zusammenfassung:

<p>
Startw den Donkey mit

<tscreen><verb>
cd /home/joe/ed2k/
screen -dmS donk ./donkey0.50.1 - !
</verb></tscreen>

Das 'cd /home/joe/ed2k' stellt sicher, dass der Core seine Konfigurationsdateien immer im selben Verzeichnis
liest und schreibt. Wenn du das nicht machst, wird der Core diese Dateien in das aktuelle Arbeitsverzeichnis
schreiben, was wahrscheinlich irgendwann Probleme bereitet.

Die Option '-' lässt den Core nach einer GUI horchen und die Option '!' lässt den Core nur Anweisungen
von der GUI annehmen, nicht aber von der Befehlszeile. Das wird benötigt, um den Core korrekt aus der
GUI zu beenden.

screen verlässt du, indem du zuerst Strg-a, dann Strg-d drückst. Jetzt solltest du wieder in der Shell sein.

Du kannst den Donkey jederzeit mit

<tscreen><verb>
screen -d -r donk
</verb></tscreen>

zurückholen.




<sect1> Alle Server sagen ich wäre 'firewalled', aber das stimmt NICHT!

<p>
Das kann verschiedene Gründe haben. Das mit der Firewall darf man nicht so wörtlich nehmen.
'Firewalled' beudeutet nur, dass sich ein Server nicht erfolgreich über den eingestellten
Port (normalerweise 4662) mit dem Core verbinden konnte.

<p>
Natürlich ist eine Möglichkeit dafür, dass du wirklich hinter einer Firewall bist.
Entweder läuft diese auf deinem Computer oder auf deinem Gateway/Router und blockiert
den ankommenden Verbindungsversuch von dem Server.

<p>
Eine andere Möglichkeit ist, dass du einen DSL Router oder etwas ähnliches verwendest
und dieser NAT (= Network Address Translation = IP Masquerading = Internet Connection Sharing/ICS)
ausführt. NAT wird benutzt, damit mehrere Computer eines kleinen Netzwerk sich eine Internetverbindung
teilen können In diesem Fall wird deinem Router die 'öffentliche IP' von deinem ISP (Internet Service
Provider) zugewiesen, und alle Computer im LAN (Local Area Network) haben eine 'private IP'
(z.B. 192.168.x.x oder 10.x.x.x). In diesem Fall musst du Portweiterleitung auf dem Router einrichten.
Der TCP Port 4662 muss zu dem Computer mit dem Core weitergeleitet werden. Wenn in deinem Netzwerk mehrere
Donkeys laufen, musst du sie alle auf unterschiedlichen Ports betreiben und jeden dieser Ports zur
entsprechenden IP weiterleiten lassen.

<p>
Ausserdem gibt es einige falsch eingerichtete Server, die keine abgehenden Verbindungen zu 'exotischen'
Ports erlauben (also andere als 4662). Diese Server werden dir sagen du wärst 'firewalled', obwohl sie
es selbst sind. Das wird wahrscheinlich gelegentlich passieren, wenn du einen anderen Port als TCP 4662
benutzt.Falls aber wirklich alle Server behaupten du wärst 'firewalled', ist das kein sehr wahrscheinlicher
Grund dafür.


<sect1> Ich muss einen SOCKS Proxy benutzen, aber der Core scheint das nicht zu unterstützen

<p>
Leider Unterstützt er wirklich keine SOCKS Proxy Server, aber du könntest
<htmlurl url="http://tsocks.sourceforge.net/" name="tsocks"> probieren, was SOCKS Proxy Unterstützung
für Programme bereitstellt, die das eigentlich nicht unterstützen. (Das funktioniert über ein
Library, die Network System Calls nach connect() abfängt und sie zu einem SOCKS Proxy weiterleitet)


<sect1> Die DSL/Cable Verbindung wird träge und Surfen wird zur Qual

<p>
Deine Internetverbindung wird, nachdem eDonkey eine Weile läuft schrecklich langsam oder träge
(der Verbindungsaufbau zu einem Webserver oder das Abrufen deiner eMails dauert plötzlich einige
Sekunden statt Millisekunden)

Vorneweg: wenn das Problem mit bestimmten Servern unabhägig davon, ob eDonkey läuft oder nicht,
reproduziert werden kann liegt das Problem woanders. Falls du PPPoE (PPP-over-Ethernet) benutzt
solltest du beispielsweise die MTU Einstellungen deines Netzwerkgerätes (pppX oder ethX) überprüfen.
Falls das Problem nur auftritt, wenn eDonkey viel uploaded: lies weiter.

Hier eine <bf>kleine Zusammenfassung des Problems</bf>: dein DSL Router hat eine eingebaute Warteschlange
für Pakete, die ziemlich einfach arbeitet:
Das zuerst ankommende Paket geht auch zuerst wieder raus (FIFO = first in first out). Wenn die Warteschlange
deines Routers voll ist, werden einfach Pakete "weggeworfen". Das ist ein ganz normaler Vorgang und das TCP
Protokoll kümmert sich darum. Das Problem besteht darin, dass für jedes empfangene Paket eine kleine
Bestätigung gesendet werden muss (ACK = acknowledgement), damit der Absender sicher sein kann, dass das
Paket angekommen ist. Dieser Mechanismus wird benutzt, um verlorengegangene Pakete auszugleichen
und die Übertragungsgeschwindigkeit an die verfügbare Bandbreite anzupassen.
Wenn die Warteschlange deines Router wegen dem Upload von eDonkey voll ist und du dich mit einem Webserver
verbinden willst, wird die Verbindungsanfrage (SYN) zum Router geschickt, der sie einreiht.
Wenn die Warteschlange aber voll ist wird es einige Sekunden dauern, bis das SYN Paket tatsächlich zum
Webserver gesendet wird, weil der Router normalerweise nicht zwischen wichtigen und unwichtigen Paketen
unterscheiden kann. Das gleiche wiederholt sich für jedes weitere Paket, das du sendest (z.B.
eine HTTP-GET Anfrage deines Webbrowsers).
Darum wird die Sache dann träge. Du musst bedenken, dass auch wenn deine Verbindungsgeschwindigkeit für
den Upload technisch gesehen z.B. 128kbps (16 kB/s) ist, wird doch ein Teil davon durch die Header der
unterschiedlichen beteiligten Protokolle verbraucht. Also ist die effektive Geschwindigkeit niedriger
und deine Uploadgeschwindigkeit kann leicht ausgereizt werden, auch wenn die eingestellten Werte unter
dieser Grenze liegen.

<bf>Was tun?</bf>

Ganz einfach: du möchtest Quality-of-Service (QoS). Neuere 2.4.x Linux Kernel haben das schon dabei,
du musst nur sicherstellen, dass dein Kernel mit voller QoS Unterstützung kompiliert ist
(als Modul oder fest eingebaut).

Das Prinzip ist einfach: wir stellen sicher, dass die Paketwarteschlange des Router nie voll wird.
Um das zu erreichen werden die Pakete nicht mehr auf dem Router, sondern auf deinem Linuxrechner in die
Warteschlange gestellt. (Anmerkung: normalerweise passiert das nicht, weil die Verbindung von deinem Rechner
zum Router sehr viel schneller als die Verbindung zum Internet ist, so dass der Linux Kernel im Normalfall
einfach alles ohne Verzögerung zum Router schicken wird). Da jetzt die Warteschlange von deinem Linux Kernel
verwaltet wird kannst du alle möglichen schönen Dinge damit machen.
Zum Beispiel können einige Pakete Vorrang vor anderen erhalten. Diese Pakete werden dann das Warten
'überspringen' und sofort gesendet, auch wenn andere (weniger wichtige) Pakete warten.
Ich persönlich gebe dem Verkehr auf den 'interaktiven' Ports (21, 22, 23 und 110 aber nicht 80, weil
viele Windowsbenutzer ihren Donkey diesen Port benutzen lassen), dem Verkehr zu meinen 'Lieblingswebseiten'
und allen 'kleinen Pakete' (normalerweise SYN und ACK) die höchste Priorität.

Eine gute Beschreibung davon gibt es hier von Emmanuel Roger:
<htmlurl url="http://www.prout.be/qos/QoS-connection-tuning-HOWTO.html" name="http://www.prout.be/qos/QoS-connection-tuning-HOWTO.html">.

Aus meiner Erfahrung kann ich nur raten die Finger von anderen HOWTOs (wie das
<htmlurl url="http://www.tldp.org/HOWTO/ADSL-Bandwidth-Management-HOWTO/index.html" name="ADSL-Bandwidth-Management-HOWTO">),
zu lassen. Es sei denn du suchst eine Herausforderung. Dieses und die meisten anderen HOWTOs, die ich dazu
gefunden habe, erfordern es die Kernel-Quellen und die ipables-Quellen zu patchen, was sich als besonders
schwierig erweist, wenn die dort erwähnten Patches nicht mit den neuesten Kernel und iptables Releases
funktionieren...

Hier ist ein Ausschnit aus meinem iptables start-up script, falls es jemanden interessiert:

<code>
	##########################################################
	#
	# Quality of Service (QoS)
	#
	# from http://www.prout.be/qos/QoS-connection-tuning-HOWTO-4.html
	#
	##########################################################

	# reset

	tc qdisc del dev eth1 root 2>/dev/null > /dev/null


	# mark packets with size 0-500 (considered interactive traffic)
	#
	iptables -t mangle -A OUTPUT -m length --length 0:500 -j MARK --set-mark 3

	# mark UDP packets as important as well
	#
	iptables -t mangle -A OUTPUT -p udp -j MARK --set-mark 3

	# bigger packets will be marked data traffic
	#
	iptables -t mangle -A OUTPUT -m length --length 500:1500 -j MARK --set-mark 4

	# mark ssh/smtp/pop3 packets also as priority
	# (not http, due to many donkey people using port 80)

	for i in 22 25 110
	do
		iptables -t mangle -A OUTPUT -p tcp --dport "$i" -j MARK --set-mark 3
		iptables -t mangle -A OUTPUT -p tcp --dport "$i" -j TOS --set-tos Minimize-Delay
	done

	# mark favourite sites high priority traffic.
	#
	# slashdot(new) slashdot.org, www.ct.heise.de,
	#	edonkey2000, jigle.com, jabber.org
	#	google
	#
	for i in "66.35.250.150" "64.28.67.150" "193.99.144.71" \
			"198.77.34.120" "212.249.10.246" "208.245.212.108" \
			"216.239.39.101"
	do
		iptables -t mangle -A OUTPUT -p tcp -d "$i/255.255.255.255" -j MARK --set-mark 3
		iptables -t mangle -A OUTPUT -p tcp -d "$i/255.255.255.255" -j TOS --set-tos Minimize-Delay
	done

	# mark whole subdomains important
	#
	# amazon/imdb - sourceforge.net
	#
	for i in "207.171.166.0" "216.136.171.201"
	do
		iptables -t mangle -A OUTPUT -p tcp -d "$i/255.255.255.0" -j MARK --set-mark 3
		iptables -t mangle -A OUTPUT -p tcp -d "$i/255.255.255.0" -j TOS --set-tos Minimize-Delay
	done

	# create root cvq qdisc for our device eth1
	#
	tc qdisc add dev eth1 root handle 10: cbq bandwidth 10Mbit avpkt 1000 mpu 64

	# DL bandwidth = 576 kbits
	# UL bandwidth = 288 kbits
	#
	# Interactive class rate = DL bandwidth / 20 = 29
	# Data class rate = UL bandwidth - Interactive class rate = 259
	#
	# Let's make the latter a bit smaller just to be on the safe side
	# (we don't want a single packet ever to be queued on the router)
	#  => 190, which is much lower than suggested, but works best wor me
	#
	# (1500 is interface MTU?)
	#
	tc class add dev eth1 parent 10:0 classid 10:1 cbq bandwidth 10Mbit \
		rate 29Kbit allot 1500 prio 1 maxburst 10 avpkt 100 isolated weight 100

	tc class add dev eth1 parent 10:0 classid 10:2 cbq bandwidth 10Mbit \
		rate 190Kbit allot 1500 prio 8 maxburst 2 avpkt 1500 bounded weight 1500

	# tell kernel which class we want to send packets to

	tc filter add dev eth1 parent 10:0 protocol ip handle 3 fw flowid 10:1
	tc filter add dev eth1 parent 10:0 protocol ip handle 4 fw flowid 10:2
</code>


<sect1> "Couldn't create Temp File" Fehlermeldung

<p>
Das scheint mit neueren Cores zu passieren. Die wahrscheinlichste Ursache ist, dass eDonkey/Overnet
mehr sogenannte 'file descriptors' (ein 'file descriptor' für jede öffene Datei und Netzwerkverbindung)
benutzt, als dir als normaler Benutzer auf deinem System erlaubt sind.

<p>
Wie viele 'file descriptors' dir als Benutzer erlaubt sind, kannst du mit

<tscreen><verb>
%ulimit -n
</verb></tscreen>

<p>
prüfen. Dieser Wert ist für <em>alle</em> laufenden Programme und Prozesse.

Diese Grenze kann als root in der Datei /etc/security/limits.conf durch Anhängen
einer Zeile wie der Folgenden geändert werden:

<tscreen><verb>
tim     hard    nofile  4096
</verb></tscreen>

<p>
'tim' ist der Benutzername, 'hard' steht für 'hard limit', 'nofile' steht für
die Zahl der erlaubten 'file descriptors' und 4096 ist der Wert.
Du kannst auch eine größere Zahl angeben, aber 4096 sollte ausreichen.
<p>
Jetzt mußt du dich noch um eine Sache kümmern, und das könnte sich von Distribution zu Distribution
unterscheiden. Wenn es die Datei <tt>/etc/pam.d/common-session</tt> gibt, dann sollte folgende Zeile
enthalten sein:
<tscreen><verb>
session required  pam_limits.so
</verb></tscreen>
Wenn es diese Datei n icht gibt, musst du diese Zeile in <tt>/etc/pam.d/login</tt> hinzufügen oder auskommentieren.
Wenn du gdm/kdm/xdm zum einloggen benutzt, solltest du <tt>/etc/pam.d/gdm</tt>, <tt>/etc/pam.d/kdm</tt> oder
<tt>/etc/pam.d/xdm</tt> diese Zeile hinzufügen.
<p>

<p>
Nach dem Bearbeiten dieser Datei musst du dich noch einmal <em>'richtig'</em> anmelden
(Abmelden von X und erneutes Anmelden an der Konsole oder xdm/kdm/gdm).
Wenn du danach 'ulimit -n' in einem xterm ausführst, sollte der neue Wert
ausgegeben werden und das Problem behoben sein.

<p>
Das genaue Vorgehen könnte von deinem System / deiner Distribution abhängen. Lass es mich bitte wissen,
falls das Vorgehen auf deinem System anders ist.



<sect1> Die GUI erkennt meinen manuell gestarteten Core nicht!

<p>
Zuallererst: Hast du die '-' Option beim starten des Cores benutzt?
Die '-' Option lässt den Core auf dem angegebenen aport nach einer GUI horchen.
Wenn die Option nicht übergeben wird kann die GUI keine Verbindung zum Core herstellen.
Deswegen sucht die GUI nur nach einem Core der mit der Option gestartet wurde.

<p>
Zweistens erwartet die GUI, dass der Core 'donkey*', 'overnet*', oder 'cdonkey*' heisst
(nur der Anfang des Namens ist wichtig).
Wenn du das Programm umbenannt hast, kann die GUI es nicht finden (wie sollte sie?).



<sect1> Ich möchte die GUI-Core Verbindung über SSH tunneln...
aber die GUI besteht auf einem Lokal laufenden Core, wenn ich 'localhost'
oder '127.0.0.1' als lokales Ende des Tunnels nehme.

<p>
Zwei einfache Lösungen: Entweder eine andere (nicht localhost) IP des Rechners nehmen, z.B. die IP
der Netzwerkkarte (z.B. 192.168.0.2), oder eine Zeile zu /etc/hosts hinzufügen, z.B.
'core.outerspace.world 127.0.0.1' und 'core.outerspace.world' im Verbindungsdialog der GUI eintragen.

<p>
Weil die Entscheidung, auf einem lokal laufenden Core bei 'localhost' zu bestehen. absichtlich getroffen
wurde ist es unwahrscheinlich, dass es geändert wird.
Die Entscheidung wurde zugunsten des Durchschnittsbenutzer getroffen, um ihm den Einstieg zu erleichtern.

<p>
<bf>Anmerkung: die Erkennung eines laufenden Cores funktioniert momentan nur mit einem eingehängten /proc Dateisystem
unter GNU/Linux</bf> Benutzer anderer Betriebssysteme (*BSD, MacOSX) können gerne einen Patch schicken, um das zu ändern :)


<sect1> Ich habe einen Bug gefunden - was soll ich machen?

<p>
Prüfe, ob du ihn reproduzieren kannst und/oder wie er reproduziert werden kann.

<p>
Überprüfe, ob der Bug schon gemeldet wurde und, falls dem so ist, ob er schon gefixt wurde.
Stell sicher, dass du alle Bugs siehst, sonst wirst du nur die offenen, nicht aber die schon geschlossenen
Bugs zu Gesicht bekommen.

<p>
Wenn du weisst, wie man mit dem CVS umgeht, hol dir bitte die neueste Version der GUI aus dem CVS,
um zu prüfen, ob es den Bug da auch noch gibt.

<p>
Übermittle den Bug mit dem
<htmlurl url="http://sourceforge.net/tracker/?group_id=61752&amp;atid=498271" name="Bug-Tracking System">
des Projekts mit so vielen Details wie möglich. Wenn du einen Sourceforge Account hast melde dich bitte an,
damit ich im Falle weiterer Fragen auf dich zukommen kann. Eine andere Möglichkeit ist die
'monitor' ("Überwachungs-") Funktion oder von Zeit zu Zeit nachzuschauen, ob es weitere Fragen gibt.


<sect1> Diese GUI macht mich glücklich - wie kann ich mich bedanken?

<p>
Schreib mir eine eMail. Positives Feedback macht immer Freude :-)

<p>
Ausserdem habe ich jetzt einen
<htmlurl url="http://www.amazon.co.uk/exec/obidos/wishlist/1NL5R93EL1WA6" name="amazon.co.uk Wunschzettel">
und einen
<htmlurl url="http://www.amazon.de/exec/obidos/wishlist/3G88NU8L43WL6" name="amazon.de Wunschzettel">
falls du mir zum Dank für die Millionen Stunden Arbeit an der GUI eine Kleinigkeit schenken willst ;)



<sect>Copyright

<p>

ed2k_gui Copyright 2001-2003 Tim-Philipp Müller , t.i.m at orange dot net


This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

<p>
</article>
