aMule 3.0.0 is available now, delivering a massive architectural overhaul that rescues the eD2k peer-to-peer client from a five-year hiatus. Featuring radical performance boosts on Apple Silicon and Linux ARM, CMake build system migration, and critical fixes for legacy throttling bugs, the release establishes a modernized foundation for the resilient file-sharing protocol.
Rewriting the Engine: Benchmarking the 381-Fold Speed Leap
For years, running a legacy eD2k client on modern hardware meant hitting artificial software bottlenecks that choked multi-gigabit connections down to dial-up speeds. With the release of version 3.0.0, the core transfer engine has been fundamentally rewritten to strip out the blocking operations that crippled earlier builds. According to developer testing conducted over a 90-second window with a single local peer downloading a 30 GB file, the throughput metrics are staggering.
On macOS running Apple Silicon, sustained transfer speeds jump from 0.35 MB/s in version 2.3.3 all the way to 135 MB/s—representing a 381-fold performance increase. Linux ARM architectures achieve 117 MB/s compared to the previous 0.34 MB/s, while Windows ARM reaches 39 MB/s up from 0.36 MB/s. Head-to-head testing against eMule 0.70b on Windows demonstrates similar gains, with aMule sustaining 106 MB/s in upload speeds compared to its rival’s 22 MB/s, maintaining roughly a 4.8-fold advantage.
These dramatic speed gains stem from a dual-pronged architectural intervention. On the seeder side, developers moved disk reads and eD2k packet assembly completely outside of the main execution thread, ironing out a persistent race condition hidden within the ASIO implementation. On the leecher side, partial-file disk writes were offloaded while the internal throttling mechanisms were entirely reconstructed using accurate token bucket algorithms.
Fixing the Throttling Logic and Scaling Large Catalogs
The legacy codebase suffered from deeply flawed rate-limiting logic that made high-speed connections nearly unmanageable. Setting MaxUpload=0 previously failed to unlock unlimited bandwidth; instead, the old software calculated the permitted speed dynamically as the current rate plus 5 KB/s per iteration, effectively choking connections on high-throughput fiber lines. Similarly, the MaxDownload setting acted as an unpredictable proportional controller rather than a hard boundary.
By implementing precise token bucket limiters, the development team has brought actual throughput compliance within safe margins of user-configured limits across all supported platforms. Beyond bandwidth management, the new release addresses severe quadratic scaling issues that crippled the interface for power users maintaining libraries with extensive shared files. Re-engineering the WebUI and amulegui components on massive share sets reduces interface redraw times from minutes to mere fractions of a second.
Algorithmic refinements under the hood include transitioning wxListCtrl searches from an $O(N)$ linear complexity to $O(1)$ via an optimized hash map. Keyword indexing within the SharedFileList during reloads has been corrected, and hash deduplication inside the known.met database now executes at $O(N log N)$.
Navigating GitHub Repository Loss and Modernizing the Toolchain
The road to version 3.0.0 was complicated by unexpected institutional hurdles. Gonosztopi, a prolific developer and long-time project maintainer, stepped away from active development without warning, taking exclusive ownership of the original GitHub repository with him. Because remaining contributors lacked the administrative permissions necessary to manage the project under the legacy namespace, the team established a fresh digital home under a new organization. The updated codebase and resources now reside at the official aMule Project Repository.
This organizational shift coincides with a much-needed modernization of the build infrastructure. Long-standing autotools scripts have been entirely replaced by CMake (requiring version 3.10 or newer alongside wxWidgets 3.2.0), streamlining cross-platform compilation. Distribution packages now span AppImages for x86_64 and aarch64, Flatpaks, a Universal2 .dmg file for macOS bundling aMuleGUI.app, alongside portable ZIP archives and NSIS installers for Windows in both x64 and ARM64 variants.
Functional additions include automatic directory monitoring powered by wxFileSystemWatcher, distinct category-based destination folders, and native separation between recursive and intentional sharing directories. Furthermore, HTTPS support—which had broken silently against modern TLS endpoints over the years—has been rewritten utilizing wxWebRequest, while Kad searches now execute in parallel with an expanding exploration frontier.
The 30-Second Verdict
aMule 3.0.0 transforms a stalled, legacy utility into a high-performance, cross-platform file-sharing client that respects modern hardware capabilities. For the remaining dedicated communities relying on the eD2k protocol, this release bridges a three-and-a-half-year technology gap, proving that open-source infrastructure can successfully recover from sudden administrative abandonment and deliver performance gains.