Join us on IRC: #infoanarchy on irc.oftc.net — channel blog

EDonkey2000

From iA wiki

(Redirected from EDonkey)

See also: Network | File sharing | Protocol | Decentralized Clients

Home Page: http://www.edonkey2000.com

Contents

Quick Facts

Description

infoAnarchy first reported about eDonkey2000 in October 2000. At the time it was basically a one-man project by Jed McCaleb ("Swamp"), but it quickly became notorious especially for trading large files (*cough* movies *cough*).

The eDonkey application has always used a very simplistic and somewhat buggy GUI, but underneath the user interface lies a lot of intelligence. The eDonkey-network is semi-centralized: There are loosely connected, separate index-servers, but there is no single centralized server. Anyone is encouraged to run an eDonkey server. Once the client has a list of servers to connect to, clicking the "Connect" button causes the application to cycle through the server list and try to find a server which still has available slots (every server has a maximum number of users). Servers exchange information about each other so that the server list is kept up to date.

Every server has a separate index of files. When you send a search request to a server, only that specific server is searched. Once a search is completed, you can then send the same request to the next server in the list to obtain further search results if necessary. Once a file is in your download queue extra servers are automatically queried via UDP packets (assuming you're not behind a firewall).

All this is rather inconvenient, so eDonkey must have some special features that explain its popularity. Indeed, eDonkey was among the very first clients to offer a feature that is now found in almost every relevant file sharing application: Simultaneous downloading from multiple sources that have a specific file. Not only that, eDonkey also shares partially downloaded files, so that you can upload a file while you are still downloading it. Because partials are distributed with some intelligence, popular files quickly become available through multiple nodes in the network.

This has the downside that sometimes only parts of a file can be found but not the complete file, a situation impossible with other networks. The eDonkey Windows client always indicates with a colored bar which parts are currently available (blue, whereas a darker blue indicates higher availability), which ones have been downloaded (black) and which ones are not available (red). It automatically adds new sources once they become available. Also, the eDonkey uploading queue is very intelligent and fairly balances available bandwidth. All this makes it highly likely to get a complete file if you wait long enough.

Even some 56K modem users, for example, have successfully used eDonkey to acquire several complete movies by simply letting the application run for days on end. The whole downloading/re-searching process is handled completely automatically. It's a good strategy to always have multiple large file downloads running in parallel, so if one pauses, the available bandwidth can still be used.

Other nice features of eDonkey include the availability search (search for the most popular files which will definitely be easy and fast to get) and good bandwidth regulation. Nevertheless, given the limited scalability, you will probably want to use other networks for hard to find, small files.

In september 2005 Sam Yagan of Metamachine announced that they planned to convert edonkey to a system for selling content as soon as they could reach an agreement with the RIAA. This has not happened. Jed McCaleb later stated that Metamachine had been in talks to sell the software to another company. Sam Yagn reccently told slyck that a new version will be release soon. It seems likely that the new version will just have bug fixs or improvements such as support for files larger then 4GB.

Clients

The official Windows version of eDonkey2000 contains third party software which can be disabled during installation. There is a Linux command line client for eDonkey2000 which can be remote controlled via TCP by a GUI. There is a Java-based GUI which runs on Windows, Linux and Mac OS X, and an open-source GTK+-based Linux GUI, which also compiles and runs on *BSD.

Recently, eDonkey2000 got a little brother called Overnet, which is a completely decentralized file sharing system developed with .NET and very similar to eDonkey in its user interface.

There are two independently developed open source clients for the eDonkey2000 network. mldonkey (written in OCaml) is very similar to the Windows version in look and feel, but sends searches to multiple servers simultaneously and provides access to other networks as well. eMule (written in C++) is the newer program, and is trying to match mldonkey feature for feature. Recently, a multi-protocol client called Shareaza has added support for eDonkey2000 as well.

Tips

  • eDonkey2000 has several safeguards against leechers. The most noticable is the enforced upload/download ratio - if a user has their upload speed set to 20 kilobytes per second, then they will be able download at approximately three times this. As well, since partially downloaded files are immediately shared a user running eDonkey will automatically share files as long as they're receiving some.
  • eDonkey and Overnet can safely share incoming directories (as long as they're not running simultaneously). If you're having trouble downloading a file in one of the programs just close it and try the other network. This is a good method of getting your files until Overnet completely obsoletes the good old Donkey.
  • Using eDonkey is often a matter of waiting long enough for the requested file to arrive. One good way to improve the odds is to be sure that you are connected and ready to download during the weekends and short holidays (when you find a significant increase of the number of participating nodes and/or servers).

Reviews

Clients which use the eDonkey2000 network:

  • mldonkey
  • eMule
  • Lmule
  • cdonkey
  • Shareaza
  • Hydranode
  • ShareDaemon - modular, portable client for Windows/Linux/MacOS with multiple interface modules.
  • xMule - Another great client. Stable and portable. Runs on Linux/BSD, Windows, Mac OS X, you name it.
  • aMule - "all-platform eMule P2P Client". It is now the linux client on the eMule links section on their webpage and support GNU/Linux, *BSD, Solaris and soon MacOSX and win32. aStats is a aMule statistics and dynamic picture generator.

Related/useful sites: