Schema URI magnet - Magnet URI scheme
Magnetul este o schemă URI care definește formatul legăturilor magnet , un standard de facto pentru identificarea fișierelor ( URN ) după conținutul lor, prin valoarea hash criptografică, mai degrabă decât prin locația lor.
Deși legăturile magnet pot fi utilizate în mai multe contexte, ele sunt deosebit de utile în rețelele de partajare de fișiere peer-to-peer , deoarece permit menționarea resurselor fără a fi nevoie de o gazdă disponibilă continuu și pot fi generate de oricine care deja are dosarul, fără a fi nevoie ca o autoritate centrală să le elibereze. Acest lucru îi face populari pentru a fi folosiți ca termeni de căutare „garantați” în comunitatea de partajare a fișierelor , unde oricine poate distribui un link magnetic pentru a se asigura că resursa recuperată de acel link este cea intenționată, indiferent de modul în care este recuperată.
Istorie
Standardul pentru URI-urile Magnet a fost dezvoltat de Bitzi în 2002, parțial ca o „generalizare neutră a furnizorilor și a proiectelor” a schemelor ed2k:
și freenet:
URI utilizate de eDonkey2000 și respectiv Freenet , și încearcă să urmeze standardele URI IETF oficiale cât mai aproape posibil. BitTorrent a introdus protocolul în 2020 ca parte a modificărilor sale BitTorrent v2.
btmh:
Format
URI-urile magnetice constau dintr-o serie de unul sau mai mulți parametri, a căror ordine nu este semnificativă, formatate în același mod ca șirurile de interogare care termină în mod obișnuit adresele URL HTTP . Cel mai comun parametru este „xt” („subiect exact”), care este, în general, un URN format din hash-ul conținutului unui anumit fișier, de exemplu:
magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a
Acest lucru se referă la hex -encoded SHA-1 hash (btih, "BitTorrent info-hash") din secțiunea de informații a fișierului torent în cauză. Rețineți că, deși este indicat un anumit fișier, o cerere de disponibilitate pentru acesta trebuie totuși efectuată de aplicația client.
Parametrii
Se acceptă următorii parametri:
Parametru | Nume | Descriere |
---|---|---|
dn | Numele afisat | Un nume de fișier de afișat utilizatorului, pentru comoditate. |
xl | eXact Lungime | Dimensiune (în octeți) |
xt | Subiect eXact |
URN care conține hash de fișier . Aceasta este cea mai importantă parte a legăturii magnet și este utilizată pentru a găsi și verifica fișierul specificat. URN este specific protocolului, deci un fișier hash URN sub btih (BitTorrent) ar fi complet diferit de fișierul hash URN pentru ed2k
|
ws | Web Seed | Datele privind sarcina utilă difuzate prin HTTP (S) |
la fel de | Sursă acceptabilă | Se referă la o descărcare directă de pe un server web. Considerat ca fiind doar o sursă de rezervă în cazul în care un client nu poate localiza și / sau descărca fișierul conectat în rețeaua (rețelele) P2P acceptate
|
xs | Sursa eXact | Fie o sursă de descărcare HTTP (sau HTTPS, FTP, FTPS etc.) pentru fișierul indicat de linkul Magnet, adresa unei surse P2P pentru fișier sau adresa unui hub (în cazul DC ++ ), de pe care un client încearcă să îl conecteze direct, cerând fișierul și / sau sursele acestuia. Acest câmp este utilizat în mod obișnuit de clienții P2P pentru a stoca sursa și poate include hash-ul fișierului. |
kt | Subiectul cuvântului cheie | Specifică un șir de cuvinte cheie de căutare de căutat în rețelele P2P, mai degrabă decât un anumit fișier
|
mt | Subiect manifest | Link către metafisierul care conține o listă de magneto (MAGMA - MAGnet MAnifest ); adică un link către o listă de linkuri
|
tr | adresa TRacker | URL de urmărire ; folosit pentru a obține resurse pentru descărcări BitTorrent fără a fi nevoie de suport DHT . Valoarea trebuie să fie codificată URL.
|
Standardul permite, de asemenea, parametrii experimentali specifici aplicației, care trebuie să înceapă cu „x”.
xt subiect exact
Parametrul xt specifică URN pentru un protocol p2p dat. Scopul său este de a oferi un parametru de căutare pentru găsirea metadatelor către torrent. Acest lucru acționează efectiv ca înlocuitor al unui fișier .torrent, care în sine conține metadatele torrent, căutând în schimb rețeaua p2p (folosind URN) pentru acele metadate. Fiecare protocol gestionează un URN în mod unic; de exemplu, xt=urn:btih:FFC7E738EAA4CD4ECF51EC6FD669C6CDE2C281A8
folosește btih (protocolul BitTorrent v1), astfel încât un client BitTorrent poate prelua hash-ul și poate căuta metadatele torrentului în BitTorrent DHT. În cazul DHT clientul caută printr-un set de noduri pre-cunoscute și solicită metadatelor un infohash; acele noduri vor face aceeași cerere către alte noduri cunoscute până când în cele din urmă va fi găsit și returnat un roi.
xt permite, de asemenea, o setare de grup. Mai multe fișiere pot fi incluse adăugând un număr de numărare precedat de un punct (".") La fiecare parametru de legătură.
magnet:?xt.1=[ URN of the first file]&xt.2=[ URN of the second file]
- Tiger Tree Hash (TTH)
- Aceste hash-uri sunt utilizate pe Direct Connect și G2 (Gnutella2), printre altele.
xt=urn:tree:tiger:[ TTH Hash (Base32) ]
- Secure Hash Algorithm 1 (SHA-1)
- Aceste sume hash sunt utilizate pe gnutella și G2 (Gnutella2).
xt=urn:sha1:[ SHA-1 Hash (Base32) ]
- BitPrint
- Astfel de sume hash constau dintr-un hash SHA-1, urmat de un hash TTH, delimitat de un punct; se folosesc pe gnutella și G2 (Gnutella2).
xt=urn:bitprint:[ SHA-1 Hash (Base32) ].[ TTH Hash (Base32) ]
- Hash ED2K (eDonkey2000)
- Aceste sume hash sunt utilizate pe eDonkey2000 .
xt=urn:ed2k:[ ED2K Hash (Hex) ]
- Manipulator avansat inteligent de corupție (AICH)
- Nu sunt URN-uri oficiale pentru legăturile Magnet, astfel de sume hash sunt utilizate de eDonkey2000 pentru a restabili și controla integritatea descărcării și a fișierelor deja descărcate.
xt=urn:aich:[ aich Hash (Base32) ]
- Kazaa hash
- Utilizate pe FastTrack , aceste sume hash sunt vulnerabile la atacuri de coliziune hash .
xt=urn:kzhash:[ Kazaa Hash (Hex) ]
- Hash has de informații BitTorrent (BTIH)
- Acestea sunt sume hash SHA-1 codificate hexagonal din secțiunile „informații” ale metafisierelor BitTorrent, așa cum sunt utilizate de BitTorrent pentru a identifica fișiere descărcabile sau seturi de fișiere. Pentru compatibilitate inversă cu linkurile existente, clienții ar trebui să accepte și versiunea codificată Base32 a hash-ului.
xt=urn:btih:[ BitTorrent Info Hash (Hex) ]
Unii clienți necesită Base32 din info_hash (de exemplu, Vuze ).
- Mesaj Digest 5 (MD5)
- Suportate de G2 (Gnutella2), astfel de hashuri sunt vulnerabile la atacuri de coliziune hash .
xt=urn:md5:[ MD5 Hash (Hex) ]
Link-uri web către fișier
Există două tipuri de linkuri de descărcare pe care un link Magnet le poate include ca sursă directă sau de rezervă.
- „ca” („sursă acceptabilă”)
- Majoritatea clienților tratează „ca” egal cu simbolul „xs” atunci când vine vorba de prioritate și ignoră expirarea timpului înainte de a contacta sursele „ca” denotate de specificații.
- Adresă URL adresabilă conținutului
- Acest tip de legătură bazată pe RFC 2168 este utilizat de gnutella , precum și de aplicațiile G2 .
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
- Link către un hub DirectConnect pentru a găsi surse pentru un fișier
- Acest tip de legătură conectează un client DirectConnect imediat la hub-ul în cauză.
xs=dchub://[hub address]:[hub port]
- Referință la un cache sursă bazat pe web pentru un fișier pe Gnutella2
- În acest caz, linkul inclus indică, nu către un IP client sau o sursă directă, ci către un cache sursă care stochează adresele IP ale altor clienți care îl contactează pentru a descărca același fișier. Odată ce un client se conectează la cache, acesta primește adrese IP pentru surse alternative, în timp ce propriul său IP este stocat în cache și redirecționat către următorul care se conectează la cache. Acest sistem funcționează similar cu un tracker BitTorrent .
xs=http://cache.freebase.be/[ SHA-1 hash ]
- Referință la o sursă eD2k
xs=ed2kftp://[client address]:[client port]/[ed2k hash]/[file size]/
Format supliment (x.)
Pentru opțiuni informale experimentale și auto-complementare, x.
poate fi utilizat prefixul urmat de o literă de sufix aleasă. Se garantează că aceste nume nu vor fi niciodată standardizate.
x.[name of the new parameter]=[data of the new parameter (URL encoded)]
Clienți
Client | dn | xl | xt | tr | xs | la fel de | kt | mt | ws |
---|---|---|---|---|---|---|---|---|---|
AMule | da | da |
urn:ed2k:
|
Nu | Necunoscut | Necunoscut | Necunoscut | Necunoscut | Necunoscut |
ApexDC ++ | da | da |
urn:bitprint: urn:tree:tiger:
|
Nu | dchub: | dchub: | Nu | Nu | Necunoscut |
BitComet | da | da |
urn:btih:
|
da | da1.76
|
Nu | Nu | Nu | da1.74
|
Bitflu | da | Nu |
urn:btih:
|
da | Nu | Nu | Nu | Nu | Necunoscut |
Potop | da | Nu |
urn:btih:
|
da | Nu | Nu | Nu | Nu | Necunoscut |
EiskaltDC ++ | da | da |
urn:tree:tiger: urn:bitprint: urn:btih: urn:btmh:
|
Nu | dchub: adc: adcs: |
dchub: | da | Nu | Necunoscut |
FlylinkDC ++ | da | da |
urn:tree:tiger: urn:bitprint: urn:btih:
|
Nu | dchub: adc: adcs: |
dchub: | da | Nu | Necunoscut |
gtk-gnutella | da | da |
urn:sha1:
|
Nu | http: push: |
da | da | Nu | Necunoscut |
KTorrent | da | Nu |
urn:btih:
|
da | Nu | Nu | Nu | Nu | Necunoscut |
LimeWire | da | da |
urn:sha1:
|
Nu | http: urn: guid : |
Necunoscut | Nu | Nu | Necunoscut |
MonoTorrent | da | da |
urn:btih:
|
da | Nu | da | Nu | Nu | Necunoscut |
μTorrent | da | Nu |
urn:btih:
|
da | Nu | Nu | Nu | Nu | Necunoscut |
qBitorrent | da | Nu |
urn:btih:
|
da | Necunoscut | Necunoscut | Nu | Nu | Necunoscut |
Shareaza | da | da |
urn:bitprint: urn:btih: urn:ed2k: urn:md5: urn:sha1: urn:tree:tiger:
|
da | http: ftp: |
http: ftp: (Aceeași prioritate ca xs) |
da | Nu | Necunoscut |
Tixati | da | da |
urn:btih:
|
da | Necunoscut | Necunoscut | Necunoscut | Necunoscut | Necunoscut |
Transmisie | da | Nu |
urn:btih:
|
da | Nu | Nu | Nu | Nu | da |
Vuze | da | da |
urn:btih: urn:sha1:
|
da | da5.7.5.0
|
da5.7.5.0
|
Nu | Nu | da |
Vezi si
- BitTorrent
- Burnbit
- schema URI ed2k
- Sistem de fișiere interplanetar
- Metalink
- Denumit rețea de date
- De la persoană la persoană
Note explicative
Referințe
linkuri externe
- Proiect Magnet-URI pe SourceForge , o definiție timpurie a formatului (ultima actualizare 2002)
- Utilitar de sumă de verificare CHK Freeware cu suport SHA1-Base32 și ED2K
- RHash pe SourceForge , un instrument de linie de comandă open source , care poate calcula legăturile magnetice