aMule is an eMule-like client for the eDonkey and Kademlia networks.
Forum | Documentation | FAQ
The work in aMule will continue in the new aMule-org repo. The reason we had to create a new organization is that Gonosztopi, who is the single owner of aMule Project, has been unreachable. As a result, in the aMule-project organization we became unable to update the infrastructure to the project's needs.
aMule is a multi-platform client for the eD2k / Kad file-sharing network, originally a fork of the Windows client eMule (via xMule and lMule). aMule started in August 2003.
Supported platforms today: Linux, FreeBSD, OpenBSD, NetBSD, macOS, and Windows (MSYS2 / mingw-w64), on both x86_64 and ARM64.
aMule aims to stay close to eMule in look-and-feel so users moving between the two have minimal friction. New eMule protocol-level features are generally adopted into aMule shortly after.
| Distributions |
|---|
| aMule-project (frozen) | aMule-org |
|---|---|
amule— all-in-one GUI client.amuled— headless daemon, no GUI.amulegui— remote GUI; connects to a local or remoteamuledover the EC (External Connection) protocol.amuleweb— HTTP interface to a runningamuled.amulecmd— interactive CLI for a runningamuled.
aMule ships pre-built binaries for every major desktop. Building from source is also supported.
Download the latest release for your platform from the Releases page. Quick start:
- Linux — AppImage (any distro) or Flatpak: download,
chmod +x, run. - macOS — Universal2
.dmg: download, drag to/Applications. - Windows — choose either the NSIS installer
.exe(Start-menu shortcuts, uninstaller, x64 / ARM64) or the portable.zip(no install, unzip and run).
See docs/INSTALL_BINARIES.md for per-platform notes — including the macOS unsigned-binary workaround, the Windows SmartScreen prompt, and the Linux FUSE dependency for AppImage.
aMule uses CMake. Quick start:
cmake -B build -DBUILD_MONOLITHIC=YES -DBUILD_REMOTEGUI=YES
cmake --build build -j"$(nproc)"
sudo cmake --install buildSee docs/INSTALL.md for the full list of dependencies,
build options (BUILD_DAEMON, BUILD_AMULECMD, ENABLE_NLS, ENABLE_UPNP,
ENABLE_IP2COUNTRY, etc.), and platform-specific notes. The CI workflow
.github/workflows/ccpp.yml is the
authoritative reference for the exact deps and flags used to build aMule
on Linux, macOS, and Windows.
aMule comes with reasonable default settings and should be usable as-is. Two configuration steps are still worth doing on day one.
To receive a HighID you need to open aMule's ports on your firewall and/or forward them on your router. See the network connectivity guide for details.
aMule ships with both upload and download caps disabled by default
(MaxUpload=0, MaxDownload=0 — both interpreted as literal
unlimited). On a connection that aMule can saturate, that means
aMule will eat all the bandwidth available to it, starving every
other application sharing the link. Setting realistic limits is
strongly recommended.
Under Preferences → Connection, set the limits to roughly 80 %
of your actual line speed to avoid saturating the upstream and
starving your own traffic. Values are in kilobytes per second
(kB/s); ISP advertised speeds are usually in megabits per
second (Mbps). To convert, multiply Mbps by 125.
Example: a 100 Mbps / 20 Mbps fibre line → roughly 12 500 kB/s downstream and 2 500 kB/s upstream. Set the limits to about 10 000 down / 2 000 up to stay below the line cap.
If you find a bug or miss a feature, please open an issue on
GitHub (preferred) or report it on the forum. A good bug report
includes the exact aMule version (amuled --version), the platform you're
on, and steps to reproduce. See the bug report guide for
detailed instructions on attaching backtraces and reproducer steps.
Contributions are always welcome!
See the contributing guide for how to get involved. In short:
- Code — fix a bug, implement a feature, improve performance. The preferred path is a pull request on GitHub; patches on the forum also work.
- Translation — translate aMule, its documentation, or its website into your language.
- Documentation — help improve the project documentation at amule-org.github.io/docs.
The translations of the application interface and the man pages live in this repository and can be edited either by opening a pull request — see the Translations guide — or through Weblate, a translation tool that stays in sync with git — see the Weblate guide.
