eMule Review
Name: eMule
Homepage: www.eMule-Project.net
Cost: Free
Recommended: Yes
September 6th 2000 MetaMachine released eDonkey2000. This P2P program needed a server to connect to other users. But unlike traditional server P2P programs, MetaMachine released the server software to the world. Therefore anyone could start a server for the ED2K network. Once a user connected to one server, they had connectivity with every other server and every other user. With these servers all over the world, the ED2K network had unheard of security in the P2P world. But there were problems. eDonkey2000 was closed source. It had a mandatory ad banner. It had optional spyware. Its GUI was ugly at best. eDonkey2000 was making an ass out of itself.
Enter eMule. May 13th 2002 Hendrik Breikreuz began work on eMule. On July 6th 2002, eMule version 0.02 was published on SourceForge. At this time the population of the ED2K network was 174, 726 users. 5 months later, December 8th 2003, eMule-Project.net went online. By this time the population of the ED2K network was 1,598,842. At this time, eMule-Project.net proudly displayed a splash page featuring a mule stomping on a donkey with a banner across the top stating “IT’S OUR NETWORK NOW B****!” (joking :-p ).
With millions of ED2K users you end up with hundreds of millions of files. This leads to duplicate versions of movies, TV shows and music. Viruses made by losers with no lives. And fake versions of everything. There’s only 1 way to deal with this, verify the files one by one. This is done with ED2K links. An ED2K link is an URL that activates a download in your ED2K client. It sends the MD4 hash directly into the client and you immediately begin to search for this one specific file. Websites use this URL format to index and categorize files on the network. For example, ShareProvider indexes all sorts of files on the network. Each link is submitted by a member. Right now they have over 8000 verified files.
There are several mods to the ED2K network that only works between eMule users. eMule users are divided into 2 groups, LowID and HighID. You get a HighID if you have a full connection to the ED2K network, IE your ports are correctly forwarded. Once you have a HighID you’re open to new possibilities on the network. You can take part in source exchange. This means if a file has less than 40 sources it’s classified as rare. HighID users can search each other for more sources of rare files. eMule has a credit system. eMule watches how much you upload and keep tracks of how much you download. It takes your download upload ratio and assigns you credits. When you start a download you’re placed in queue, pending your amount of credits you can be bumped to the top of the line.
The thing that really sets eMule apart from the rest of the ED2K clients is Kad. In 2002 MetaMachine began work on Flock. This was a completely decentralized P2P network, no servers. All you need to connect is a starting node list. Once out of beta, Flock was named Overnet. Overnet was MetaMachine’s extension of the ED2K protocol. It worked with ED2K to find more sources for downloads. This may sound similar to Gnutella or Fasttrack, but Overnet is much more advanced. It used the Kademlia protocol and it’s distributed hash table method. Once Overnet was integrated into eDonkey2000, MetaMachine once again became a competitor in their own network. eMule had no choice but to follow. The eMule team explored Overnet, but since MetaMachine kept Overnet closed source eMule decided to create their own Kademlia style network. In October 2003, eMule released v.40. This version was the first to have the new Kademlia extension which was named Kad. Like Overnet Kad was used to find more sources to aid downloads. But unlike Overnet, Kad was still dependant on ED2K servers. Overnet bootstraps by downloading a node list from overnet.com, Kad bootstraps by connecting to an ED2K server and finding other eMule neighbors.
Along with its ED2K support, eMule is full of other features. It comes with a modest IRC tool. This lets you connect to MindForge.org’s IRC server. This server has 128 channels related to eMule (out of 1986). However this does not make eMule a true IRC client. There is no DCC feature and there’s little to no chance that eMule will ever be able to share files over IRC. The closest thing to sharing over IRC with eMule is the ability to send ED2K links. It has in instant messaging tool. When you’re connected to a compatible user, weather it be downloading or uploading with them you can choose to make them your friend. You can then chat with your friend while you’re both online. It comes with a web interface. This lets you control the program from any computer in the world.
eMule is the best P2P program. Of course “Best” is a subjective term. I’m no programmer. I can’t say eMule is the best engineered program there is. But file sharing isn’t about who has the best math skills. It’s about team work. And eMule has quite a team behind it.
Let’s start with the official eMule team. 6 developers, 3 testers, 9 debuggers and it’s all available in 30 different languages.
A P2P network is only as good as its users. ED2K has 3,394,487 users. But since eMule has no way of gathering users’ online stats, it’s hard to figure out how many of those are eMule users. Hard, but not impossible. Let’s take the top 3 ED2K clients. Go to Google Trends, type in any combination of ED2K clients. The winners are eMule, Shareaza and eDonkey2000.
# of eMule users = X
X = 3,394,487 - (# of Shareaza users) – (# of eDonkey2000 users)
# of Shareaza users,
By default Shareaza only connects to G2. You’d have to be an idiot to only connect to G2. So let’s assume that all Shareaza clients connect to ED2K as well as G2. Let's also assume that Shareaza is the only G2 client that matters. Therefore the population of G2 should equal the # of Shareaza users. G2 has 288116 users.
# of eDonkey2000 users,
MetaMachine may have been open about ED2K clients, but when it comes to Overnet they’re as closed source. Only 1 group of people has been able to reverse engineer Overnet, MLDonkey. Their Overnet implementation sucks. I have yet to meet anyone that likes MLDonkey. So the population of Overnet should equal the # of eDonkey2000 users. Overnet has 573,440 users.
X = 3,394,487 – 106,477 – 573,440
There are 2,714,570 eMule users.
However one asterisk to all this Google Trends stuff maybe eMule’s webpage. One would think that www.emule.com would lead you to eMule’s official site. But in fact you have to go to www.emule-project.net. I’m sure this inflates the number of “eMule” searches.
There’s no shortage of eMule forums out there. The official eMule forum is in English but also has German, French and Spanish sections. There are 208,765 members. Putting that in perspective, Shareaza’s official forums have 33,583 members. eDonkey2000’s forums have 133,934 members. eMule’s forums are the 3rd biggest file sharing forums in the world after ZeroPaid.com (438,082) and WiredFire.org (301,846). It should be noted that to see part of the eMule forums, you must register.
Now their code isn’t just restricted to the official eMule, it’s used by all the eMule mods. There’s at least 46 mods out there. None of them claim to be worse that the official, therefore one can assume that they’re all contributing something good to the cause. There’s eMule Plus , which tries to improve the eMule GUI. However, it doesn’t have Kad support. There’s NeoMule, this has some performance tweaks. It has UPnP support and protocol encryption. There’s eMule 0.49a MorphXT. Try using the original eMule for several months, you’ll get a million ideas about how sharing could be slightly more efficient. eMule MorphXT implements some of those modifications.
With all this, it’s hard to imagine a reason why people still use other P2P programs. But 1 factor keeping people off eMule is the speed problems with ED2K. ED2K is great for big files but when it comes to getting a quick mp3, you’re in trouble. Here’s another excerpt from my eDonkey2000 review.
While ED2K is the biggest network it’s certainly not the fastest; no matter what client you use. Why is a complicated question. When you start a download, you’re instantly placed in line or queue. These queues can run into the thousands and in some ED2K clients, even higher. You just have to stay in line and wait for your turn. Once your number is up, your download starts. But your ED2K client doesn’t request the file directly; rather it requests a chunk of the file. Once you have that chunk, it's back to the end of the line. Whether this system is efficient is up for debate. Gnutella for instance has different methods for putting people in queue, in some cases you can be put to the head of the line depending on how big the file you want is and how much of it you already have.
One could say eMule’s popularity means that slow and steady wins the race. eMule is defiantly winning the race right now. ED2K is even beating BitTorrent in some fields. But the race is far from over. BitTorrent, Gnutella, Ares are all viable contenders in the quest to become the best P2P program. While a Napster or FastTrack like fate for eMule seems impossible right now, eMule is as venerable to the law as any other piece of software that helps the transfer of illegal and copyrighted material. ED2K servers are already being targeted. The popularity of eMule is sure to get attention from all those that wish to end file sharing.
eMule may not be around forever. But while it’s here, use it.
Download eMule | Discuss this review here
