Low ID, meet Low ID: eMule Qt seven months in

Back in March we said hello, waved at 24 years of eMule history, and made two promises with a little (upcoming) tag next to them: IPv6 and NAT traversal.

Well. Fifty releases later, both tags are gone. Took longer than expected cause we have been fixing small bugs and made other improvements and new features along the way….


Low ID, meet Low ID

This one’s the big deal. If you’ve used eMule behind a router you can’t forward, you know the drill: you get a Low ID, and every other Low ID source just sits there saying “Cannot connect LowID to LowID”. On a busy file that’s a huge chunk of the source list doing nothing.

Not anymore. eMule Qt now gets two Low ID clients talking to each other:

  • a server or a Kad buddy introduces them,
  • both punch a hole through their NAT at the same moment,
  • and then they connect directly: over IPv6 if both have it, otherwise over QUIC on the punched UDP path.
  • compatible with upcoming aMule and eMuleAI

The QUIC side speaks the same dialect as eMuleAI, and aMule answers it too, so it’s not just eMule Qt talking to itself. Every packet is obfuscated from the very first one, so the handshake isn’t sitting there in the clear.

Want to see it happen? Open Client Details on a source. The new NAT-T row tells you whether the peer supports it and, when it’s live, which route it’s using:

Client Details showing NAT-T: Connected (QUIC)

All the nerdy details are on the NAT traversal page.


IPv6, for real

The other promise. eMule Qt is on its way to be fully dual stack: client to client, client to server + Kademlia already carries IPv6 sources over IPv4
If your ISP has you behind carrier-grade NAT, or hands you nothing but IPv6, you can still take part properly. And it’s additive: old clients don’t notice a thing. More on the IPv6 page.


Stuff we didn’t promise

Some things just happened along the way:

  • Usenet: yes, really. A full NNTP engine with multiple providers, PAR2 repair, unpacking, newznab indexer search right in the Search tab, and auto-download feeds.
  • Fake-file detector: a Confidence column that flags files that probably aren’t what their name says. It only warns; it never hides anything.
  • Country flags, MorphXT style, because some of us missed them.
  • PCP & NAT-PMP next to UPnP, all three raced at startup, so fewer people end up with a Low ID in the first place.
  • An MCP server, so your AI assistant can search and queue downloads for you. Felt only fair, given how this thing got built.
  • Docker: ghcr.io/moddermule/emuleqt runs the core on your NAS, with the GUI in a browser if you like.
  • Things that survive a restart: your upload queue (with everyone’s earned wait time), your best sources, your statistics graphs.

Still beta

We’re not at version 1 yet and have bigger plans 😉

.:Comments

Leave a Reply

Your email address will not be published. Required fields are marked *