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