eDonkey network

From Wikipedia, the free encyclopedia

Jump to: navigation, search

The eDonkey network (also known as the eDonkey2000 network or eD2k) is a decentralized, mostly server-based, peer-to-peer file sharing network best suited to share big files among users, and to provide long term availability of said files. In practical terms, it is mostly used to share video files, full music albums and computer programs. Like most file sharing networks, it is decentralized, as there is not any central hub for the network; also, files are not stored on a central server but are exchanged directly between users based on the peer-to-peer principle.

Currently, the eD2k network is not supported by any corporation or government (in the past it was supported by the MetaMachine Corporation, its creator, which now is out of business) and works by being fully supported by its users alone.

The server part of the network is proprietary freeware. There are two families of server software for the eD2k network: the original one from MetaMachine, written in C++, closed-source and proprietary, and no longer maintained; and eserver, written from scratch by a person named Lugdunum in pure C, also closed-source and proprietary, although available free of charge and for several operating systems and computer architectures. The eserver family is currently in active development and support, and almost all eD2k servers now (2008) run this server software.

There are many programs that act as the client part of the network. Most notably, eDonkey2000, the original client by MetaMachine, closed-source but freeware, and no longer maintained but very popular in its day; and eMule, a free program for Windows written in Visual C++ and licensed under the GNU GPL. eMule is in constant development and currently represents about 90% of all clients in the eD2k network.

The original eD2k protocol has been extended by subsequent releases of both eserver and eMule programs, generally working together to decide what new features the eD2k protocol should support. However, the eD2k protocol is not formally documented (especially in its current extended state), and it can be said that in practice the eD2k protocol is what eMule and eserver do together when running, and also how eMule clients communicate among themselves. As eMule is open source, its code is freely available for peer-review of the workings of the protocol (at the program source code level). Examples of eD2k protocol extensions are "peer exchange among clients", "protocol obfuscation" and support for files bigger than 4 Gigabytes, etc. The other eD2k client programs, given time, generally follow suit adopting these protocol extensions.

eDonkey client programs connect to the network to share files. eDonkey servers act as communication hubs for the clients, allowing users to locate files within the network. Clients and servers are available for Windows, Mac OS X, Linux, and other Unix-like operating systems. By running an eDonkey server program on a machine connected to the Internet, any user can add a server to the network. As the number of servers and their addresses change frequently, client programs update their server lists regularly.

Contents

[edit] Features

[edit] Hash identification

Files on the eDonkey network are uniquely identified using MD4 root hash of an MD4 hash list of the file. This treats files with identical content but different names as the same, and files with different contents but same name as different.

Files are divided in full chunks of 9,728,000 bytes (9500 KiB) plus a remainder chunk, and a separate 128-bit MD4 checksum is computed for each. That way, a transmission error is detected and corrupts only a chunk instead of the whole file. Furthermore, valid downloaded chunks are available for sharing before the rest of the file is downloaded, speeding up the distribution of large files throughout the network. A file's identification checksum is computed by concatenating the chunks' MD4 checksums in order and hashing the result. In cryptographic terms, the list of MD4 checksums is a hash list, and the file identification checksum is the root hash, also called top hash or master hash.

It is possible for two different chunks or files to have the same checksum and thus appear the same (see birthday attack), but the chance of that happening is so small that for all practical purposes it never happens, and checksums are considered unique identifiers.

[edit] Search

The eDonkey network supports searching of files by name and a number of secondary characteristics such as size, extension, bitrate, etc. The Lugdunum versions of eserver (eDonkey server software) support complex boolean searches like 'one AND two AND (three OR four) AND ("five four three" OR "two one") NOT seven'.

To ease file searching, some websites list the checksums of sought-after files in the form of an eD2k link. Some of these websites also have lists of active servers for users to update. (Figator.com, eMugle or peerates.net.)

[edit] History

The original eDonkey network relied on central servers run by users willing to donate the necessary bandwidth and processing/disk usage overhead. Such servers could be subject to heavy traffic and, consequently, more vulnerable to attacks.

To overcome this problem, MetaMachine, the developer of the original eDonkey client, developed Overnet as a successor to the eDonkey protocol. The eMule Project also developed a Kademlia network of their own (called Kad) to overcome the reliance on central servers. In addition, eMule includes a pure P2P client source-exchange capability, allowing a client with a ‘High ID’ (i. e., with incoming eD2k connections not blocked by a firewall) to continue downloading (and uploading) files with a high number of sources for days, even after complete disconnection from the original Kad or eD2k servers that handled the original requests. (eMule does not query secondary servers when told to disconnect from the server). This source-exchange capability is designed to reduce the load on servers by two thirds or more for files that have a large number of seeds, or sources (other clients) for the files. The original eDonkey client by MetaMachine does not support source exchanges.

In 2004, the eDonkey network overtook FastTrack to become the most widely used file sharing network on the Internet. While figures vary from hour to hour, it is believed, as of mid-2005, to host on average approximately two to three million users sharing 500 million to two billion files via 100 to 200 servers. The network’s most popular server was at one time Razorback2, which usually hosted about one million users. Sometime around February 21, 2006, the Razorback2 servers were raided and seized by the Federal Belgian Police.[1] DonkeyServer No1 and DonkeyServer No2 currently combine for over one and a half million users. However, around July 16, 2007, both servers together with several others were shut down after a temporary injunction was issued. [2]

[edit] eDonkey client RIAA agreement

On September 13, 2006, MetaMachine Inc., the developer of the eDonkey2000 client, agreed to pay $30 million to avoid potential copyright infringement lawsuits brought by the RIAA. In accordance with the agreement, eDonkey is to discontinue distribution of their software as well as to take measures to prevent the use of previous copies of their software for file sharing. The RIAA agreement has likely had little impact on the eD2k network as a whole; eMule had been the dominant client on the network since 2002, and it already represented over 90% of the network at the time of the agreement.[3] eDonkey was also outnumbered by eMule and Shareaza, the second clients in terms of usage. The eDonkey client software that was currently available no longer works as a hard-coded check to the eDonkey2000 web site has been placed in the latest and last version of eDonkey in preparation for implementation of the agreement. Users that visit the eDonkey website, intentionally, or by simply using the latest eDonkey client, are greeted by an anti-file sharing advertisement, which includes legal and technical claims frequently made by the RIAA:

The eDonkey2000 Network is no longer available.


The automatic check to the official eDonkey2000 client's website can be disabled by assigning www.edonkey2000.com to an incorrect IP address such as 127.0.0.1 in the hosts file.

[edit] Servers

The main eD2k server is Lugdunum eserver. The Lugdunum server software was created by reverse engineering edonkey protocol and redesigned from scratch. (MetaMachine abandoned development of eD2k server software and revealed the source code to Lugdunum in late 2002, but he never used it)[4]. Lugdunum has extended the eD2k protocol while maintaining backward compatibility. Lugdunum server software is gratis, but not open source. The stated reason for not opening the source is to prevent the easy creation of fake servers and to prevent attacking the server itself.

On September 2007 a new server software was announced on the eMule web site forums[1], called satan-edonkey-server (see official home page). Given the shut down of major eMule servers due to legal action against them just days earlier, the new server was accepted with suspicion. It was feared that the software may transmit information about the clients to unknown third parties. Some trusted eMule developers received the source code of satan-edonkey-server and stated that no spy-code is build in. The satan server software was created by reverse engineering edonkey protocol. The software comes in two versions (C++ and Java). Satan-eDonkey-server software is also gratis.

Servers have appeared on the eDonkey network that censor shared content searches and information about files by the type of the file (such as video or MP3) or by keywords. These include ‘Sonny Boy,’ ‘Byte Devils,’ ‘Pirate’s Lair,’ and others. Some of these servers have an IP starting with ‘72.51’[5] and are located in United States, although others exist in other countries. These servers report large numbers of users (up to 1.5 million) connected to them, thus raising the number of users in the network to 10—13 million; however, it is impossible to determine how many people are actually connected to them. Such servers often disseminate advertisements disguised as commonly searched-for music/video files. Due to such fraud, server listing services such as ocbmaurice stopped listing all American servers since most of the trouble comes from within American borders.

It has been alleged that some of these servers also function as NetSentry or other spy bots run by companies contracted by the recording industry to collect information on users in order to mount legal action for copyright infringement[citation needed]. However, IP blocking software (such as bluetack) is often used to reduce the risk of such personal information being collected. It is estimated that 30% of eMule users[citation needed] currently use some sort of IP filtering (whether it be built into eMule, Internet firewall, or software such as PeerGuardian, ProtoWall, etc.)

[edit] Clients

Numerous clients, including several that are free software, are available for the eDonkey/eDonkey2000 network:

  • aMule: a successful fork from lMule, it fully copied the interface and feel of eMule, and now it shares code with eMule project.
  • eDonkey2000: an original MetaMachine client, since discontinued
  • eMule: a free Windows client, currently the most widely used, with an estimated 80% of all network users (can also be run on Linux under Wine); numerous mods are also available
  • eMule Plus is a free (GPL) Windows client loosely based on eMule, but doesn't have KAD or obfuscation support while adding other features such as automated fake checks and enhanced GUI. eMule Plus has no direct association with the original eMule.
  • FlashGet: a freeware download manager, supports ed2k since version 1.8.4
  • Hydranode: a free, multi-network, cross-platform, core-GUI-separated client
  • iMule: a anonymous eMule using the I2P network
  • JMule: a free open source multi platform java client. Currently under an active development.
  • Jubster: a multi-network client for Windows
  • lMule (Linux Mule): A very raw eDonkey client based in eMule, targeted to Linux platforms.
  • Lphant: an eDonkey and BitTorrent, cross-platform, core-GUI-separated client that runs on the Microsoft .NET and Mono platforms
  • MLDonkey: a free, multi-network, cross-platform client
  • Morpheus: a file sharing client for Windows
  • Pruna (formerly, MediaVAMP): a Korean-language client based on eMule
  • Shareaza: a free multiple-network file-sharing program that supports the Gnutella2, Gnutella, eDonkey2000, and BitTorrent networks and allows network-spanning search of content.
  • xMule (X11 Mule): a fork from lMule. Deviating from copying eMule, it has more controls than lMule but is less user-friendly.

[edit] See also

[edit] References

  1. ^ "Raids close file-sharing server". BBC. 2006-02-23. http://news.bbc.co.uk/2/hi/technology/4743052.stm. Retrieved on 2007-01-05. 
  2. ^ heise online - Music industry takes on operators of eDonkey servers
  3. ^ GreatInca’s blog eMule Usage Statistics. The vast majority of eD2k clients in are use are shown to be free-software/open-source eMule clients. When including the ‘eM Compat’ clients (mostly eMule Plus clients), eMule represents over 90% of the clients. eDonkey is identified as edhybrid in these stats.
  4. ^ Razorback Servers Seized By Belgian Police - Official eMule-Board
  5. ^ Do You Want To Recover The List Of Servers?, Real and Fake servers list. eMule forum.

[edit] External links

Personal tools