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. Example: magnet:?xt=urn:btih:da39a3ee5e6b4b0d3255bfef95601890afd80709&xt=urn:btmh:1220e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 The following parameters are supported: 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]&xt.2=[ URN of the second file] ;
Tiger Tree Hash (TTH): These hashes are used on
Direct Connect and
G2 (Gnutella2), among others. :xt=urn:tree:tiger:[
TTH Hash (
Base32) ] ;
Secure Hash Algorithm 1 (SHA-1): These hash sums are used on
gnutella and
G2 (Gnutella2). :xt=urn:sha1:[
SHA-1 Hash (
Base32) ] ;
BitPrint: Such hash sums consist of an SHA-1 Hash, followed by a TTH Hash, delimited by a point; they are used on
gnutella and
G2 (Gnutella2). :xt=urn:bitprint:[
SHA-1 Hash (
Base32) ].[
TTH Hash (
Base32) ] ;
ED2K (eDonkey2000) hash: These hash sums are used on
eDonkey2000. :xt=urn:ed2k:[
ED2K Hash (
Hex) ] ;
Advanced Intelligent Corruption Handler (AICH): 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. :xt=urn:aich:[
aich Hash (
Base32) ] ;
Kazaa hash: Used on
FastTrack, these hash sums are vulnerable to
hash collision attacks. :xt=urn:kzhash:[
Kazaa Hash (
Hex) ] ; BitTorrent info hash (BTIH): 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. :xt=urn:btih:[
BitTorrent Info
Hash (
Hex) ] : Some clients require
Base32 of info_hash (e.g.,
Vuze). ; BitTorrent info hash v2 (BTMH):
BitTorrent v2 replaces the
obsolete SHA-1 hash with a
SHA-256 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. :xs=http://[Client Address]:[Port of client]/uri-res/N2R?[
URN containing a file
hash ] :xs=http://192.0.2.27:6346/uri-res/N2R?urn:sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ ;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://[hub address]:[hub port] ;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. :xs=http://cache.freebase.be/[
SHA-1 hash ] ;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.[name of the new parameter]=[data of the new parameter (
URL encoded)] == Clients ==