This page uses content from Wikipedia and is licensed under CC BY-SA.
Although magnet links can be used in a number of contexts, they are particularly useful in peer-to-peer file sharing networks because they allow resources to be referred to without the need for a continuously available host, and can be generated by anyone who already has the file, without the need for a central authority to issue them. This makes them popular for use as "guaranteed" search terms within the file sharing community where anyone can distribute a magnet link to ensure that the resource retrieved by that link is the one intended, regardless of how it is retrieved.
The standard for Magnet URIs was developed by Bitzi in 2002, partly as a "vendor- and project-neutral generalization" of the
freenet: URI schemes used by eDonkey2000 and Freenet, respectively, and attempts to follow official IETF URI standards as closely as possible.
Magnet URIs consist of a series of one or more parameters, the order of which is not significant, formatted in the same way as query strings that ordinarily terminate HTTP URLs. The most common parameter is "xt" ("exact topic"), which is generally a URN formed from the content hash of a particular file, e.g.:
This refers to the hex-encoded SHA-1 hash of the torrent file info section in question. Note that, although a particular file is indicated, an availability search for it must still be carried out by the client application.
Other parameters defined by the draft standard are:
The standard also allows for multiple parameters of the same type to be used by appending ".1", ".2", etc. to the parameter name, e.g.:
Magnet URIs can contain multiple parameters, in any order, separated from each other by '&'.
"xt" ("exact topic"): the most important part of a Magnet link and is used to find and verify the specified files.
These hash sums are used on eDonkey2000.
Not formal URNs for Magnet links, such hash sums are used by eDonkey2000 to restore and control the integrity of downloading and already downloaded files.
These are hex-encoded SHA-1 hash sums of the "info" sections of BitTorrent metafiles as used by BitTorrent to identify downloadable files or sets of files. For backwards compatibility with existing links, clients should also support the Base32 encoded version of the hash.
There are two types of download links that a Magnet link can include as a direct or backup source.
"as" ("acceptable source") refers to a direct download from a web server. Regarded as only a fall-back source in case a client is unable to locate and/or download the linked-to file in its supported P2P network(s), most clients treat it equal to the "xs" token when it comes to priority, and ignore the timeout before contacting "as" sources denoted by the specs.
"xs" ("exact source") is either an HTTP (or HTTPS, FTP, FTPS, etc.) download source for the file pointed to by the Magnet link, the address of a P2P source for the file or the address of a hub (in the case of DC++), by which a client tries to connect directly, asking for the file and/or its sources. This field is commonly used by P2P clients to store the source, and may include the file hash.
This type of link connects a DirectConnect client immediately to the hub in question.
In this case, the included link points, not to a client IP or direct source, but to a source cache which stores the IPs of other clients contacting it to download the same file. Once a client connects to the cache, it is served IPs for alternate sources, while its own IP is stored within the cache and forwarded to the next one connecting to the cache. This system operates similar to a BitTorrent tracker.
This is a link to a list of links (see list). Perhaps as a web link...
...or a URN
This field specifies a string of search keywords to search for in P2P networks.
For experimental and self-complementing informal options, the prefix x followed by a chosen second letter can be used.
Multiple files and their URNs, names and hashes in the Magnet link can be included by adding a count number preceded by a dot (".") to each link parameter.
magnet:?xt=urn:ed2k:31D6CFE0D16AE931B73C59D7E0C089C0 &xl=0 &dn=zero_len.fil &xt=urn:bitprint:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ.LWPNACQDBZRYXW3VHJVCJ64QBZNGHOHHHZWCLNQ &xt=urn:md5:D41D8CD98F00B204E9800998ECF8427E
[permanent dead link] magnet:?xt=urn:ed2k:354B15E68FB8F36D7CD88FF94116CDC1 &xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY &xt=urn:btih:QHQXPYWMACKDWKP47RRVIV7VOURXFE5Q &xl=10826029&dn=mediawiki-1.15.1.tar.gz &tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce &as=http%3A%2F%2Fdownload.wikimedia.org%2Fmediawiki%2F1.15%2Fmediawiki-1.15.1.tar.gz &xs=http%3A%2F%2Fcache.example.org%2FXRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5 &xs=dchub://example.org
dn (Display Name) – Filename xl (Exact Length) – Size in bytes xt (Exact Topic) – URN containing file hash as (Acceptable Source) – Web link to the file online xs (Exact Source) – P2P link. kt (Keyword Topic) – Key words for search mt (Manifest Topic) – link to the metafile that contains a list of magneto (MAGMA – MAGnet MAnifest) tr (Address Tracker) – Tracker URL for BitTorrent downloads
|Client||dn||xl||xt||tr||xs||as||kt||mt||Interception[Note 1]||Box[Note 2]|
||No||Dchub:[Note 3]||Dchub:[Note 3]||No||Unknown||Yes||No|
||No||Dchub:[Note 3]||Dchub:[Note 3]||Yes||Unknown||Yes||No|
(Same priority as xs)
This client is able to intercept links from within the web browser and can also handle Magnet links pasted into the search area or the "Download File or Torrent" dialogue.
Unable to intercept Magnet links from within a web browser, this client supports Magnets by offering a text box at the bottom of the client into which they can be copied and pasted. The client is able only to recognize eD2k hash, file size and name in a specific order and therefore, many valid links may not be suitable for downloading.