Ein neues Netzwerk neben eD2K
ed3k ist das eigene Filesharing-Netzwerk von eMule Qt. Es behält, was eD2K zwanzig Jahre lang funktionieren ließ – Dateien, die über ihren Hash bekannt sind, ein Kademlia-Netzwerk zum Auffinden, optionale Server und Upload-Warteschlangen – und erneuert die Teile, die gealtert sind: das Wire-Format, den Transport und die Art, wie Peers ihre Identität nachweisen.
eMule Qt betreibt beide Netzwerke parallel. Der Dialog Netzwerkinformationen und der Bereich Meine Info im Server-Fenster zeigen direkt unter den Abschnitten für eD2K und Kad einen Abschnitt ed3k-Netzwerk, sodass sich beide Zeile für Zeile vergleichen lassen.

Gleiche Ideen, neue Namen
Die meisten Zeilen im ed3k-Abschnitt haben ein eD2K-Pendant. Das Wichtigste: Was eD2K High ID und Kad Offen nennt, ist in ed3k ein Router.
| eD2K / Kad | ed3k | Bedeutung |
|---|---|---|
| High ID / Kad Offen | Router: Ja | Andere können dich direkt erreichen. Ein Router speichert Kad-Einträge und hilft Knoten hinter Firewalls. |
| Low ID / Kad Firewalled | Router: Nein (ein Leaf) | Du befindest dich hinter NAT. Peers erreichen dich trotzdem, über Relays und Hole Punching. |
| Kad-UDP-Status | IPv4 / IPv6 | Für jede Adressfamilie einzeln getestet: Offen, Cone-NAT oder Symmetrisches NAT. |
| Kad-Buddy | Relays | Router, die Verbindungsanfragen an dich weiterleiten. Ein Leaf hält mindestens zwei. |
| Bediente Buddies | Bediente Buddies | Leaves, für die dein Router als Relay dient. |
| eD2K-Server | Index-Knoten | Ein gewöhnlicher ed3k-Knoten, der alles indiziert. Keine separate Server-Software, kein separates Protokoll. |
| Benutzer-Hash + Kad-ID | Knoten-ID | Eine ID für alles: der Hash des eigenen Signaturschlüssels des Knotens. |
| Client-ID | — | Nicht nötig. Peers teilen dir die Adresse mit, unter der sie dich sehen. |
| TCP-Port + UDP-Port | UDP-Port | Ein Port für alles. Dieselbe Nummer wie dein eD2K-TCP-Port. |
| Obfuskierung (optional) | Verbindungen: Obfuskiert | Immer aktiv. Einen Klartextmodus gibt es nicht. |
| Kad Indiziert | Indiziert | Einträge, die dein Knoten für das Netzwerk speichert, samt Größe. |
Die Zeile Status ist wie bei eD2K eingefärbt: grün, wenn du als Router verbunden bist, orange, solange du als Leaf verbunden bist.
Die wichtigsten Verbesserungen gegenüber eD2K
- Verschlüsselt von Grund auf. Jedes Paket wird über obfuskiertes QUIC übertragen, Kad und Dateitransfers gleichermaßen. Nichts wird je im Klartext gesendet, und der Datenverkehr lässt sich nur schwer identifizieren.
- Low ID ist keine Bürger zweiter Klasse mehr. Erreichbarkeitstests, Relays und UDP-Hole-Punching sind Teil des Kernprotokolls, sodass zwei Knoten hinter Firewalls immer Daten austauschen können.
- IPv4 und IPv6 in einem Netzwerk. Beide sind gleichberechtigt, und die Erreichbarkeit wird für jede einzeln geprüft.
- Ein Port. Ein einziger UDP-Port statt eines TCP- und eines UDP-Ports, die weitergeleitet werden müssen.
- Echte Identitäten. Jeder Knoten hat einen Ed25519-Schlüssel, und seine Knoten-ID ist der Hash dieses Schlüssels. Niemand kann die ID eines anderen Knotens übernehmen.
- Fehlerhafte Daten werden sofort erkannt. Dateien werden über einen BLAKE3-Hash identifiziert und in 256-KiB-Blöcken geprüft, sodass ein beschädigter Block bei Ankunft auffällt und sein Absender bekannt ist – statt dass später ein 9,28-MB-Part fehlschlägt.
- Schwerer anzugreifen. Kad-Positionen sind an die IP-Adresse des Knotens gebunden, und die Zahl der Knoten pro Adressbereich ist begrenzt, als Schutz vor Fake-Knoten-Fluten. Schlüsselwort-Einträge werden von ihrem Herausgeber signiert, was effizientes Spam-Filtern ermöglicht.
- Jeder kann einen Server betreiben. Ein Index-Knoten ist einfach ein Knoten mit einer zusätzlichen Fähigkeit.
- Schlankere Nachrichten. Protocol Buffers mit zstd-Kompression ersetzen die von Hand gepackten Tags von eD2K.
- Raum zum Wachsen. Erweiterungen ergänzen Dateisets, Torrents, Usenet-Beiträge und Links von File-Hostern als Quellen derselben Datei, Chaträume und mehr – ohne ältere Knoten zu beeinträchtigen.
Arbeitet mit eD2K zusammen, nicht dagegen
Eine freigegebene Datei trägt auch ihren eD2K-Hash, sodass eMule-Peers und ed3k-Knoten denselben Download bedienen. eMule Qt verwendet deine eD2K-TCP-Portnummer für ed3k und leitet deinen eD2K-Benutzer-Hash aus deiner ed3k-Knoten-ID ab. So zeigt jeder eD2K-Quelleneintrag – von Servern, aus Kad oder per Quellenaustausch – anderen eMule-Qt-Clients bereits, dass du ed3k sprichst und wo sie dich finden. Klassische eMule-Clients bemerken nichts.