aMule is a freepeer-to-peer file sharingutility that works with the eDonkey network and the Kad network, offering similar features to eMule and adding others such as GeoIP (country flags). On August 18, 2003 it was forked from the xMulesource code, which itself is a fork of the lMule project, which was the first attempt to bring the eMule client to Linux. These projects were discontinued and aMule is the resulting project, though aMule has less and less[clarification needed] resemblance to the client that sired it.
aMule shares code with the eMule project. The credit and partials downloads of eMule can be used by aMule and vice versa, making program substitution simple.
aMule aims to be portable over multiple platforms and is doing this with the help of the wxWidgets library. Currently supported systems include Linux, macOS, various BSD-derived systems, Windows, Irix and Solaris. Beside the stable releases the project also offers SVN versions as an unstable release.
TCP and UDP ports
According to the aMule official FAQ, these are the default ports. Server ports 4661 TCP and 4665 UDP are only used by the EDonkey network. Therefore, the Kad Network will only use 4662 TCP and 4672 UDP. The traffic direction is from client perspective:
4661 TCP (outgoing): Port on which an eDonkey server listens for connection (port number may vary depending on eDonkey server used).
4662 TCP (outgoing and incoming): Client to client transfers.
4665 UDP (outgoing and incoming): Used for global eDonkey server searches and global source queries. This is always Client TCP port + 3.
aMule can be compiled using -disable-monolithic parameter: this allows aMule to be run in a modular way. This means that the core functionalities of the program can be started using amuled, the aMule daemon while the software behavior can be controlled through three different interfaces:
aMuleCMD
The command-line aMule client.
aMuleGUI
The regular GUI of the software. Experimental, a lot of features missing in comparison with the monolithic version and is unstable. There are Linux and Windows version for this tool: users can connect an aMule instance running on Linux from a workstation running Windows and the Win32 version of aMuleGUI.
aMuleWEB
The web interface provided by the aMule core built-in Webserver. It can be retrieved via the LAN or from the Internet, provided any Internet router is properly configured using port forwarding.