HOME

TheInfoList



OR:

Magnet is a
URI scheme A Uniform Resource Identifier (URI) is a unique sequence of characters that identifies a logical or physical resource used by web technologies. URIs may be used to identify anything, including real-world objects, such as people and places, conc ...
that defines the format of magnet links, a
de facto standard A ''de facto'' standard is a custom or convention that has achieved a dominant position by public acceptance or market forces (for example, by early entrance to the market). is a Latin phrase (literally " in fact"), here meaning "in practice b ...
for identifying files (
URN An urn is a vase, often with a cover, with a typically narrowed neck above a rounded body and a footed pedestal. Describing a vessel as an "urn", as opposed to a vase or other terms, generally reflects its use rather than any particular shape or ...
) by their content, via cryptographic hash value rather than by their location. Although magnet links can be used in a number of contexts, they are particularly useful in
peer-to-peer file sharing Peer-to-peer file sharing is the distribution and sharing of digital media using peer-to-peer (P2P) networking technology. P2P file sharing allows users to access media files such as books, music, movies, and games using a P2P software program th ...
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 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 r ...
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.


History

The standard for Magnet URIs was developed by Bitzi in 2002, partly as a "vendor- and project-neutral generalization" of the ed2k: and freenet: URI schemes used by
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 ...
and
Freenet Freenet is a peer-to-peer platform for censorship-resistant, anonymous communication. It uses a decentralized distributed data store to keep and deliver information, and has a suite of free software for publishing and communicating on the Web ...
, respectively, and attempts to follow official
IETF The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements and a ...
URI standards as closely as possible. BitTorrent introduced the 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 as
query string A query string is a part of a uniform resource locator (URL) that assigns values to specified parameters. A query string commonly includes fields added to a base URL by a Web browser or other client application, for example as part of an HTML, cho ...
s that ordinarily terminate
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide We ...
URLs. The following parameters are supported: The standard also allows for application-specific experimental parameters, which must begin with "x".


Exact 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 An urn is a vase, often with a cover, with a typically narrowed neck above a rounded body and a footed pedestal. Describing a vessel as an "urn", as opposed to a vase or other terms, generally reflects its use rather than any particular shape or ...
of the first file]&xt.2=[ URN of the second file]
; Merkle tree#Tiger tree hash, Tiger Tree Hash (TTH): These hashes are used on Direct Connect (file sharing), Direct Connect and Gnutella2, G2 (Gnutella2), among others. :xt=urn:tree:tiger: TTH_ TTH_hash_sum">Hash_(Base32.html" ;"title="hash_sum.html" ;"title="Merkle_tree#Tiger_tree_hash.html" ;"title="Merkle tree#Tiger tree hash">TTH hash sum">Hash (Base32">hash_sum.html" ;"title="Merkle_tree#Tiger_tree_hash.html" ;"title="Merkle tree#Tiger tree hash">TTH hash sum">Hash (Base32) ] ; SHA-1, Secure Hash Algorithm 1 (SHA-1): These hash sums are used on
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 compute ...
and Gnutella2, G2 (Gnutella2). :xt=urn:sha1: SHA-1_hash_function.html" ;"title="SHA-1.html" ;"title="SHA-1">SHA-1 hash function">Hash (
Base32 Base32 is the base-32 numeral system. It uses a set of 32 digits, each of which can be represented by 5 bits (25). One way to represent Base32 numbers in a human-readable way is by using a standard 32-character set, such as the twenty-two upper- ...
) ]
; BitPrint: Such hash sums consist of an SHA-1 Hash, followed by a TTH Hash, delimited by a point; they are used on
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 compute ...
and Gnutella2, G2 (Gnutella2). :xt=urn:bitprint: SHA-1_hash_function.html" ;"title="SHA-1.html" ;"title="SHA-1">SHA-1 hash function">Hash (
Base32 Base32 is the base-32 numeral system. It uses a set of 32 digits, each of which can be represented by 5 bits (25). One way to represent Base32 numbers in a human-readable way is by using a standard 32-character set, such as the twenty-two upper- ...
) ]. TTH_ TTH_hash_sum">Hash_(Base32.html" ;"title="hash_sum.html" ;"title="Merkle_tree#Tiger_tree_hash.html" ;"title="Merkle tree#Tiger tree hash">TTH hash sum">Hash (Base32">hash_sum.html" ;"title="Merkle_tree#Tiger_tree_hash.html" ;"title="Merkle tree#Tiger tree hash">TTH hash sum">Hash (Base32) ]
; EDonkey network#Hash identification, ED2K (eDonkey2000) hash: These hash sums are used on
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 ...
. :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
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 ...
to restore and control the integrity of downloading and already downloaded files. :xt=urn:aich: AICH, aich hash sum, Hash (
Base32 Base32 is the base-32 numeral system. It uses a set of 32 digits, each of which can be represented by 5 bits (25). One way to represent Base32 numbers in a human-readable way is by using a standard 32-character set, such as the twenty-two upper- ...
) ]
; Kazaa hash: Used on FastTrack, these hash sums are vulnerable to hash collision attacks. :xt=urn:kzhash:[ Kazaa hash sum, Hash ( Hex) ] ; BitTorrent info hash (BTIH): These are hex-encoded
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 ...
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 Base32 is the base-32 numeral system. It uses a set of 32 digits, each of which can be represented by 5 bits (25). One way to represent Base32 numbers in a human-readable way is by using a standard 32-character set, such as the twenty-two upper- ...
encoded version of the hash. :xt=urn:btih: BitTorrent_Info__BitTorrent Info Hash.html" ;"title="hash sum, Hash">hash sum, Hash ( Hex) /code> : Some clients require
Base32 Base32 is the base-32 numeral system. It uses a set of 32 digits, each of which can be represented by 5 bits (25). One way to represent Base32 numbers in a human-readable way is by using a standard 32-character set, such as the twenty-two upper- ...
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_Info__BitTorrent Info Hash.html" ;"title="hash sum, Hash">hash sum, Hash ( Hex) /code> ; Message Digest 5 (MD5): Supported by Gnutella2, G2 (Gnutella2), such hashes are vulnerable to hash collision attacks. :xt=urn:md5: 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 compute ...
as well as Gnutella2, G2 applications. :xs=http:// lient Address ort of clienturi-res/N2R? URN_ An_urn_is_a__vase,_often_with_a_cover,_with_a_typically_narrowed_neck_above_a_rounded_body_and_a_footed_pedestal._Describing_a_vessel_as_an_"urn",_as_opposed_to_a_vase_or_other_terms,_generally_reflects_its_use_rather_than_any_particular_shape_or_...
_containing_a_file_hash_sum.html" ;"title="
URN An urn is a vase, often with a cover, with a typically narrowed neck above a rounded body and a footed pedestal. Describing a vessel as an "urn", as opposed to a vase or other terms, generally reflects its use rather than any particular shape or ...
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 Gnutella2, often referred to as G2, is a peer-to-peer protocol developed mainly by Michael Stokes and released in 2002. While inspired by the gnutella protocol, G2 shares little of its design with the exception of its connection handshake and ...
: 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 fi ...
. :xs=http://cache.freebase.be/ SHA-1_hash_sum.html"_;"title="SHA-1.html"_;"title="SHA-1">SHA-1_hash_sum">hash_.html" ;"title="SHA-1">SHA-1_hash_sum.html" ;"title="SHA-1.html" ;"title="SHA-1">SHA-1 hash sum">hash ">SHA-1">SHA-1_hash_sum.html" ;"title="SHA-1.html" ;"title="SHA-1">SHA-1 hash sum">hash /code> ;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).html" ;"title="URL.html" ;"title="ata of the new parameter (URL">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 * 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 command-line tool, which can calculate magnet links {{DEFAULTSORT:Magnet Uri Scheme File sharing URI schemes