Ed2k URI scheme

Ed2k URI scheme

In computing, ed2k links are hyperlinks used to denote files stored within the eDonkey P2P network. Many programs, such as eDonkey2000, eMule, Hybrid, MLDonkey, and others using the eDonkey file sharing protocol, may be used to manage files stored in the the file sharing network.

ed2k links allow the file to be identified in a browser and transferred to eMule, eDonkey2000 or other compatible software. This linking feature was one of the first to be introduced in peer to peer file sharing. Now Magnet links serves a similar role but is not limited to the ed2k hash but can be other hashes such as SHA or MD5 etc.

These hash codes are primarily used to ensure that identical files have the same unique identifier on the network, even if held at different locations or given different names. This is done by using a hash function on the file to calculate its checksum.

Like other URI protocols web browsers can be configured to automatically handle ed2k URIs. After installing an ed2k client, the ed2k:// protocol is optionally registered so that clicking on it in the browser automatically starts the download.

File link format

The typical ed2k link also includes the filename and the filesize. An example (a link to the 15Mb Purist Edit trailer) is provided below:

ed2k://|file|The_Two_Towers-The_Purist_Edit-Trailer.avi|14997504|965c013e991ee246d63d45ea71954c4d|/

The ed2k links can also include a reference to the IP address and port of the specific client that shares a file. This is done by adding a list of sources after the main part of the link:

ed2k://|file|The_Two_Towers-The_Purist_Edit-Trailer.avi|14997504|965c013e991ee246d63d45ea71954c4d|/|sources,202.89.123.6:4662|/

The "file" part indicates that this is a file link, as opposed to a server link.

On eMule, the link often contains also an AICH top hash |h=H52BRVWPBBTAED5NXQDH2RJDDAKRUWST| to help recover the file in case of corruption during file transfer.

ed2k hash algorithm

The ed2k hash function is a MD4 root hash of an MD4 hash list, and gives a different result than simply MD4:

The file data is divided into full "chunks" of 9500 KiB (9728000 bytes or nearly 9.28 MB) plus a remainder chunk, and a separate 128-bit MD4 checksum is computed for each. If the file length is an exact multiple of 9500 KiB, the remainder zero size chunk is still used at the end of the hash list. The ed2k hash is computed by concatenating the chunks' MD4 checksums in order and hashing the result using MD4. Although, if the file is composed of a single non-full chunk, its MD4 hash is used with no further modifications. [emule source, method CKnownFile::CreateFromFile.]

This method of hashing allows the recipient to verify that a hash list corresponds to the original ed2k file hash, without the need to have the data blocks.

It should be noted that what to do when a file ends on a full chunk is undefined. This means that the final hash of a file which is a multiple of 9728000 bytes in size may be computed one of two ways: using the existing MD4 chunk hashes, or using the existing MD4 hashes plus the MD4 hash of an all-zeros chunk. Some programs use one method or the other, and a few use both. So, two different ed2k hashes may be produced for the same file in different programs if the file is a multiple of 9728000 bytes in size.

Server links

A server link is a reference to an eDonkey2000 server; clicking on such a link typically adds it to the server list:

They have the following format:

"ed2k://|server|IP|PORT|/"

*IP -> IP of the server to connect to.
*PORT -> Port where the server is listening for incoming eD2k connections

example:

ed2k://|server|207.44.222.51|4242|/

References

External links

* [http://sharethefiles.com ShareTheFiles] Example of a large eD2k link indexing website.
* [http://forum.emule-project.net/index.php?showtopic=46944 emule forum guides] How to remove the ed2k link protocol association in windows.
* [http://www.amule.org/wiki/index.php/Ed2k_link aMule wiki: ed2k link] .
* [http://www.emule-project.net/home/perl/help.cgi?l=1&rm=show_topic&topic_id=422 emule project] Ed2k link formats supported by emule client.
* [http://ed2k-tools.sourceforge.net/ed2k_hash.shtml ED2K tools - ED2K_Hash] Tool to create ED2K hashes.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Magnet URI scheme — Magnet icon The magnet: URI scheme is a draft open standard defining a URI scheme for magnet links, which are mainly used to reference resources available for download via peer to peer networks. Such a link typically identifies a file not by… …   Wikipedia

  • Data URI scheme — The data URI scheme is a URI scheme (Uniform Resource Identifier scheme) that provides a way to include data in line in web pages as if they were external resources. It tends to be simpler than other inclusion methods, such as MIME with cid or… …   Wikipedia

  • about URI scheme — about:blank redirects here. For the spyware variant aboutblank , see CoolWebSearch#Variants. About: redirects here. For other uses, see about; for the Wikipedia about page, see Wikipedia:about. about is an internal URI scheme (also known as a URL …   Wikipedia

  • Data URI scheme — Le Data URI scheme est un Schéma d URI, dans le contexte d Internet, qui contient directement des données. L IETF décrit ce schéma dans le RFC 2397[1]. Le schéma est le suivant : data:[<mediatype>][;base64],<data> Un… …   Wikipédia en Français

  • Ed2k — can refer to:* eDonkey network file sharing network * eDonkey2000 file sharing program * ed2k URI scheme links used by eDonkey2000 …   Wikipedia

  • Schéma d'URI — En informatique, un schéma d’URI est le premier niveau de la structure de nommage des identifiants uniformes de ressources (URI). Toutes les URIs sont construites à partir d’un nom de schéma, suivi de deux points (« : ») puis du reste… …   Wikipédia en Français

  • Tag URI — Les Tag URI sont conçues pour être uniques dans le temps et l’espace tout en étant utilisées par les humains[1]. Elles sont distinctes des autres URI, car elles ne comportent aucun mécanisme d’autorité de résolution. Un tag peut être utilisé… …   Wikipédia en Français

  • Shareaza — Original author(s) Michael Stokes …   Wikipedia

  • Morpheus (software) — Morpheus Developer(s) StreamCast Networks (defunct) Initial release ? Stable release 5.55.1  (November 15, 2007; 4 years ago …   Wikipedia

  • MLDonkey — Initial release late 2001 Stable release 3.1.0  (August 10, 2011; 3 months ago (2011 08 10)[1]) …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”