Magnet URI -skjema - Magnet URI scheme
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
|
| 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
|
| 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. |
| kt | Stikkord emne | Spesifiserer en rekke søkeord du vil søke etter i P2P -nettverk, i stedet for en bestemt fil
|
| mt | Manifestemne | Lenke til metafilen som inneholder en liste over magneto (MAGMA - MAGnet MAnifest ); dvs. en lenke til en liste med lenker
|
| tr | adresse TRacker | Sporeren URL ; brukes til å skaffe ressurser for BitTorrent -nedlastinger uten behov for DHT -støtte. Verdien må være URL -kodet.
|
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å
- BitTorrent
- Burnbit
- ed2k URI -opplegg
- InterPlanetary File System
- Metalink
- Navngitt datanettverk
- Peer-to-peer
Forklarende merknader
Referanser
Eksterne linker
- Magnet-URI-prosjekt på SourceForge , en tidlig definisjon av formatet (siste oppdatering 2002)
- CHK Freeware kontrollsumverktøy med støtte for SHA1-Base32 og ED2K
- RHash på SourceForge , et kommandolinjeverktøy med åpen kildekode , som kan beregne magnetkoblinger