||This article needs additional citations for verification. (January 2011)
aMule is a free peer-to-peer file sharing application that works with the EDonkey network and the Kad network, offering similar features to eMule and adding others such as GeoIP (country flags). It was forked from the xMule source code on August 18, 2003, 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 today, aMule has less and less resemblance to the client that sired it.
aMule shares code with the eMule Project and includes no adware or spyware as is often found in proprietary P2P applications. The credit and partial downloads files from 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, Mac OS X, 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.
- 4672 UDP (outgoing and incoming): Extended aMule protocol, Queue Rating, File Reask Ping
- 4711 TCP: WebServer listening port. Used if aMule is accessed through the web.
- 4712 TCP: internal Connection port. Used to communicate aMule with other applications such as aMule WebServer or aMuleCMD.
Most of these ports are customizable.
Monolithic and Modular build 
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:
- The command-line aMule client.
- 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.
- The web interface provided by the aMule core built-in Webserver. It can be Retrieved the LAN or from the Internet, provided that any Internet router is properly configured using port forwarding.
See also 
- ^ "Download", aMule team (sourceforge.net), 2011-11-12, retrieved 2012-11-05
- ^ "aMule", Analysis Summary (Ohloh), retrieved 2010-05-02
External links