Magnet URI -skjema - Magnet URI scheme

Image
Avrundet magnetikon brukt på The Pirate Bay

Magnet er et URI -opplegg som definerer formatet på magnetkoblinger , en de facto -standard for identifisering av filer ( URN ) etter innholdet, via kryptografisk hash -verdi i stedet for etter plassering.

Selv om magnetkoblinger kan brukes i en rekke sammenhenger, er de spesielt nyttige i peer-to-peer fildelingsnettverk fordi de lar ressurser henvises til uten behov for en kontinuerlig tilgjengelig vert, og kan genereres av alle som allerede har filen, uten at en sentral myndighet trenger å utstede dem. Dette gjør dem populære for bruk som "garanterte" søkeord i fildelingssamfunnet hvor alle kan distribuere en magnetkobling for å sikre at ressursen som er hentet med denne koblingen, er den som er beregnet, uavhengig av hvordan den blir hentet.

Historie

Standarden for Magnet URI ble utviklet av Bitzi i 2002, delvis som en "leverandør- og prosjektnøytral generalisering" av henholdsvis ed2k:og freenet:URI-ordninger brukt av henholdsvis eDonkey2000 og Freenet , og forsøk på å følge offisielle IETF URI- standarder så tett som mulig. BitTorrent introduserte btmh:protokollen i 2020 som en del av BitTorrent v2 -endringene.

Format

Magnet URI består av en serie med en eller flere parametere, hvis rekkefølge ikke er signifikant, formatert på samme måte som spørringsstrenger som vanligvis avslutter HTTP -URLer. Den vanligste parameteren er "xt" ("eksakt emne"), som vanligvis er et URN dannet fra innholdshashen til en bestemt fil, for eksempel:

magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a

Dette refererer til hex- kodet SHA-1- hash (btih, "BitTorrent info-hash") i den aktuelle torrentinformasjonsdelen. Vær oppmerksom på at selv om en bestemt fil er angitt, må en tilgjengelighetssøk etter den fortsatt utføres av klientprogrammet.

Parametere

Følgende parametere støttes:

Parameter Navn Beskrivelse
dn Visningsnavn Et filnavn som skal vises for brukeren, for enkelhets skyld.
xl eXact Lengde Størrelse (i byte)
xt eXact Topic URN som inneholder fil -hash . Dette er den mest avgjørende delen av magnetkoblingen, og brukes til å finne og bekrefte den spesifiserte filen. URN er spesifikk for protokollen, så en fil -hash -URN under btih (BitTorrent) ville være helt annerledes enn fil -hash -URN for ed2k
xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a
ws Nettfrø Nyttelastdata som vises via HTTP (S)
som Akseptabel kilde Henviser til en direkte nedlasting fra en webserver. Betraktes som bare en tilbakekallskilde i tilfelle en klient ikke er i stand til å finne og/eller laste ned filen som er koblet til i sitt (e) støttede P2P-nettverk
as=[web link to file(URL encoded)]
xs eXact -kilde Enten en HTTP (eller HTTPS, FTP, FTPS, etc.) nedlastingskilde for filen som Magnet -lenken viser til, adressen til en P2P -kilde for filen eller adressen til et hub (i tilfelle DC ++ ), av som en klient prøver å koble direkte til og ber om filen og/eller dens kilder. Dette feltet brukes ofte av P2P -klienter til å lagre kilden, og kan inneholde fil -hash.
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:FINYVGHENTHSMNDSQQYDNLPONVBZTICF
kt Stikkord emne Spesifiserer en rekke søkeord du vil søke etter i P2P -nettverk, i stedet for en bestemt fil
kt=martin+luther+king+mp3
mt Manifestemne Lenke til metafilen som inneholder en liste over magneto (MAGMA - MAGnet MAnifest ); dvs. en lenke til en liste med lenker
mt=http://example.org/all-my-favorites.rss
mt=urn:sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ
tr adresse TRacker Sporeren URL ; brukes til å skaffe ressurser for BitTorrent -nedlastinger uten behov for DHT -støtte. Verdien må være URL -kodet.
tr=http%3A%2F%2Fexample.org%2Fannounce

Standarden åpner også for applikasjonsspesifikke eksperimentelle parametere, som må begynne med "x".

xt eksakt tema

Parameteren xt spesifiserer URN for en gitt p2p -protokoll. Formålet er å gi en søkeparameter for å finne metadataene til torrenten. Dette fungerer effektivt som en erstatning for en .torrent -fil, som i seg selv inneholder torrent -metadataene, ved i stedet å søke i p2p -nettverket (ved hjelp av URN) for de metadataene. Hver protokoll håndterer et URN på en unik måte; bruker for eksempel xt=urn:btih:FFC7E738EAA4CD4ECF51EC6FD669C6CDE2C281A8btih (BitTorrent v1 -protokollen), så en BitTorrent -klient kan ta hashen og slå opp torrentens metadata i BitTorrent DHT. I tilfelle DHT søker klienten gjennom et sett med kjente noder og ber metadataene om en infohash; disse nodene vil gjøre den samme forespørselen til andre kjente noder til slutt en sverm blir funnet og returnert.

xt gir også mulighet for en gruppeinnstilling. Flere filer kan inkluderes ved å legge til et telletall foran en prikk (".") Til hver koblingsparameter.

magnet:?xt.1=[ URN of the first file]&xt.2=[ URN of the second file]
Tiger Tree Hash (TTH)
Disse hasjene brukes blant annet på Direct Connect og G2 (Gnutella2).
xt=urn:tree:tiger:[ TTH Hash (Base32) ]
Secure Hash Algorithm 1 (SHA-1)
Disse hashsummene brukes på gnutella og G2 (Gnutella2).
xt=urn:sha1:[ SHA-1 Hash (Base32) ]
BitPrint
Slike hash-summer består av en SHA-1 Hash, etterfulgt av en TTH Hash, avgrenset av et punkt; de brukes på gnutella og G2 (Gnutella2).
xt=urn:bitprint:[ SHA-1 Hash (Base32) ].[ TTH Hash (Base32) ]
ED2K (eDonkey2000) hash
Disse hash -summene brukes på eDonkey2000 .
xt=urn:ed2k:[ ED2K Hash (Hex) ]
Advanced Intelligent Corruption Handler (AICH)
Ikke formelle URN -er for Magnet -lenker, slike hash -summer brukes av eDonkey2000 for å gjenopprette og kontrollere integriteten til nedlasting og allerede nedlastede filer.
xt=urn:aich:[ aich Hash (Base32) ]
Kazaa hash
Disse hash -summene brukes på FastTrack og er sårbare for angrep mot hashkollisjoner .
xt=urn:kzhash:[ Kazaa Hash (Hex) ]
BitTorrent info hash (BTIH)
Dette er heksekodede SHA-1- hash-summer av "info" -delene i BitTorrent-metafiler slik de brukes av BitTorrent for å identifisere nedlastbare filer eller sett med filer. For bakoverkompatibilitet med eksisterende lenker, bør klientene også støtte Base32 -kodede versjonen av hasjen.
xt=urn:btih:[ BitTorrent Info Hash (Hex) ]

Noen klienter krever Base32 av info_hash (f.eks. Vuze ).

Message Digest 5 (MD5)
Støttet av G2 (Gnutella2), er slike hashes sårbare for hasjkollisjonsangrep .
xt=urn:md5:[ MD5 Hash (Hex) ]

Nettlenker til filen

Det er to typer nedlastingskoblinger som en Magnet -lenke kan inkludere som en direkte eller sikkerhetskopiskilde.

"som" ("akseptabel kilde")
De fleste klienter behandler "som" som lik x -symbolet når det gjelder prioritet, og ignorerer tidsavbruddet før de kontakter "som" kilder angitt med spesifikasjonene.
Innholdsadresserbar nettadresse
Denne typen RFC  2168 -basert lenke brukes av gnutella så vel som G2 applikasjoner.
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:FINYVGHENTHSMNDSQQYDNLPONVBZTICF
Lenke til en DirectConnect -hub for å finne kilder til en fil
Denne typen koblinger kobler en DirectConnect -klient umiddelbart til det aktuelle huben.
xs=dchub://[hub address]:[hub port]
Henvisning til en webbasert kildebuffer for en fil på Gnutella2
I dette tilfellet peker de inkluderte koblingen, ikke til en klient -IP eller direkte kilde, men til en kildebuffer som lagrer IP -adressene til andre klienter som kontakter den for å laste ned den samme filen. Når en klient kobler seg til hurtigbufferen, serveres den IP -er for alternative kilder, mens dens egen IP lagres i hurtigbufferen og videresendes til den neste som kobler til hurtigbufferen. Dette systemet fungerer på samme måte som en BitTorrent -tracker .
xs=http://cache.freebase.be/[ SHA-1 hash ]
Henvisning til en eD2k -kilde
xs=ed2kftp://[client address]:[client port]/[ed2k hash]/[file size]/

Tilleggsformat (x.)

For eksperimentelle og selvkompletterende uformelle alternativer kan prefikset x.etterfulgt av et valgt suffiksbokstav brukes. Disse navnene blir garantert aldri standardisert.

x.[name of the new parameter]=[data of the new parameter (URL encoded)]

Kunder

Klient dn xl xt tr xs som kt mt ws
AMule Ja Ja urn:ed2k: Nei Ukjent Ukjent Ukjent Ukjent Ukjent
ApexDC ++ Ja Ja urn:bitprint:
urn:tree:tiger:
Nei dchub: dchub: Nei Nei Ukjent
BitComet Ja Ja urn:btih: Ja Ja1.76 Nei Nei Nei Ja1.74
Bitflu Ja Nei urn:btih: Ja Nei Nei Nei Nei Ukjent
Deluge Ja Nei urn:btih: Ja Nei Nei Nei Nei Ukjent
EiskaltDC ++ Ja Ja urn:tree:tiger:
urn:bitprint:
urn:btih:
urn:btmh:
Nei dchub:
adc:
adcs:
dchub: Ja Nei Ukjent
FlylinkDC ++ Ja Ja urn:tree:tiger:
urn:bitprint:
urn:btih:
Nei dchub:
adc:
adcs:
dchub: Ja Nei Ukjent
gtk-gnutella Ja Ja urn:sha1: Nei http:
push:
Ja Ja Nei Ukjent
KTorrent Ja Nei urn:btih: Ja Nei Nei Nei Nei Ukjent
LimeWire Ja Ja urn:sha1: Nei http:
urn: guid :
Ukjent Nei Nei Ukjent
MonoTorrent Ja Ja urn:btih: Ja Nei Ja Nei Nei Ukjent
μTorrent Ja Nei urn:btih: Ja Nei Nei Nei Nei Ukjent
qBittorrent Ja Nei urn:btih: Ja Ukjent Ukjent Nei Nei Ukjent
Shareaza Ja Ja urn:bitprint:
urn:btih:
urn:ed2k:
urn:md5:
urn:sha1:
urn:tree:tiger:
Ja http:
ftp:
http:
ftp:
(Samme prioritet som xs)
Ja Nei Ukjent
Tixati Ja Ja urn:btih: Ja Ukjent Ukjent Ukjent Ukjent Ukjent
Overføring Ja Nei urn:btih: Ja Nei Nei Nei Nei Ja
Vuze Ja Ja urn:btih:
urn:sha1:
Ja Ja5.7.5.0 Ja5.7.5.0 Nei Nei Ja

Se også

Forklarende merknader

Referanser

Eksterne linker