A new network next to eD2K
ed3k is eMule Qt’s own file sharing network. It keeps what made eD2K work for twenty years — files known by their hash, a Kademlia network to find them, optional servers and upload queues — and rebuilds the parts that aged: the wire format, the transport and how peers prove who they are.
eMule Qt runs both networks side by side. The Network Information dialog and the My Info pane of the Servers window show an ed3k Network section right under the eD2K and Kad sections, so you can compare them line by line.

Same ideas, new names
Most rows in the ed3k section have an eD2K twin. The one that matters most: what eD2K calls High ID and Kad calls Open is a Router in ed3k.
| eD2K / Kad | ed3k | What it means |
|---|---|---|
| High ID / Kad Open | Router: Yes | Others can reach you directly. A router keeps Kad records and helps firewalled nodes. |
| Low ID / Kad Firewalled | Router: No (a leaf) | You are behind NAT. Peers still reach you, through relays and hole punching. |
| Kad UDP status | IPv4 / IPv6 | Tested for each family on its own: Open, Cone NAT or Symmetric NAT. |
| Kad buddy | Relays | Routers that pass connection requests on to you. A leaf keeps at least two. |
| Buddies served | Buddies served | Leaves your router relays for. |
| eD2K server | Index node | An ordinary ed3k node that indexes everything. No separate server software or protocol. |
| User hash + Kad ID | Node ID | One ID for everything, the hash of the node’s own signing key. |
| Client ID | — | Not needed. Peers tell you the address they see you at. |
| TCP port + UDP port | UDP port | One port for everything. Same number as your eD2K TCP port. |
| Obfuscation (optional) | Connections: Obfuscated | Always on. There is no plain mode. |
| Kad Indexed | Indexed | Records your node stores for the network, with their size. |
The Status row is coloured like eD2K’s: green when you are connected as a router, orange while connected as a leaf.
Key improvements over eD2K
- Encrypted by design. Every packet travels over obfuscated QUIC, Kad and file transfers alike. Nothing is ever sent in the clear, and the traffic is hard to fingerprint.
- Low ID is no longer second class. Reachability tests, relays and UDP hole punching are part of the core protocol, so two firewalled nodes can always transfer to each other.
- IPv4 and IPv6 in one network. Both are first-class, and reachability is checked for each one separately.
- One port. A single UDP port instead of a TCP and a UDP port to forward.
- Real identities. Each node has an Ed25519 key, and its node ID is the hash of that key. Nobody can take over another node’s ID.
- Bad data caught at once. Files are identified by a BLAKE3 hash and checked in 256 KiB blocks, so a corrupt block is spotted on arrival and its sender is known — instead of a 9.28 MB part failing later.
- Harder to attack. Kad positions are bound to the node’s IP address and the number of nodes per address range is limited, against fake-node floods. Keyword records are signed by their publisher, which allows efficient spam filtering.
- Anyone can run a server. An index node is just a node with one more capability.
- Leaner messages. Protocol Buffers with zstd compression replace eD2K’s hand-packed tags.
- Room to grow. Extensions add file sets, torrents, Usenet posts and file hoster links as sources of the same file, chat rooms and more — without breaking older nodes.
Works with eD2K, not against it
A shared file carries its eD2K hash too, so eMule peers and ed3k nodes serve the same download. eMule Qt uses your eD2K TCP port number for ed3k and derives your eD2K user hash from your ed3k node ID, so every eD2K source record — from servers, Kad or source exchange — already tells other eMule Qt clients that you speak ed3k and where to find you. Classic eMule clients notice nothing.