History
The standard for Magnet URIs was developed by Bitzi in 2002, partly as a "vendor- and project-neutral generalization" of theed2k:
and freenet:
URI schemes used by btmh:
protocol in 2020 as part of its BitTorrent v2 changes.
Format
Magnet URIs consist of a series of one or more parameters, the order of which is not significant, formatted in the same way asExact Topic (xt)
The xt parameter specifies the URN for a given p2p protocol. Its purpose is to provide a search parameter for finding the metadata to the torrent. This effectively acts as a replacement to a .torrent file, which itself contains the torrent metadata, by instead searching the p2p network (using the URN) for that metadata. Each protocol handles a URN uniquely; for example,xt=urn:btih:FFC7E738EAA4CD4ECF51EC6FD669C6CDE2C281A8
uses the btih (BitTorrent v1 protocol), so a BitTorrent client can take the hash and lookup the torrent's metadata in the BitTorrent DHT. In the case of DHT the client searches through a set of pre-known nodes and requests the metadata for an infohash; those nodes will make the same request to other known nodes until eventually a swarm is found and returned.
xt also allows for a group setting. Multiple files can be included by adding a count number preceded by a dot (".") to each link parameter.
:magnet:?xt.1= URN of the first file"> URN of the first filext.2= URN of the second file/code>
; Tiger Tree Hash (TTH): These hashes are used on Direct Connect and G2 (Gnutella2), among others.
:xt=urn:tree:tiger : TTH hash sum">Hash
Hash, hashes, hash mark, or hashing may refer to:
Substances
* Hash (food), a coarse mixture of ingredients, often based on minced meat
* Hash (stew), a pork and onion-based gravy found in South Carolina
* Hash, a nickname for hashish, a canna ...
xt=urn:sha1 : SHA-1 hash function">Hash
Hash, hashes, hash mark, or hashing may refer to:
Substances
* Hash (food), a coarse mixture of ingredients, often based on minced meat
* Hash (stew), a pork and onion-based gravy found in South Carolina
* Hash, a nickname for hashish, a canna ...
xt=urn:bitprint : SHA-1 hash function">Hash
Hash, hashes, hash mark, or hashing may refer to:
Substances
* Hash (food), a coarse mixture of ingredients, often based on minced meat
* Hash (stew), a pork and onion-based gravy found in South Carolina
* Hash, a nickname for hashish, a canna ...
(Base32
Base32 is an encoding method based on the Radix, base-32 numeral system. It uses an alphabet of 32 Numerical digit, digits, each of which represents a different combination of 5 bits (25). Since base32 is not very widely adopted, the question of no ...
) ]. TTH hash sum">Hash
Hash, hashes, hash mark, or hashing may refer to:
Substances
* Hash (food), a coarse mixture of ingredients, often based on minced meat
* Hash (stew), a pork and onion-based gravy found in South Carolina
* Hash, a nickname for hashish, a canna ...
(Base32
Base32 is an encoding method based on the Radix, base-32 numeral system. It uses an alphabet of 32 Numerical digit, digits, each of which represents a different combination of 5 bits (25). Since base32 is not very widely adopted, the question of no ...
) ]
; EDonkey network#Hash identification, ED2K (eDonkey2000) hash: These hash sums are used on xt=urn:ed2k :[ EDonkey network#Hash identification, ED2K hash sum, Hash ( Hex) ]
; AICH, Advanced Intelligent Corruption Handler (AICH): Not formal URNs for Magnet links, such hash sums are used by xt=urn:aich : aich.html" ;"title="AICH, aich">AICH, aich hash sum, Hash ( ) ">Base32) /code>
; Kazaa
Kazaa Media Desktop ( ) (once stylized as "KaZaA", but later usually written "Kazaa") was a peer-to-peer file sharing application using the FastTrack protocol licensed by Joltid Ltd. and operated as Kazaa by Sharman Networks. Kazaa was subsequ ...
hash: Used on FastTrack
FastTrack is a peer-to-peer (P2P) protocol that was used by the Kazaa, Grokster, iMesh and Morpheus file sharing programs. FastTrack was the most popular file sharing network in 2003, and used mainly for the exchange of music MP3 files. The ne ...
, these hash sums are vulnerable to hash collision attacks.
:xt=urn:kzhash : Kazaa
Kazaa Media Desktop ( ) (once stylized as "KaZaA", but later usually written "Kazaa") was a peer-to-peer file sharing application using the FastTrack protocol licensed by Joltid Ltd. and operated as Kazaa by Sharman Networks. Kazaa was subsequ ...
Hash.html" ;"title="hash sum, Hash">hash sum, Hash ( Hex) /code>
; BitTorrent info hash (BTIH): These are hex-encoded SHA-1
In cryptography, SHA-1 (Secure Hash Algorithm 1) is a hash function which takes an input and produces a 160-bit (20-byte) hash value known as a message digest – typically rendered as 40 hexadecimal digits. It was designed by the United States ...
hash sums of the "info" sections of BitTorrent metafiles as used by BitTorrent
BitTorrent is a Protocol (computing), communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a Decentralised system, decentralized manner. The protocol is d ...
to identify downloadable files or sets of files. For backwards compatibility with existing links, clients should also support the Base32
Base32 is an encoding method based on the Radix, base-32 numeral system. It uses an alphabet of 32 Numerical digit, digits, each of which represents a different combination of 5 bits (25). Since base32 is not very widely adopted, the question of no ...
encoded version of the hash.
:xt=urn:btih : BitTorrent
BitTorrent is a Protocol (computing), communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a Decentralised system, decentralized manner. The protocol is d ...
Info Hash.html" ;"title="hash sum, Hash">hash sum, Hash ( Hex) /code>
: Some clients require Base32
Base32 is an encoding method based on the Radix, base-32 numeral system. It uses an alphabet of 32 Numerical digit, digits, each of which represents a different combination of 5 bits (25). Since base32 is not very widely adopted, the question of no ...
of info_hash (e.g., Vuze
Vuze (previously Azureus) is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to .torrent files, Azureus allows users to view, p ...
).
; BitTorrent info hash v2 (BTMH): BitTorrent v2 replaces the obsolete SHA-1 hash with a SHA-256
SHA-2 (Secure Hash Algorithm 2) is a set of cryptographic hash functions designed by the United States National Security Agency (NSA) and first published in 2001. They are built using the Merkle–Damgård construction, from a one-way compressi ...
info hash. The v2 info-hash is given a new prefix (btmh
) to allow for torrents that can participate in both v1 and v2 swarms.
:xt=urn:btmh : BitTorrent
BitTorrent is a Protocol (computing), communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a Decentralised system, decentralized manner. The protocol is d ...
Info Hash.html" ;"title="hash sum, Hash">hash sum, Hash ( Hex) /code>
; Message Digest 5 (MD5): Supported by G2 (Gnutella2), such hashes are vulnerable to hash collision attacks.
:xt=urn:md5 : MD5 Hash.html" ;"title="hash sum, Hash">hash sum, Hash ( Hex) /code>
Web links to the file
There are two types of download links that a Magnet link can include as a direct or backup source.
; "as" ("acceptable source"): Most clients treat "as" as equal to the "xs" token when it comes to priority, and ignore the timeout before contacting "as" sources denoted by the specs.
; Content-Addressable Web URL: This type of -based link is used by gnutella
Gnutella is a peer-to-peer network protocol. Founded in 2000, it was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model.
In June 2005, Gnutella's population was 1.81 million computer ...
as well as G2 applications.
:xs=http://[Client Address]:[Port of client]/uri-res/N2R?[ URN containing a file hash sum, hash ]
:xs=http://192.0.2.27:6346/uri-res/N2R?urn:sha1:FINYVGHENTHSMNDSQQYDNLPONVBZTICF
;Link to a DirectConnect hub to find sources for a file: This type of link connects a DirectConnect client immediately to the hub in question.
:xs=dchub:// ub address ub port/code>
;Reference to a web-based source cache for a file on Gnutella2: 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
A BitTorrent tracker is a special type of server that assists in the communication between peers using the BitTorrent protocol.
In peer-to-peer file sharing, a software client on an end-user PC requests a file, and portions of the requested ...
.
:xs=http://cache.freebase.be/ SHA-1 hash sum">hash
Hash, hashes, hash mark, or hashing may refer to:
Substances
* Hash (food), a coarse mixture of ingredients, often based on minced meat
* Hash (stew), a pork and onion-based gravy found in South Carolina
* Hash, a nickname for hashish, a canna ...
]
;Reference to an eD2k source
:xs=ed2kftp://[client address]:[client port]/[ed2k hash]/[file size]/
Supplement format (x.)
For experimental and self-complementing informal options, the prefix followed by a chosen suffix letter can be used. These names are guaranteed to never be standardized.
:x. ame of the new parameter ata of the new parameter (URL encoded)">URL.html" ;"title="ata of the new parameter (URL">ata of the new parameter (URL encoded)/code>
Clients
See also
* BitTorrent
BitTorrent is a Protocol (computing), communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a Decentralised system, decentralized manner. The protocol is d ...
* Burnbit
* ed2k URI scheme
* InterPlanetary File System
* Metalink
* Named data networking
* Peer-to-peer
Explanatory notes
References
External links
* , an early definition of the format (last update 2002)
CHK
Freeware checksum utility with SHA1-Base32 and ED2K support
* , an open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
command-line tool, which can calculate magnet links
{{DEFAULTSORT:Magnet Uri Scheme
File sharing
URI schemes