A first-class peer on IPv6
The IPv4 address space ran out. Many ISPs now hand out IPv6-only or carrier-grade NAT connections where a public IPv4 address is simply not available — and on the classic ED2K network those users are permanently second-class. eMule Qt makes IPv6 a real transport rather than a footnote.
The client listens dual-stack and carries IPv6 through every layer that matters:
- Client to client — IPv6 capability and address are negotiated in the ordinary ED2K hello, and a peer that is LowID or firewalled on IPv4 can be dialled directly over IPv6, with no callback and no buddy.
- Client to server — IPv6 login and identification tags, server-reflected address, and IPv6 sources delivered inline in the normal source replies.
- Source exchange — an extended, self-describing record format that carries each source’s IPv6 address, user hash and obfuscation options.
- ED2K links — an
s6=source token and bracketed IPv6 in server links.
Additive and legacy-safe
Every IPv6 element is either a tag an old client skips by type or an optional block appended past the point a legacy parser stops reading. A classic eMule sees byte-identical traffic and never notices. eMule Qt also refuses to advertise an address it cannot actually be reached on — a candidate address is only published once it has been reflected by a server, set by the operator, or independently corroborated by several peers, so nobody can talk your client into announcing somebody else’s address.
One honest note: Kademlia itself is still IPv4. Only two payload tags cross the boundary, so IPv6 sources can be published and found through Kad while the DHT’s own transport and routing stay on IPv4 — deliberately, because self-assigned node IDs plus cheap IPv6 addresses would make the existing network easy to flood.
Why it matters
If your ISP put you behind CGNAT, or gave you no IPv4 at all, you are no longer stuck at LowID with a shrunken source list. Where possible, connect to your server over IPv4 to keep HighID and let eMule Qt advertise your IPv6 alongside it — you get both worlds.