eMule

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
eMule
 
 
Downloadübersicht bei eMule 0.48a
Basisdaten
Entwickler eMule-Team
Aktuelle Version 0.50a
(7. April 2010)
Betriebssystem Microsoft Windows
Programmier­sprache C++
Kategorie Peer-to-Peer
Lizenz GPL (Freie Software)
Deutschsprachig ja
www.emule-project.net

eMule (IPA: /ˈiːmjuːɫ/, engl. mule, „Maultier“) ist ein weitverbreiteter und freier Filesharing-Client für das eDonkey2000- und das Kad-Netzwerk. Er wurde als Alternative zu dem ursprünglichen, mittlerweile aufgegebenen eDonkey-Client entwickelt und um zahlreiche Fähigkeiten erweitert. eMule ist mittlerweile der mit Abstand gebräuchlichste Client für das eDonkey2000-Netzwerk.

Eigenschaften[Bearbeiten]

eMule ist frei und quelloffen, des Weiteren enthält es keine Werbung und Spionageprogramme. Es werden mehrere Protokolle (eD2K, Quellenaustausch, Kad) zum Auffinden anderer Clients verwendet. Ein internes Kredit-System sorgt für eine bevorzugte Behandlung von Clients, die große Mengen an Daten hochladen, so dass diese in der eigenen Warteschlange schneller vorankommen.

eMule verfügt über eine integrierte Datenkompression zwischen eMule- und kompatiblen Clienten. PeerCache wird unterstützt, so ist es Internetprovidern möglich, ihre von eMule verursachten Datenübertragungsrate durch Caching zu reduzieren.

Die „intelligente Fehlerkorrektur“ (Intelligent Corruption Handling, kurz „I.C.H.“), die eMule dem original eDonkey-Client ebenfalls voraus hat, wurde zwischenzeitlich durch die bessere „Erweiterte Intelligente Fehlerkorrektur“ (Advanced Intelligent Corruption Handling, kurz A.I.C.H.) ersetzt. Diese verbesserte Variante kann nun defekte Dateisegmente schon in 180-kB-Größe ausmachen und unbeschädigte Teile retten. Beim originalen eDonkey-Client musste der gesamte Chunk (9,28 MB) erneut geladen werden. Weiterhin lassen sich die eDonkey-Downloadlinks mit einem zusätzlichen AICH-Hashwert ergänzen, was präventiv gegen defekte Daten schützen kann.

Mit der Vorschaufunktion können Videos und Archive angeschaut werden, bevor sie vollständig heruntergeladen wurden.

Es ist möglich, die heruntergeladenen Dateien zu kategorisieren und in unterschiedliche Ordner zu verteilen. Dateien können sowohl im Hochladen als auch im Herunterladen verschiedene Prioritäten zugewiesen werden. Die Verwendung von komplexen booleschen Suchanfragen wird unterstützt.

eMule hat einen integrierten IRC-Klienten. Es verwendet die freie SMIRC-Implementierung.

eMule unter Linux (mit Wine)

Man kann eMule per Webschnittstelle von jedem beliebigen Rechner (oder Handheld) mit Zugang zum Netzwerk oder einem Internetanschluss aus fernsteuern.

Durch das Erstellen von „Kollektionen“ ist es möglich, zusammenhängende Dateien im Netzwerk zu finden. Der Ordner mit nicht fertiggestellten (temporären) Dateien nimmt viel Platz in Anspruch, meist mehr als z. B. früher bei eDonkey, und es kann aufgrund der Arbeitsweise von eMule vorkommen, dass eine der Originalgröße entsprechende temporäre Datei angelegt wird, auch wenn erst ein paar Kilobytes heruntergeladen sind.[1]

Mit der Version 0.47a sind folgende Funktionen hinzugekommen:

Dateien bis 256 GB (vorher 4 GB) werden unterstützt. Es gibt erweiterte Suchmöglichkeiten, verbesserte Proxyunterstützung und Unterstützung serverseitig gespeicherter Dateibewertungen. Clients, die Spam-Nachrichten verschicken, werden automatisch gebannt. eMule 0.47a ist bereits grundlegend Kad-2.0-fähig, eine vollständige Aktivierung erfolgte erst in späteren Versionen; das „alte“ Kad-1.0-Netz wird seit Version 0.50a nicht mehr unterstützt.[2]

Ab der Version 0.47b ist „Obfuskation“ (Protokollverschleierung) im eDonkey2000-Netzwerk möglich. Eine Obfuskation ins Kademlia-Netzwerk kam ab der Version 0.49a vollständig hinzu[3]. Das kann Providern und/oder Netzwerkadministratoren das Erkennen von eMule-Datenverkehr erschweren und so Gegenmaßnahmen eventuell verhindern. Entgegen weitläufigen Annahmen wird dadurch keine größere Anonymität erzielt. Unter Umständen äußert sich die Protokollverschlüsselung sogar in geringfügig höherer Nutzung der Übertragungsrate („Overhead“).

Geschichte[Bearbeiten]

Die Wurzeln von eMule lassen sich auf den 13. Mai 2002 zurückführen, als Hendrik Breitkreuz mit dem originalen eDonkey2000-Client unzufrieden war und deshalb entschied, einen besseren zu entwickeln. Die erste offizielle Version (0.02) wurde am 6. Juli 2002 als Quelltext auf SourceForge zum Download bereitgestellt und ist dort heute noch abrufbar. Mittlerweile hat sich Breitkreuz von der öffentlichen Entwicklung zurückgezogen, unterstützt das Projekt aber noch heute.

Da eMule von Anfang an mit Quelltext veröffentlicht wurde, dauerte es nicht lange, bis die ersten Modifikationen (Mods) auftauchten. Diese erweitern eMule um viele Features, die teilweise in die offiziellen eMule-Versionen übernommen wurden. Da mit rudimentären Programmierkenntnissen die typische eDonkey-Downloadbeschränkung ausgehebelt werden konnte, galt eMule in der Anfangszeit häufig als Leecher-Client. Um diesem entgegenzutreten, wurde mit der Version 0.19a vom 14. September 2002 ein Credit-System eingeführt. Credit-System bedeutet hier, dass man in der Warteschlange eines anderen Benutzers umso schneller vorrückt, je mehr Daten man ihm bereits gesendet hat. Eigene Kredite können nicht manipuliert werden, da diese bei den anderen Benutzern gespeichert sind.

Funktion[Bearbeiten]

eMule baut auf die serverbasierte eDonkey2000-Plattform auf, ist in Visual C++ programmiert und macht Gebrauch von den Microsoft Foundation Classes. Der Client verfügt über zusätzliche Suchalgorithmen für Quellen wie den Quellenaustausch sowie über das serverlose Kad, das auf dem Kademlia-Algorithmus basiert.

Der Großteil der eMule-Nutzer ist mit einem Server und somit dem eD2K-Netz (eD2K steht für eDonkey2000) verbunden. Der jeweilige Server indiziert meist alle von einem verbundenen Client freigegebenen Dateien. Fragt ein anderer Client nach einer bestimmten Datei, liefert der Server ihm bekannte (verbundene) Clients, die diese Datei anbieten. Die Kontaktaufnahme und der Download erfolgen dann direkt von Client zu Client ohne den Server (Ausnahme: LowID). Zudem fragt eMule alle Server in der Serverliste nach Quellen ab, nicht nur den verbundenen. Entgegen verbreiteter Auffassung ist es folglich auch irrelevant, mit welchem Server der Client verbunden ist, lediglich eine hohe Auslastung des Servers kann das Liefern der Quellen verzögern. Die Servermethode ist zwar die schnellste und benötigt eine geringe Übertragungsrate, liefert jedoch die wenigsten Quellen. Auch unterliegen alle Clients den Regeln des Servers, mit dem sie verbunden sind: Überwiegend werbefinanziert, beschränken Serverbetreiber oft die maximale Anzahl freigegebener Dateien, wodurch die Datenübertragungsrate für mehr angemeldete Benutzer statt für möglichst viele Dateien genutzt wird, was den Sinn des Tauschprogramms ad absurdum führt.

Die Server dienen nur zum Finden anfänglicher Quellen, den Großteil findet eMule, indem es mit anderen Clients Quellen austauscht. Laden etwa Client „A“ und „B“ die gleichen Dateien herunter, kann „A“ bei „B“ anfragen, welche weiteren Clients er kennt, die ebenfalls diese Datei laden bzw. anbieten. Diese Methode produziert zwar mehr Overhead, als die Quellen von einem Server mitgeteilt zu bekommen, sie gilt aber inzwischen als unentbehrlich.

Neben Server und Quellenaustausch gibt es eine dritte Methode, um an Quellen zu kommen. Da bei einem Ausfall vieler großer Server auch der Quellenaustausch nicht mehr richtig funktionieren würde (es werden erst ein paar Quellen gebraucht, um überhaupt untereinander tauschen zu können), wurde Kademlia als serverloses Netz hinzugefügt. Hier gibt es keine speziellen Server mehr, sondern jeder Client ist auch zugleich Server und arbeitet Suchanfragen anderer Clients ab. Der Vorteil ist, dass das Netz nicht mehr von einigen Serverbetreibern abhängig ist, jedoch kosten die zusätzlichen Aufgaben auf jedem Client etwas Datenübertragungsrate (meist ca. 1 kB/s jeweils für Up- und Download). Kademlia findet in der Regel auch Quellen, die per Server und Quellenaustausch unentdeckt bleiben.

LowID[Bearbeiten]

Im Normalfall kontaktiert eMule eine Quelle direkt und fragt nach einem Downloadplatz; das ist jedoch nicht möglich, wenn der Client eine LowID hat. Bestimmt wird die ID normalerweise vom Server, der nach dem Verbinden versucht, den Client direkt zu kontaktieren (im Kad-Netz übernimmt diese Aufgabe ein beliebiger Client). Schlägt das fehl, weil sich der Client zum Beispiel hinter einer Firewall oder einem Router befindet, der die Daten über den Port nicht direkt zu eMule durchlässt, erhält dieser eine LowID. In diesem Fall muss die Kontaktaufnahme über einen Vermittler erfolgen, dessen Rolle im eD2K-Netz der Server und im Kad-Netz ein kontaktierbarer Client, der sogenannte Buddy, übernimmt. eMule teilt dem Server/Buddy mit, dass es von einem LowID-Client herunterladen möchte, dieser übermittelt diese Informationen dem verbundenen LowID-Client, und dieser wiederum kontaktiert dann eMule zwecks der eigentlichen Datenübertragung.

Da ein LowID-Client nicht von außen kontaktiert werden kann, können LowID-Clients nicht voneinander laden. Zusätzlich verursacht die Vermittlung über den Server/Buddy Last auf diesem, weshalb eMule wenn möglich von außen erreichbar sein sollte. LowID ist also keine Erfindung der Programmierer, um bestimmte Anwender zu bestrafen, sondern eine technische Bedingung, damit diese Anwender überhaupt am Netz teilnehmen können.

Einige eMule-Modifikationen wie NeoMule nutzen ähnliche Techniken wie Skype, um die technische Einschränkung zu umgehen, dass LowID-Clients keine andere LowID-Clients kontaktieren können.

Nutzerzahlen[Bearbeiten]

Laut slyck.com zählte das eDonkey2000-Netzwerk im Mai 2006 etwas über 3 Millionen Nutzer[4]. Andere Quellen gaben im Mai 2007 sogar über 4,5 Millionen an.[5]

Seit Veröffentlichung des eMule-Clients bei SourceForge wurde das Programm von dort über 650 Millionen Mal heruntergeladen (Stand: September 2012) und belegte damit lange den Spitzenplatz unter allen auf SourceForge gelisteten Open-Source-Programmen.[6]

Client-Software[Bearbeiten]

Der Originalclient für Microsoft Windows ist eMule. Dieser wird seit 2002 in unregelmäßigen Abständen aktualisiert.

Modifikationen und Abwandlungen[Bearbeiten]

Es gilt zwischen eMule-Mods und eMule-Forks zu unterscheiden:
Eine Mod weicht vergleichsweise wenig vom Original ab, während ein Fork eine komplett eigenständige Entwicklung ist, die unabhängig vom eMule-Hauptcode entwickelt wird.

Solche Mods gibt es, auch aufgrund der hohen Verbreitung von eMule, in inzwischen unüberschaubarer Anzahl. Einige von ihnen sind auf bestimmte Teilbereiche des eD2K-/KAD-Netzes optimiert; so ist die Modifikation ZZUL zum Beispiel auf das effiziente Verteilen einzelner Dateien spezialisiert.

Plattformunabhängige Abwandlungen, die teilweise auf aktuellem eMule-Code basieren, sind zum Beispiel aMule und xMule. Beide sind nicht nur unter Windows, sondern auch unter anderen Betriebssystemen wie Linux oder Mac OS lauffähig.

Des Weiteren existieren einige Forks, deren bekanntester Vertreter eMule Plus ist. Diese Version basiert auf dem veralteten Quellcode von eMule 0.30, wird aber regelmäßig aktualisiert. Eine Unterstützung für das serverlose Kademlia-Netzwerk bietet sie allerdings nicht.

Bösartige Mods[Bearbeiten]

Die offene Entwicklung von eMule zog nicht nur Programmierer an, die bestrebt waren, Verbesserungen vorzunehmen, sondern auch solche, die dem Netzwerk schaden wollen bzw. es in Kauf nahmen, dass ihm geschadet wird, um den eigenen Download zu beschleunigen. Angefangen von Modifikationen, die sich unfair verhalten, indem sie den anderen Netzwerkteilnehmern Upload verweigern oder ihn unfair verteilen, über kommerzielle Abwandlungen, die den Benutzer zwingen, für den Gebrauch zu zahlen, bis hin zu Modifikationen, die gezielt das Netzwerk stören und beispielsweise defekte Daten verteilen[7], reicht die Palette. Es ist mittlerweile zur Gewohnheit geworden, bei solchen Abwandlungen von „Leechern“ zu sprechen, unabhängig davon, in welcher Weise sie das Netzwerk schädigen. Viele Programmierer „gutartiger“ Mods haben es sich zur Aufgabe gemacht, dagegen vorzugehen, indem Benutzer solcher „Leecher“-Mods erkannt und blockiert werden. Um das umzusetzen, gibt es mehrere unterschiedliche Ansätze, die auch unter den Modentwicklern selbst kontrovers diskutiert werden.

Weblinks[Bearbeiten]

 Commons: EMule – Sammlung von Bildern, Videos und Audiodateien

Quellenangaben[Bearbeiten]

  1. eMule-Hilfe: FAQ
  2. Link im offz. eMule-Forum
  3. Protokollobfuskation für KAD-Netzwerk ab 23. April 2008
  4. Slyck.com (Version vom 24. April 2006 im Internet Archive)
  5. Razorback 2 memorial ed2k stats (Version vom 8. Mai 2007 im Internet Archive)
  6. Über 650 Millionen Downloads auf: sourceforge.net
  7. vgl. Erklärung zu IP-Filtern