Eseltreiber
Linux-Clients für eDonkey und Overnet
cDonkey
Anders als der offizielle Client ist cDonkey [10] schon jetzt in der Lage, gleichzeitig mit eDonkey und Overnet zu kommunizieren und unterstützt zusätzlich noch einige eMule-Erweiterungen. eMule ist ein alternativer Windows-Client für das eDonkey-Netzwerk, der inzwischen eine enorme Verbreitung gefunden hat. Die Gründe dafür liegen in der aufgeräumten Oberfläche und vor allem in den Erweiterungen des eDonkey-Protokolls. So sind eMule-Clients unter anderem in der Lage, ihre Quellenlisten auszutauschen und die Übertragung zwischen zwei Clients zu komprimieren. Während die Komprimierung bei den meisten schon komprimierten Dateitypen nur wenig nutzt, ermöglicht der Quellenaustausch tatsächlich schnellere Downloads, da bei mehreren Clients angefragt werden kann.
Die Installation von cDonkey erfolgt nach dem üblichen Schema ./configure, make, make installund setzt neben den normalen Bibliotheken nur die Berkeley Database [11] ab Version 3.3 voraus. Nach der Installation sollte das Programm in der Datei ~/.donkey_options konfiguriert werden. Die wichtigsten Einstellungen, die natürlich mit den Einstellungen des GUI ed2k-gtk-gui übereinstimmen müssen, sind dabei gui_port = 4663, ctrl_user = Name und ctrl_pass = Passwort. Da cDonkey die Konfigurationsdatei nicht automatisch anlegt, muss sie von Hand erstellt werden; jede Option muss in einer neuen Zeile stehen. Weitere Einstellungen finden sich in der Datei FAQ-DE im cDonkey-Verzeichnis. Leider erkennt das aktuelle ed2k-gtk-gui cDonkey nicht als lokalen eDonkey-Core, weshalb im Verbindungsdialog statt 127.0.0.1 oder localhost ein alternativer Hostname für den eigenen Computer angegeben werden muss. Ob ein solcher Name schon existiert, können Sie mit dem Befehl hostname -a überprüfen. Falls nicht, editieren Sie als Administrator root die Datei /etc/hosts und setzen hinter den Eintrag 127.0.0.1 localhost einen alternativen Namen, z. B. 127.0.0.1 localhost donkeyalias. Danach sollte sich das GUI mit cDonkey verbinden, da es nun glaubt, das Programm würde auf einem anderen Computer laufen.
Obwohl eMule-Erweiterungen und Overnet-Unterstützung an sich sehr nützlich sind, wirkt cDonkey 0.8.5 leider noch etwas unausgereift – trotzdem sollte man das noch relativ junge Projekt im Auge behalten.
mldonkey
mldonkey [12] ist mit Abstand der vielseitigste eDonkey-Client und unterstützt neben Overnet auch noch völlig andere Protokolle wie z. B. OpenNap, Soulseek oder Direct Connect. Auch auf ein Interface will sich mldonkey nicht festlegen und bringt gleich zwei Gtk-Frontends und ein Web Interface mit. Weiterhin kann mldonkey auch über Telnet kontrolliert werden. Fast noch zahlreicher als die Oberflächen sind aber die mldonkey-Kritiker, weil es sich standardmäßig mit bis zu fünf eDonkey-Servern gleichzeitig verbindet und so andere Benutzer blockiert. Nur maximal ein Drittel der vorhandenen Upload-Slots sind für eMule-Benutzer vorgesehen, während immer mindestens einer für mldonkey freigehalten wird. Da jeder Benutzer, der Daten von einem mldonkey-Client herunterladen will, so einen Upload-Slot benötigt, sorgte dieser Schritt für viel böses Blut bei den eMule-Anhängern.
Auch von Overnet kam Protest, als mldonkey – als erster offener Client – das Overnet-Protokoll übernahm. Da das Protokoll nie öffentlich gemacht wurde, mussten die mldonkey-Entwickler es auf Basis von Übertragungsmitschnitten rekonstruieren, wobei sich anfänglich einige Fehler einschlichen. Sowohl die Slot-Begrenzung für eMule als auch die maximalen Server-Verbindungen lassen sich übrigens in den Einstellungen ändern. Der Overnet-Support kann in der aktuellen mldonkey-Version noch nicht über das Interface deaktiviert werden, sollte inzwischen aber wesentlich ausgereifter sein. Alle Optionen, die nicht über das Interface verändert werden können, finden sich in der Datei downloads.ini im mldonkey-Verzeichnis.
Da mldonkey in der vergleichsweise unbekannten Programmiersprache OCaml geschrieben ist, benötigt das Programm die entsprechenden GTK-Bindings [13] und OCaml [14]. Nach dem Start sollten Sie mldonkey als Erstes über File/Settings konfigurieren, wobei auch hier die Bandbreite auf jeden Fall eingegrenzt werden muss – gerade mldonkey ist dafür bekannt, die komplette Leitung für sich in Anspruch zu nehmen.
Kasten 1: eDonkey hinter Firewalls
Damit zwei eDonkey-/Overnet-Clients direkt miteinander kommunizieren können, müssen in der Firewall einige Ports geöffnet werden. Ansonsten bekommt der Client eine sogenannte Low-ID zugewiesen und muss auf seinen Server zurückgreifen, um mit anderen (High-ID) Clients zu kommunizieren – zu anderen Low-ID Clients kann überhaupt keine Verbindung aufgebaut werden. Das bedeutet nicht nur allgemein schlechtere Übertragungsraten, sondern auch mehr Probleme mit den Servern, da Low-ID Clients nicht besonders gern gesehen sind.
Ports eDonkey:
- 4662 TCP
- 4665 UDP
Ports Overnet:
- 4662 TCP
- Der UDP-Port wird beim ersten Start zufällig gewählt und kann mit dem Befehl vo (!vo in ed2k-gtk-gui) angezeigt werden.
Ports cDonkey:
- 5662 TCP
- 5665 UDP
- 5666 UDP
Ports mldonkey:
- 4662 TCP
- 4666 UDP
- Der Overnet-TCP-/UDP-Port ist zufällig und kann in den Einstellungen eingesehen und geändert werden.
Glossar
Peer-to-Peer-Netzwerke
Anders als beim Client-/Server-Konzept, in dem viele Clients mit einem zentralen Server kommunizieren, sind Peer-to-Peer-Netzwerke (P2P) dezentral aufgebaut. Jeder Client ist also auch gleichzeitig ein kleiner Server. Obwohl jeder "Peer" im Vergleich zu einem großen Server nur sehr begrenzte Ressourcen besitzt, ergibt die Summe aller Peers ein leistungsfähiges Netzwerk, das sich z. B. sehr gut für große Downloads eignet. Weniger leistungsfähig sind P2P-Netze, wenn es darum geht herauszufinden, bei welchem Peer sich bestimmte Daten befinden. Deswegen setzen viele Programme (z. B. Napster oder Soulseek) zu diesem Zweck einen zentralen Index-Server ein.
Hash-Wert
Ein Hash-Wert ist eine Zeichenkette, die mittels einer Hash-Funktion aus einer Datei oder sonstigen Daten errechnet wurde. Da dieser Wert in der Regel auch wesentlich kürzer als die Ausgangsdatei ist, eignet sich der Hash sehr gut dazu, zwei große Dateien zu vergleichen, ohne dass die Dateien selbst übertragen werden müssen. Stimmen die verglichenen Werte der beiden Dateien überein, sind bei einer guten Hash-Funktion auch die Ausgangsdateien mit extrem hoher Wahrscheinlichkeit identisch. Da der Hash-Wert zur Identifikation einer Datei benutzt werden kann, wird er manchmal auch als Fingerabdruck der Datei bezeichnet.
./configure, make, make install
Mit Hilfe dieser drei Befehle lässt sich ein Großteil der gängigen Linux-Software installieren. Bevor man die Befehle eingibt, muss man in das Verzeichnis mit den Programmquelltexten wechseln. Hier sollte eine Datei namens configure sein, ein Skript, das Informationen über den eigenen Computer zusammenträgt und mit dem Befehl ./configure gestartet wird. Erst danach kann mit dem Befehl make das eigentliche Programm aus dem Quelltext erstellt werden. Da unter Linux standardmäßig nur in bestimmten Verzeichnissen nach Programmen gesucht wird, installiert man das Ganze dann noch mit make install, wobei dieses Kommando als Administrator root ausgeführt werden muss.
Infos
[1] http://www.edonkey2000.com/
[3] http://www.sharereactor.com/
[5] http://www.edonkey2000.com/downloads.html
[6] http://ed2k-gtk-gui.sourceforge.net/
[8] http://kademlia.scs.cs.nyu.edu/
[9] http://www.overnet2000.de/Contact.htm
[10] http://cdonkey.suche.org/
[11] http://www.sleepycat.com/
[12] http://www.nongnu.org/mldonkey/
[13] http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html



