Ed2k URI scheme
   HOME

TheInfoList



OR:

In computing, eD2k links (''ed2k://'') are hyperlinks used to denote files stored on computers connected to the eDonkey
filesharing File sharing is the practice of distributing or providing access to digital media, such as computer programs, multimedia (audio, images and video), documents or electronic books. Common methods of storage, transmission and dispersion include re ...
P2P network Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. They are said to form a peer-to-peer n ...
.


General

Many programs, such as
eMule eMule is a free peer-to-peer file sharing application for Microsoft Windows. Started in May 2002 as an alternative to eDonkey2000, eMule now connects to both the eDonkey network and the Kad network. The distinguishing features of eMule are ...
,
MLDonkey MLDonkey is an open-source, multi-protocol, peer-to-peer file sharing application that runs as a back-end server application on many platforms. It can be controlled through a user interface provided by one of many separate front-ends, including ...
and the original
eDonkey2000 eDonkey2000 (nicknamed "ed2k") was a peer-to-peer file sharing application developed by US company MetaMachine (Jed McCaleb and Sam Yagan), using the Multisource File Transfer Protocol. This client supports both the eDonkey2000 network and the ...
client by '' MetaMachine'', which introduced the link type, as well as others using the eDonkey file sharing protocol, can be used to manage files stored in the filesharing network. eD2k links allow a file to be identified from a link in a web browser and to be downloaded thereafter by a client like eMule,
Shareaza Shareaza is a peer-to-peer file sharing client running under Microsoft Windows which supports the gnutella, Gnutella2 (G2), eDonkey, BitTorrent, FTP, HTTP and HTTPS network protocols and handles magnet links, ed2k links, and the now deprecat ...
or any other compatible software. This linking feature was one of the first URIs to be introduced in
peer-to-peer Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. They are said to form a peer-to-peer ...
file sharing, and had a vast effect on the development of the eDonkey network, as it allowed external link sites to provide verified content within the network. Nowadays, so-called
Magnet links Magnet is a URI scheme that defines the format of magnet links, a de facto standard for identifying files ( URN) by their content, via cryptographic hash value rather than by their location. Although magnet links can be used in a number of con ...
have replaced eD2k links in practice. They serve a similar role, but are not limited to the eD2k hash and can contain other hashes such as
SHA-1 In cryptography, SHA-1 (Secure Hash Algorithm 1) is a cryptographically broken but still widely used hash function which takes an input and produces a 160-bit (20- byte) hash value known as a message digest – typically rendered as 40 hexadec ...
or MD5 for example, which makes it possible to use these links to point to files in several networks (as well as in BitTorrent) at once. eD2k links include file hashes, as these hashes can be used as a
unique identifier A unique identifier (UID) is an identifier that is guaranteed to be unique among all identifiers used for those objects and for a specific purpose. The concept was formalized early in the development of computer science and information systems ...
for files within the network, so even if the linked-to file has a different name on two computers within the network, the file can be found on both of them, and file chunks can be obtained from both sources. This is done by using a
hash function A hash function is any function that can be used to map data of arbitrary size to fixed-size values. The values returned by a hash function are called ''hash values'', ''hash codes'', ''digests'', or simply ''hashes''. The values are usually ...
on the file to calculate its checksum, depending only from the file content, not from its name. 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 or asks whether the user wants to start downloading.


File link format

File links are preceded with the "file" token, which indicates that this is a file link, as opposed to a server, serverlist, nodelist or friend link. The typical eD2k file link also includes the filename and the file size. An example (a link to the 15 MB Purist Edit trailer) is provided below: ed2k://, file, The_Two_Towers-The_Purist_Edit-Trailer.avi, 14997504, 965c013e991ee246d63d45ea71954c4d, / eD2k links can also include a reference to the
IP address An Internet Protocol address (IP address) is a numerical label such as that is connected to a computer network that uses the Internet Protocol for communication.. Updated by . An IP address serves two main functions: network interface ident ...
and port of specific clients that are known to share the linked-to file. This is done by adding a list of sources after the main part of the link, like shown in the following example: ed2k://, file, The_Two_Towers-The_Purist_Edit-Trailer.avi, 14997504, 965c013e991ee246d63d45ea71954c4d, /, sources,202.89.123.6:4662, / 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 root hash of a list of MD4 hashes. It gives a different result than a simple usage of the MD4 algorithm. The file data is divided into full ''chunks'' of 9500 KiB (9728000 bytes) plus a remainder chunk, and a separate 128-bit MD4 checksum is computed for each. If the file is greater than 9500 KiB (which means that there is more than one chunk), the eD2k hash is computed by concatenating the chunks' MD4 checksums in order and hashing the result again using MD4. Otherwise, the MD4 hash of the only chunk of the file is used with no further modifications. This method of hashing allows the recipient to verify that a hash list corresponds to an original eD2k file hash, without the need to actually have the file present on disk. In the past, there has been some ambiguity for files whose size is a multiple of the chunk size (9500 KiB). Old versions of some eD2k hash tools computed file hashes with an additional 0-byte chunk at the end. This is because an ambiguity of the term ''remainder chunk'' which can be interpreted as either ''the last chunk'' or a ''non-full chunk at the end''. Following the latter interpretation, some implementations added a zero byte chunk in case the last chunk of a file was a complete one. This practice is discouraged however and the first interpretation is used as a standard nowadays to prevent some files from having different hashes depending on the algorithm implementation used to calculate their hash.


AICH

The AICH (Advanced Intelligent Corruption Handling) is an
emule eMule is a free peer-to-peer file sharing application for Microsoft Windows. Started in May 2002 as an alternative to eDonkey2000, eMule now connects to both the eDonkey network and the Kad network. The distinguishing features of eMule are ...
extension. It subdivides the 9500 KiB chunk into 180-KiB blocks and builds a
merkel tree In cryptography and computer science, a hash tree or Merkle tree is a tree in which every "leaf" (node) is labelled with the cryptographic hash of a data block, and every node that is not a leaf (called a ''branch'', ''inner node'', or ''inode'') ...
out of the SHA1 hashes of the 53 blocks, so that the root hash of each block is called a ''block hash''. The block hashes further feed into a merkel tree, the root hash of which is the actual AICH root hash. The smaller block size allows eMule clients to more precisely identifify locations of corruption.


Server links

A server link is a reference to an eDonkey2000 server; clicking on such a link typically adds it to the server list. Server links are indicated by the server token at the beginning of the link and 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, /


See also

*
Magnet URI scheme Magnet is a URI scheme that defines the format of magnet links, a de facto standard for identifying files (URN) by their content, via cryptographic hash value rather than by their location. Although magnet links can be used in a number of cont ...
*
Metalink Metalink is an extensible metadata file format that describes one or more computer files available for download. It specifies files appropriate for the user's language and operating system; facilitates file verification and recovery from da ...
*
Named data networking Named Data Networking (NDN) (related to content-centric networking (CCN), content-based networking, data-oriented networking or information-centric networking (ICN)) is a proposed Future Internet architecture inspired by years of empirical resear ...


References


External links


emule forum guides
How to remove the ed2k link protocol association in windows.
aMule wiki: ed2k link

emule project
Ed2k link formats supported by emule client.
ED2K tools - ED2K_Hash
Tool to create ED2K hashes.
Phantom P2P
eD2k Links Provider {{eDonkey File sharing URI schemes