eMuleRust
A modern, security-hardened reimplementation of the eD2K and Kad (Kademlia) peer-to-peer protocols β Rust engine, Flutter desktop UI, native MCP server for AI agents.
Overview
eMuleRust is an independent, ground-up reimplementation of the historic eD2K (eDonkey2000) and Kad DHT (Kademlia) protocols, faithful to the eMule 0.72a reference. The engine is written in Rust (sparse storage engine, async Tokio daemon, bounded wire codecs, dynamic swarm allocator) and the interface in Flutter Desktop (reactive native Windows UI, Clean Architecture MVVM).
Disclaimer β eMuleRust is an independent project. It is not affiliated with, endorsed by, or connected to the eMule project (emule-project.net) or the Rust Foundation. Β« Rust Β» refers to the implementation language. See
NOTICEfor full attribution.
Screenshot

Real-network session: HighID on eD2K, Kad connected, parallel multi-source downloads with per-part progress map.
Key Features
- Safe, modern Rust engine β 100% memory safe, bounded wire framing, streaming zlib decompression (
OP_COMPRESSEDPART), zero uncontrolled allocation. - Autonomous multi-source swarm β Weighted Max-Min Fair-Share (water-filling) algorithm distributing connection slots by file rarity and priorities.
- Kademlia v2 DHT β 128-bit numeric distance metric matching eMule's
CUInt128, LRU-cached K-buckets, iterative lookup converging onSEARCHTOLERANCE. - Native MCP server β 87 MCP tools letting AI assistants (Claude Desktop, Cursor, Antigravity) drive the client end-to-end.
- Local AI assistant β loopback LLM orchestrator with MCP tool profiles, embedded in the desktop UI.
- Defense-in-depth security β 7-stage anti-SSRF pipeline, loopback isolation by default, atomic kill switch,
ipfilter.datIP filtering, salted peer pseudonymization. - eMule protocol fidelity β validated against the official eMule 0.72a sources (
srchybrid), Source Exchange v4 (SX1/SX2), fine-grained remote queue ranking. - Portable mode β
portable.flagbeside the executable keeps all state inside the bundle (data/+downloads/); installed mode uses%LOCALAPPDATA%\eMuleRust.
Quick Start
Download
Grab the latest eMuleRust-v*-standard-windows-x64.zip from Releases, unzip, run eMuleRust.exe. Every release ships SHA256SUMS.txt and a CycloneDX SBOM.
Prerequisites (build from source)
- Windows 10/11 (x64)
- Rust 1.80+ (stable)
- Flutter 3.24+ (Windows desktop enabled)
- Visual Studio C++ Build Tools 2022
Build the portable Windows bundle
powershell -NoProfile -ExecutionPolicy RemoteSigned -File scripts\build_windows_release.ps1
# Self-contained bundle in dist\eMuleRust-Standard-Windows\
Validation (100% offline, fully reproducible)
# Rust β lint
cargo check --workspace --all-targets --all-features
cargo clippy --workspace --all-targets --all-features -- -D warnings
# Rust β full test suite (204+ unit & integration tests, loopback only)
cargo test --workspace --all-features
# Flutter β analysis and tests
cd apps/desktop
flutter analyze
flutter test
Repository Layout
Documentation
Security
eMuleRust treats its network-facing surface as hostile by default. Please report vulnerabilities privately via GitHub Security Advisories β never in a public issue. See SECURITY.md.
Contributing
Contributions are welcome β see CONTRIBUTING.md. Note that the codebase and documentation are written in French; pull requests must keep the workspace warning-free (-D warnings) and all tests offline (loopback only).
More from this forge
- OnionBit β the portable anonymity swiss army knife: anonymous BitTorrent, serverless e2e messaging,
.onionservices, stealth transport - onionbit-browser β a faithful Rust port of the Dillo web browser; standalone, and OnionBit's embedded
.onionreader - BitDeamonRust β a 100% safe Rust BitTorrent engine, faithful port of libtorrent (Rasterbar) β same wire behavior and
.sessionformats, verified against real swarms
License & Credits
Distributed under GPL-2.0-or-later β see LICENSE, AUTHORS and NOTICE.
Protocol fidelity is based on the study of the open-source eMule (Β© 2002β2026 Merkur / eMule Dev Team) and aMule (Β© aMule Team, Angel Vidal, Barry Dunne) projects, both GPL-2.0+. File-by-file provenance: docs/ed2k/references.md.
Developed by Laurent Geynet "Loulach" ([email protected]).