aMule: The all-platform Mule
aMule stands for all-platform Mule.
aMule is an eMule-like client for the eD2k and Kademlia networks, supporting multiple platforms.
Currently aMule (officially) supports a wide variety of platforms and operating systems, being compatible with more than 60 different hardware+OS configurations.
aMule is entirely free, its sourcecode released under the GPL just like eMule, and includes no adware or spyware as is often found in proprietary P2P applications.
aMule is built upon the wxWidgets (formerly wxWindows) toolkit, which enables it to support multiple platforms.
All aMule requirements are listed here.
aMule was forked from the xMule project (formely known as lMule) back in September 2003, though now has less and less resemblance to the client that sired it.
aMule has most features of the eMule client. These include:
- eD2k and Kademlia support.
- aMule is currently available in 28 languages.
- Support for Source Exchange in order to find sources for files more efficiently.
- Large queues and the Credit system helps to ensure that everyone will get the file they want and rewards those who actively upload to other users.
- Support for the compressed transfers and server communication (using zlib), which means faster transfers for compressible files and less strain on servers.
- Support for Secure Identification, which insures that your user hash can't be stolen in order to inpersonate your client.
- Support for IP-Filters so that you can keep known bad IPs from connecting to you.
- Boolean search (AND, OR, NOT).
- You can have the traditional progress bar for transfers, percents completed or both.
- aMule supports systrays for both Gnome, KDE and other compatible window managers. Of course, on Windows too.
- Supports Online Signatures, so you can brag about using aMule.
- Checks against aggressive clients.
- Uses MD4 hashes to find sources and ensure that the file matches the original copies of the file, in order to avoid corruption.
- Intelligent Corruption Handler (ICH) and AICH helps to speed up the correction of corrupted parts.
- Auto priorities and source management allow you to start many downloads without having to monitor them.
- The Preview function allows you to look at your videos and archives before they are completed. For video previewing, MPlayer or Xine are recommended but Video Lan Client should work too.
- Support for categories so that you can organize your downloads.
- To find the files you want, aMule offers a lot of search possibilities, which are:
- Servers search (local and global)
- Kademlia nodes search
- Integration in your favourite browser for easy click-and-download (with ed2k:// links).
- Messaging and Friends system. You can send messages to other clients and add them as friends.
- aMule supports updating the server list from an URL during run-time, at startup or as it connects to other clients.
- PowerShare function: better handling of your shared files (known as Release).
- Skins support.
- Proxy support.
- Improved checks against aggressive clients.
- Complete External Connections protocol from scratch.
- aMule Daemon allows you to run a bare aMule client with no graphical interface and very low CPU and memory usage. Ideal for servers, people who usually control aMule remotely and those who just usually don't keep taking a look at how far downloads are going.
- aMule Remote GUI to control your aMule remotely as if you where in front of it.
- aMuleWeb for browser interface and amulwebDLG is a graphical interface to aMuleWeb. They also work both locally and from remote clients. You can control your aMule from anywhere in the world as long as you have an internet connection and a browser, no matter what hardware or operating system you use! ;)
- PHP (specific implementation) support in aMuleWeb
- The amulecmd command line interface and amulecmdDLG as a graphical command line interface both allow to remotely control aMule too. All of them work both locally and from remote clients. You can control your aMule remotely from anywhere as if you were in a shell!
- Slot allocation allows you to specify to how many clients you wish to upload to at once. For example, if you have 20KB/s for your maximum upload, you can set slot allocation to 10KB/s which means that you will upload to two users with 10KB/s each.
- Other utilities such as CAS, wxCAS, aLC, XAS, AMPS, etc.
- Fast eD2k links handler at the bottom of every page (can be disabled on Preferences).
- Run a command when a file is completed.
- Save 10 sources on rare files when usefull (20 or less sources).
- Filter search results.
- Default file permissions for completed downloads.
- Multiple filesystems support.
- Version updates checks.
- EC library and API.
- and and and ...