github AnInsomniacy/aria2-next v2.1.0
v2.1.0 - Initial ED2K and eMule Protocol Support

latest releases: v3.0.3, v3.0.2, v3.0.1...
4 months ago

Warning

ED2K/eMule support is now available in aria2-next, but it should be treated as initial support. The implementation is reference-aligned and locally verified, yet the public ED2K network is old, inconsistent, and operationally fragile. Real-world downloads may still hit bugs, peer incompatibilities, LowID/firewall limits, source churn, Kad edge cases, or unsupported legacy behavior.

Summary

aria2-next 2.1.0 introduces native ED2K/eMule support integrated into the existing aria2-next command, RPC, session, disk, and CMake architecture. This release focuses on practical protocol support, truthful capability advertising, local verification, and Motrix Next-facing status/search fields.

Added

  • Native ED2K file link parsing with MD4 root hashes, part hashes, AICH roots, inline sources, source user hashes, crypt metadata, UTF-8 names, and protocol file-size limits.
  • ED2K server support for TCP login, HighID/LowID state, source discovery, server metadata, server lists, server messages, TCP/UDP status, global source requests, packed source replies, and callback state.
  • ED2K peer support for hello/hello-answer, eMule info, filename/status/hashset exchange, Source Exchange, AICH requests, queue rank handling, upload requests, part transfer, compressed parts, retry/backoff state, and disk-safe range validation.
  • Kad support for nodes.dat bootstrap, bootstrap request/response, hello, routing, traversal, source search, source publish, keyword search packets, firewalled checks, refresh, transaction expiry, ping/pong, and durable routing state.
  • ED2K sharing and upload support through native shared-file metadata, shared responses, upload queue admission, queue ranks, slot limits, upload accounting, peer-credit state, and duplicate user-hash protection.
  • ED2K RPC and Motrix Next fields for search results, generated ed2kLink values, source counts, media metadata, source network, nested aria2.tellStatus ED2K state, Kad state, server state, peer state, share state, and upload state.
  • Command-level ED2K tests covering server source discovery, peer handshake/download setup, and Kad bootstrap/source-search peer merge using localhost only.

Changed

  • ED2K capability advertising now reports only implemented behavior. Unsupported multipacket envelopes, file identifier envelopes, encrypted transport, secure identification, peer Kad capability bits, Kad1, GUI-only behavior, legacy database imports, and UI/social features remain unadvertised or pruned.
  • ED2K metadata ownership uses aria2-next-native control files, session state, shared store, upload queue, RPC, and disk paths instead of legacy part.met, known.met, known2.met, clients.met, or GUI database ownership.
  • Release versioning documentation now clarifies standard SemVer bump semantics, so a minor bump from 2.0.6 becomes 2.1.0.

Fixed

  • Kad bootstrap handling no longer sends KAD_HELLO_REQ back to the bootstrap responder when the responder lists itself as a returned contact.
  • ED2K hashset handling follows the reference ED2K theoretical part-hash count, including exact PARTSIZE boundary behavior.
  • Source Exchange request selection now follows remote capability truth and skips unsupported or require-crypt paths until matching transport exists.
  • Upload queue handling rejects duplicate user hashes so one remote ED2K identity cannot occupy multiple queue entries.
  • Search result parsing maps legacy named media metadata such as codec into stable RPC fields.

Downloads

Platform Download
Linux x86_64 aria2-next-2.1.0-linux-x86_64
Linux ARM64 aria2-next-2.1.0-linux-aarch64
macOS Apple Silicon aria2-next-2.1.0-macos-arm64
macOS Intel aria2-next-2.1.0-macos-x86_64
Windows x86_64 aria2-next-2.1.0-windows-x86_64.exe
Windows ARM64 aria2-next-2.1.0-windows-arm64.exe
Checksums aria2-next-2.1.0-checksums.sha256

Don't miss a new aria2-next release

NewReleases is sending notifications on new releases.