Introduction to eMule by law, wu,zhang

Transcription

Introduction to eMule by law, wu,zhang
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
Contents
Attribution ............................................................................................................................ 3
Our Contribution ............................................................................................................... 3
Wikipeda........................................................................................................................... 4
Creative Commons ............................................................................................................ 4
Introduction .......................................................................................................................... 5
What is eMule? ................................................................................................................. 5
What does eMule mean? .................................................................................................. 5
How often is eMule updated? ........................................................................................... 5
A list of a few features available. ....................................................................................... 5
History .................................................................................................................................. 7
Basic concepts ...................................................................................................................... 9
Low ID ............................................................................................................................... 9
Credit system .................................................................................................................. 10
eMule compared to other p2p networks ......................................................................... 11
eMule mods........................................................................................................................ 12
Fake eMule sites and malware ............................................................................................ 13
eMule Connection .............................................................................................................. 14
Connection Status ........................................................................................................... 14
2) Connection Settings .................................................................................................... 15
3) Making the connection ............................................................................................... 16
4) Kad Network ............................................................................................................... 17
5) eMule File Sharing....................................................................................................... 18
Notable usage ..................................................................................................................... 19
Search ............................................................................................................................. 19
Transfers ......................................................................................................................... 20
Share Files....................................................................................................................... 21
Messages ........................................................................................................................ 22
Services........................................................................................................................... 23
Page 1 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
Some Similar Softwares....................................................................................................... 24
BitTorrent ....................................................................................................................... 24
Share(P2P) ...................................................................................................................... 25
Anonymous P2P .............................................................................................................. 26
Resources ............................................................................................................................. 1
Table 1 – Top Web Sources ............................................................................................... 1
Page 2 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
Attribution
All the content in this report, except for the Top Web Links section is from
Wikipedia, licensed under the Creative Commons Share‐Alike 3.0 Unported License
(see below for an overview of both Wikipedia and the Creative Commons). The
following picture shows the full license below (it is also set up as a hyperlink to the
original web source for this license).
(Wikipedia, 2009)
Figure 1 Wikipedia Creative Commons License
Our Contribution
We have attempted to add extra value to the content by structuring it in an easy to
read, business report format and to add an informative “Top Web Links” section. We
have also added an index to help you find what you are looking for. We hope you
find it useful and worth the $1 purchase price. We have prepared this report as part
Page 3 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
of a MS Word 2007 for BSYS 1000 – Computer Applications I that we are taking at
the British Columbia Institute of Technology. All proceeds will go to student clubs
within the School of Business at BCIT. (Wikipedia, Wikipedia:Text of Creative
Commons Attribution-ShareAlike 3.0 Unported License, 2009)
Wikipeda
Wikipedia is a multilingual, Web‐based, free‐content encyclopedia project based
mostly on anonymous contributions. The name "Wikipedia" is a portmanteau of the
words wiki (a type of collaborative Web site) and encyclopedia. Wikipedia's articles
provide links to guide the user to related pages with additional information.
Wikipedia is written collaboratively by an international (and mostly anonymous) group of
volunteers. Anyone with internet access can write and make changes to Wikipedia articles.
There are no requirements to provide one's real name when contributing; rather, each
writer's privacy is protected unless they choose to reveal their identity themselves. Since its
creation in 2001, Wikipedia has grown rapidly into one of the largest reference web sites,
attracting around 65 million visitors monthly as of 2009. There are more than 75,000 active
contributors working on more than 14,000,000 articles in more than 260 languages. As of
today, there are 3,062,069 articles in English. Every day, hundreds of thousands of visitors
from around the world collectively make tens of thousands of edits and create thousands of
new articles to augment the knowledge held by the Wikipedia encyclopedia. (See also:
Wikipedia:Statistics.)
Creative Commons
Creative Commons (CC) is a non‐profit organization devoted to expanding the range
of creative works available for others to build upon legally and to share. The
organization has released several copyright‐licenses known as Creative Commons
licenses. These licenses allow creators to communicate which rights they reserve,
and which rights they waive for the benefit of recipients or other creators.
Page 4 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
Introduction
What is eMule?
At dawn of May 13th 2002 a guy called Merkur was dissatisfied with the original
eDonkey2000 client and was convinced he could do better. So he did. He gathered
other developers around him, and eMule Project was born. Their aim was to put the
client back on track where eDonkey had been famous before, adding tons of new
features and a nice GUI. They couldn't imagine what impact this decision would
have...
As of today, eMule is one of the biggest and most reliable peer-to-peer file sharing
clients around the world. Thanks to its open source policy many developers are able
to contribute to the project, making the network more efficient with each release.
What does eMule mean?
The name "eMule" comes from an animal called "Mule" which is somehow similar to
a donkey.
How often is eMule updated?
eMule is not updated regularly, but at the moment the frequencies are between 1
and 3 months. Don't take this for guaranteed.
A list of a few features available.
Clients use several networks to create one reliable network. (ED2K, Source
Exchange, Kad)
Kad is now in an open testphase, eMule v0.42 can be enabled to use Kad
eMule's Queue and Credit system helps to ensure that everyone will get the file he
wants by promoting those that upload back to the network.
eMule is completely free. eMule is also completely free of any Adware, Spyware,
and ect. We do this for fun and knowledge, not for money.
Each file checked for corruptions while downloading to ensure an error free file.
Page 5 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
The eMules Intelligent Corruption Control helps to speed up the correction of
corrupted parts.
Auto priorities and Source management allows 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, we recommend the Video Lan Client.
The eMule features webservices and a webserver that allows you to have quick
access to and from the internet.
You can create categories for your download to organize them.
To find the file you want, eMule offers a wide range of search possibilities which
include: Servers (Local, and Global), web based (Jigle, and Filedonkey), and Kad (Still
in Alpha).
eMule also allows you to use very complex Boolean searches that make the searches
much more flexible.
With the messaging and friend system, you can send messages to other Clients and
add them as friends. In your friend list, you can always see if a friend is online.
With the build in IRC client, you can chat with other downloaders and chatters
around the globe.
Page 6 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
History
The eMule project was started on May 13, 2002 by Hendrik Breitkreuz (also known
as Merkur) who was dissatisfied with the original eDonkey2000 client. Over time
more developers joined the effort. The source was first released at version 0.02 and
published on SourceForge on July 6, 2002.
eMule was first released as a binary on August 4, 2002 at version 0.05a. The 'Credit
System' was implemented for the first time on September 14, 2002 in version 0.19a.
The eMule project website started up on December 8, 2002. Since its inception,
eMule has been downloaded over 420 million times as of August 5, 2008 making it
by far the most downloaded project on SourceForge.
Current versions (v0.40+) of eMule have added support for the Kad network. This
network has an implementation of the Kademlia protocol, which does not rely on
central servers as the eDonkey network does, but is an implementation of a
distributed hash table.
Also added in recent versions were the ability to search using unicode, allowing for
searches for files in non-Latin alphabets, and the ability to search servers for files
with complete sources of unfinished files on the eDonkey network.
In new versions, a "Bad source list" was added. The application adds an IP address to
this list after one unsuccessful connection. After adding an IP to the "Bad source
list", the application treats this IP as a "dead" IP. Unavailable IPs are banned for a
time period from 15 to 45 minutes. Some users have complained that it leads to a
loss of active sources and subsequently slows download speed.
Other recent additions include: the ability to run eMule from a user account with
limited privileges (thus enhancing security), and intelligent corruption handling (so
that a corrupted chunk does not need to be re-downloaded entirely).
The 0.46b version added the creation and management of "eMule collection" files,
which contain a set of links to files intended to be downloaded as a set.
From 2007, many ISPs have used bandwidth throttling for usual P2P ports, resulting
in slow performances [2]. The 0.47b version adds protocol obfuscation and eMule
will automatically select two ports numbers at random in the startup wizard.
Page 7 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
eMule is now considered a stable product, and new versions are not released as
often as they used to be; five to six months is now a typical time interval between
releases. The latest version is 0.49c which was released in February 2009.
Page 8 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
Basic concepts
Each file that is shared using eMule is hashed as a hash list comprising separate 9500
kilobyte chunks using the MD4 algorithm. The top-level MD4 hash, file size,
filename, and several secondary search attributes such as bit rate and codec are
stored on eD2k servers and the serverless Kad network.
Users can search for filenames in the servers/kad and are presented with the
filenames and the unique identifier consisting of the top-level MD4 hash for the file
and the file's size that can be added to their downloads. The client then asks the
servers where the other clients are using that hash. The servers return a set of
IP/ports that indicate the locations of the clients that share the file.
eMule then asks the peers for the file. eMule will then be queued until an upload
slot becomes available.
When a complete chunk of 9,728,000 bytes (9500 KiB) is downloaded and verified
this data is also shared by the downloader, helping others to download the file as
well.
It is also possible that a client knows other clients that are also sharing that same
file. In that case a source exchange between the clients is made. This exchange of
known peers is done directly between the peers.Newer versions of eMule support
AICH - Advanced Intelligent Corruption Handling. It is meant to make eMule's
corruption handling competitive with BitTorrent. SHA-1 hashes are computed for
each 180kb sub-chunk and a whole SHA-1 hash tree is formed. AICH is processed
purely with peer-to-peer source exchanges. eMule requires 10 agreeing peers
regarding the SHA-1 hash, so rare files generally do not benefit from AICH.
Low ID
Users who cannot be reached from the outside because they are firewalled, behind
a NAT device that has not been correctly port forwarded or their IP address ends
with a zero (e.g. 123.45.67.0)[3] get a "Low ID" from the servers. They are still able
to upload and download but need the help of servers or other kad clients to be
reached by other clients. Since they cannot be notified that they are in front of an
Page 9 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
upload queue, they have to poll peers if an upload slot is available. Since they cannot
connect to any other Low ID clients, they see only 40%-60% [4] of the clients that a
High ID can see. Their IP/ports are not exchanged between other peers, limiting
their possibilities for finding sources via eMule's pure-P2P source exchange.A Low ID
client also consumes a lot more data [5] more bandwidth on an eserver than a High
ID client due to the lowidcallbacks. Also, a releaser or heavy uploader that uses a
releaser mod such as MorphXT or Xtreme that is forced to operate on a Low ID
(hotel room, job) also will find that he will have little control over his upload
priorities (especially powershares) as the servers appear to limit their connectionforwarding for each client, thus turning his upload queue to a contention situation
where the first to be able to get forwarding and finds an open slot gets it.
Credit system
Credits are not global, they are exchanged between two specific clients. The credit
system is used to reward users contributing to the network, i.e. uploading to other
clients. The strict queue system in eMule is based on the waiting time a user has
spent in the queue. The credit system provides a major modifier to this waiting time
by taking the upload and download between the two clients into consideration. The
more a user uploads to a client the faster he advances in this client's queue. The
modifiers are calculated from the amount of transferred data between the two
clients. The values used can be seen in the client's details dialog. To view this
information, right click on any user and choose View Details.
All Clients uploading to you are rewarded by the credit system. It does not matter if
the client supports the credit system or not. Not supporting clients will grant you no
credits when you upload to them. Credits are stored in the clients. met file. The
unique user hash is used to identify the client. Your own credits are saved by the
client who owes you the credit. This prevents faking the credits. Your own credits
cannot be displayed.
The computation formula for the Official Credit System is composed of two ratios as
follows
Both ratios are then compared and the lower one is used as the modifier. A few
conditions exist:

If the Uploaded Total is less than 1 MB, then the modifier will remain at 1.
Page 10 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG


If the client uploads data but doesn't download any, the modifier will be
fixed at 10.
The modifier can only be between 1 and 10.
An exception to this rule applies only when a peer is assigned a "Friend Slot" after
being added to the client's Friends list. This automatically assigns a reserved upload
slot for that peer so that he/she can begin downloading regardless of the Credit
rating. Only one Friend Slot can be reserved so as to prevent any form of abuse such
as upload discrimination.
eMule compared to other p2p networks
One of the advantages of eMule is a large user base, currently averaging 3 to 4
million people, which share some 4 billion files, which makes it excellent for finding
rare content. It is said to be the most complete implementation of the eD2k protocol
and its extensions. However the transfer speed is generally slower than torrent,
although faster than anonymous networks. eMule supports AICH, making its
corruption handling competitive with BitTorrent. eMule also supports source
exchanges, allowing it to substantially reduce the loads on the servers and Kad. With
a High ID and well-sourced downloads pre-acquired by server and/or Kad, eMule is
able to sustain the peer sources on these files independent longer after
disconnection from eD2k and Kad.
Page 11 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
eMule mods
As a popular open source program, eMule has many variants, usually called mods.
Some mods started as forks from official eMule versions, and then continued to
develop independently rather than modifying newer official versions. An example of
this type of mod is eMule Plus. Since eMule Plus forked off before the release of
v0.30, the first official version to include Kad, eMule Plus does not support this
feature. Other mods follow official eMule releases and make their own releases
based on each new release of the official version. Since distributed mods are
required to publicly share their source code by the GNU General Public License,
useful features created by mod developers can be quickly incorporated into an
official version.
Page 12 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
Fake eMule sites and malware
Due to the popularity and open source nature of eMule, some third-parties have
created modified versions of it, which frequently contain spyware and other
malware programs.
Page 13 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
eMule Connection
Connection Status
After launching eMule, please check the network connection status. You can get the
relevant information "My Info" from bottom right corner as shown in the picture.
i) If the status of both eD2K and Kad networks is "Connected" or "Open" or "Firewalled",
then eMule is connected.
ii) If the status is "Disconnected", then you need to manually make the connection.
Page 14 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
2) Connection Settings
Before you start the connection, please view the connection setting by clicking the
"Options" button and select "Connection". Check the boxes of: (as shown in the
picture)
i)"Autoconnect on startup"
ii) "Reconnect on loss"
iii) "Kad"
iv) "eD2K"
then click "OK" or "Confirm" button.
Page 15 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
3) Making the connection
Just click either button will be fine (as shown in the picture). After a few minutes, the
connection status of both networks will be changed to "Connected" or "Open" or
"Firewalled".
Page 16 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
4) Kad Network
If Kad Network still cannot be connected, go to Kad Network page by click "Kad" button.
Enter "taperoom.drbachinese.org" and "4662" (without the quote) in the "IP or Address"
and the "Port" fields respectively at the upper right corner. Then click "Bootstrap" as shown
in the picture. Kad will be connected after few minutes by changing its status to either
"Open" or "Firewalled".
Page 17 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
5) eMule File Sharing
By default, eMule will share all the files in the "Incoming" and "Temp"
folders/directories, and treat them as seed for others to download.
Once you have moved the files to another location and want to share them as well,
you need to make them as "shared"; otherwise, eMule will not treat them as seed
files for others to download.
Method:
Click the "Options" button on top right corner and select "Directories". In the
"Shared directories" section, please check the box of respective directory/folder for
sharing, and then click "OK" or "Confirm". If the directory/folder has subdirectories/sub-folders inside, you can:
i) press down "Ctrl" key and check the box (in this case all sub-directories/subfolders inside that directory/folder will be shared). OR
ii) only check relevant directory/folder one by one you want to share.
Then click "OK" or "Confirm" button to save the settings.
Page 18 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
Notable usage
Search
These search dialog offers search parameters and controls to perform searches on
ed2k servers, in the kad network or by an external web service.
Page 19 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
Transfers
This dialog lists your downloads on the top and currently ongoing uploads on the
bottom.
Page 20 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
Share Files
This dialog shows all you local files being shared over eMule.
Page 21 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
Messages
You can send messages to other clients directly from eMule. If the other client
accepts your chat, you can talk directly from peer to peer.
Page 22 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
Services
The server dialog provides all information about the servers in your list, the server
you are connected to and contains controls to add servers by IP or by downloading a
server list.
Page 23 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
Some Similar Softwares
BitTorrent
BitTorrent is a peer-to-peer file sharing protocol used for distributing large amounts
of data. BitTorrent is one of the most common protocols for transferring large files,
and it has been estimated that it accounts for approximately 27-55% of
all Internet traffic (depending on geographical location) as of February 2009 [1].
BitTorrent protocol allows users to distribute large amounts of data without putting
the level of strain on their computers that would be needed for standard Internet
hosting. A standard host's servers can easily be brought to a halt if extreme levels of
simultaneous data flow are reached. The protocol works as an alternative data
distribution method that makes even small computers with low bandwidth capable
of participating in large data transfers.
First, a user playing the role of file-provider makes a file available to the network.
This first user's file is called a seedand its availability on the network allows other
users, called peers, to connect and begin to download the seed file. As new peers
connect to the network and request the same file, their computer receives a
different piece of the data from the seed. Once multiple peers have multiple pieces
of the seed, BitTorrent allows each to become a source for that portion of the file.
The effect of this is to take on a small part of the task and relieve the initial user,
distributing the file download task among the seed and many peers. With BitTorrent,
no one computer needs to supply data in quantities which could jeopardize the task
by overwhelming all resources, yet the same final result—each peer eventually
receiving the entire file—is still reached.
After the file is successfully and completely downloaded by a given peer, the peer is
able to shift roles and become an additional seed, helping the remaining peers to
receive the entire file. This eventual shift from peers to seeders determines the
overall 'health' of the file (as determined by the number of times a file is available in
its complete form).
This distributed nature of BitTorrent leads to a viral spreading of a file throughout
peers. As more peers join the swarm, the likelihood of a successful download
increases. Relative to standard Internet hosting, this provides a significant reduction
in the original distributor's hardware and bandwidth resource costs. It also
provides redundancy against system problems, reduces dependence on the original
Page 24 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
distributor and provides a source for the file which is generally temporary and
therefore harder to trace than when provided by the enduring availability of a host
in standard file distribution techniques.
Programmer Bram Cohen designed the protocol in April 2001 and released a first
implementation on 2001-07-02.[2] It is now maintained by Cohen's companyBitTorrent,
Inc. There are numerous BitTorrent clients available for a variety of computing platforms.
According to isoHunt, the total amount of shared content was more than 9.4 petabytes as
of 2009-09-10.
Share(P2P)
Share is the name for a closed-source P2P application being developed in Japan by
an anonymous author. Since the author of Winny was arrested, Share was
developed as its successor, also focusing on higher security. Share functions in much
the same manner as Winny, using encrypted caches, filenames and IP addresses, and
is based on the same node organized architecture as Winny. Share uses encryption
to hide the identity of who is transferring or what they are transferring. It is noncentralized so it cannot be easily shut down and it supports multiple source "swarm"
downloading. All files are transferred encrypted so they must be decrypted upon
download completion. In the meantime they are stored in encrypted form in a
"Cache" folder. This folder is also used to allow your recently downloaded files to be
shared among the network based on priorities.
Share also features a plugin system. The plugins and PDK are readily available
through the Share network. The PDK is in Delphi.
Unlike Winny, Share allows users to specify up to 255 Cluster keywords, though only
5 can be active at once (Winny only allowed 3 cluster words, and its system was
more confusing). These are used to connect to nodes that have also specified the
same Cluster Keywords. This allows users to maintain connections with nodes that
are sharing files they might be interested in, while disconnecting from nodes that
share content they are not concerned about.
Users can specify auto-download triggers and auto-block filters. The network also
appears to have some sort of a Forgery Warning system to warn people about
possible falsified data/files.
Like Winny, Share uses Trip IDs to verify the identity of a person sharing a file. A Trip
is a sort of encrypted key that identifies a person is who they say they are. This
Page 25 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
allows users to decide whether or not they trust a person based on their previous
sharing experience with them.
When a new version of Share becomes available, users are given a notice in the Share
statusbar. When this happens, users can search for the new version on the share network
and download it from a reliable source based on Trip. This internal method of distribution
makes it hard to find a copy of the software outside of the (presumed safely anonymous)
Share network, since offering this software publicly could lead to unwanted attention from
law enforcement agencies.
Anonymous P2P
An anonymous P2P communication system is a peer-to-peer distributed application
in which the nodes or participants are anonymous or pseudonymous. Anonymity of
participants is usually achieved by special routing overlay networks that hide the
physical location of each node from other participants.
Interest in anonymous P2P systems has increased in recent years for many reasons,
ranging from the desire to share copyrighted files without revealing one's network
identity and risking litigation[1] to distrust in governments, concerns over
mass surveillance and data retention, and lawsuits against bloggers.
Page 26 of 28
Resources
Here is a list of what we think are the most helpful websites for new eMule users.
Table 1 – Top Web Sources
Page 1 of 28
Introduction to eMule by Kelvin LAW, Xing Yue WU, Ting Ting ZHANG
Top Web Source
eMule Introduction
How to Use eMule?
A File-Sharers Guide
Introductions to
eMule
Little eMule Guide!!
eMule Guide for
Beginners
Guide to eMule
Source
URL
Drab.org
zeropaid.com
http://www.drba.org/online/audio/emule_instruction.htm
http://www.zeropaid.com/news/9432/how_to_use_emule_a_filesharers_guide/
eMule-Project.net
http://www.emule-project.net/home/perl/general.cgi?l=1
afterdawn.com
ed2k-it.com
http://forums.afterdawn.com/thread_view.cfm/39168
http://www.ed2k-it.com/viewtopic.php?t=5595
Slyck.com
http://www.slyck.com/forums/viewtopic.php?t=7602
Page 2 of 28