Magnet URI-schema: är ett öppet, fungerande utkast till standard som definierar det så kallade URI-schemat . magnetlänkar, designade främst för att peka på resurser som är tillgängliga för nedladdning via peer-to- peer-nätverk . Sådana länkar identifierar i princip filer inte genom deras plats eller namn, utan genom deras innehåll - eller snarare, genom dess hash-kod .
Eftersom sådana länkar gör det möjligt att hitta en fil baserat på dess innehåll och metainformation snarare än dess faktiska plats, kan de betraktas som ett slags URN snarare än den mer allmänna URI :n . Även om magnetlänkar kan användas i andra områden är de mest efterfrågade i peer-to-peer-nätverk, eftersom länkning till en resurs i sådana nätverk inte betyder att den måste vara ständigt tillgänglig.
Standarden skapades 2002, delvis som ett leverantörs- och projektoberoende generiskt URI-schema ed2k:och används av eDonkey2000- respektive Freenetfreenet: -nätverken . Skapandet av standarden åtföljdes av ett försök att följa IETFs URI- standarder så mycket som möjligt.
Eftersom inte alla parsers behandlar en magnetlänk på samma sätt som vilken annan URL-länk som helst, kan sådana länkar förekomma i textform (delade över flera rader) - i det här fallet måste de förmonteras genom att rader tas bort. Det finns speciella plugins för webbläsare som låter dig behandla en magnetlänk på samma sätt som alla andra.
Magnetlänkar kan också distribueras som *.magnet-filer .
Den vanligaste användningen av magnetlänkar är att peka på en specifik fil med dess unika identifierare, liknande ett ISBN men baserat på hashkoden för filens innehåll. Till skillnad från andra typer av identifierare kan alla ägare av en fil generera en magnetlänk med hjälp av en standardalgoritm, så det finns inget behov av en centraliserad organisation som ansvarar för att tilldela dem.
Eftersom all hashning är en avsmalnande transformation, är situationer där två olika filer kommer att ha samma hashkoder teoretiskt möjliga , men i praktiken förekommer de extremt sällan.
En av fördelarna med magnetlänkar är deras öppenhet och plattformsoberoende: de kan användas för att ladda ner en fil med en mängd olika applikationer på nästan alla operativsystem. På grund av att en magnetlänk är en kort textsträng kan den enkelt kopieras via urklipp , skickas via e- post , snabbmeddelandeprogram , SMS eller mikrobloggtjänst . Det finns också onlinetjänster för att generera korta länkar från magnetlänkar av valfri längd.
En magnetlänk kan innehålla en eller flera parametrar separerade med '&'. Parametrarnas ordning är inte dokumenterad. För vissa värden är positionen för parametern viktig för korrekt analys av klienten av magnetlänken.
Exempel magnet:?xl=Размер_в_байтах&dn=Имя_файла&xt=urn:tree:tiger:TTH-хеш_файла alternativ dn (Visningsnamn) — filnamn. xl (exakt längd) — filstorlek i byte. dl (Display Length) — visad storlek i byte. xt (exakt ämne) - URN som innehåller filens hash . as (Acceptable Source) - En webblänk till en fil på Internet. xs (exakt källa) - P2P- länk. kt (Sökordsämne) — sökord. mt (Manifest Topic) - länk till en metafil som innehåller en lista med magneter ( MAGMA ). tr (TRacker) — spårningsadress för BitTorrent- klienter.Denna del av magnetlänken är den viktigaste. Det är hashen som anges i den som söker efter källor och kontrollerar filen.
TTH (Tiger Tree Hash)Hash används i Direct Connect- och Gnutella-nätverk
xt= urn:tree:tiger :[ TTH fil hash ( Base32 ) ] SHA-1 (Secure Hash Algorithm 1)Hashen används i Gnutella , Gnutella2-nätverken och även för att skapa en mikrotorrent från en magnetlänk.
xt= urn:sha1 :[ sha1 fil hash ( Base32 ) ] BitPrint [2]Detta är en sekventiell notation av SHA-1- hash och TTH , åtskilda av en punkt. Hashen används i Gnutella2 . Direct Connect använder endast TTH- delen av BitPrint
xt= urn:bitprint :[ sha1 fil hash ( Base32 ) ].[ TTH fil hash ( Base32 ) ] ED2K (EDonkey2000) HashED2K- hash (för filer upp till 9 728 000 byte motsvarar MD4 ) som används i EDonkey2000
xt= urn:ed2k :[ ed2k fil hash ( Hex ) ] AICH [3] (Advanced Intelligent Corruption Handler)Inofficiell URN för magnet. eDonkey2000 läses inte av kunder ännu. Hashen används av eDonkey2000 för att återställa filens integritet.
xt= urn:aich :[ aich fil hash ( Base32 ) ]Magnetlänkar med AICH skapas till exempel av Rhash (rhash—aich—magnet filnamn ).
Kazaa HashHash används i FastTrack
xt= urn:kzhash :[ Kazaa hash ( Hex ) ] BTIH (BitTorrent Info Hash)Hash används i BitTorrent -nätverk ( Azureus , µTorrent )
xt= urn:btih :[ BTIH ( Hex ) ] MD5 (Message Digest 5)Hash används i Gnutella2
xt= urn:md5 :[ MD5 hash ( Hex ) ] CRC-32 (cyklisk redundanskontroll)Inofficiell URN för magnet. Används inte i P2P- nätverk.
xt= urn:crc32 :[ CRC-32 ( Base10 ) ]Det finns 3 typer av länkar som kan infogas i en magnetlänk.
Vanlig (som)Denna länk pekar på adressen till filen på en vanlig webbserver. Kunden ansöker inte om det omedelbart, utan först efter det att en tid har gått; alltså, denna länk används endast om filen inte kunde hittas i P2P-nätverk, vilket undviker onödig belastning på servern.
as=[webblänk till fil ( URL -kodad)] BitTorrent Web Seed (ws)Detta är en direktlänk till en fil eller katalog att ladda ner. GetRight stöder HTTP, HTTPS, FTP och FTPS-nedladdningar. Det är möjligt att använda andra protokoll, till exempel RTSP eller MMS , om deras stöd är implementerat i klienten.
ws=[webblänk till fil/katalog ( URL -kodad)] P2P (xs)Denna länk är vanligtvis filadressen inte på servern, utan på P2P-klienten eller hubbadressen (i fallet DC++). Genom att använda den här länken försöker klienten att omedelbart ansluta och begära filen eller dess källor. Detta fält används vanligtvis av P2P-klienter för att lagra källan. Länken kan innehålla filens hash.
Innehållsadresserande webblänkDenna typ av länk används i första hand endast av Shareaza- klienten .
xs=http://[Klientadress]:[Klientport]/uri-res/N2R?[ URN som innehåller filhash ] Länk till DirectConnect- hubben med filkällorDenna länk ansluter DirectConnect-klienten omedelbart till den angivna hubben. Fungerar endast korrekt i icke -URI-kodad form i slutet av en magnetlänk. Låter dig samlas och ladda ner samma fil med hjälp av denna magnetlänk på ett nav.
xs=dchub://[Navadress]:[Navport]För att infoga i en magnetlänk är det tillrådligt att använda adressen till en stor allmänt tillgänglig Direct Connect-hubb där det inte finns några begränsningar för storleken på andelar (filer tillgängliga för nedladdning från klienten).
Länk till filkällans cache för Gnutella2I det här fallet pekar länken inte till klienten, utan till källcachen. Cachen har ingen fil, men den registrerar och ger ut adresserna till de som har en port öppen för distribution och de kontaktade denna adress. Således kan de som ansökt om denna fil på denna adress redan ha fått filen och kan nu överföra den till nästa begärande. Detta system fungerar på liknande sätt som en BitTorrent-spårare .
xs= http://cache.freebase.be/ Arkiverad 3 oktober 2009 på Wayback Machine [ sha1 file hash ] Länk till ED2K-källa xs=ed2kftp://[Klientadress]:[Client Port]/[ed2k hash]/[filstorlek]/Magnetlänkar länkar endast till en fil. Vissa DC++-klienter har en fungerande implementering av kataloglänkar. Sådana referenser är oföränderliga när det gäller att byta namn på filer i katalogen, men inte oföränderliga när det gäller att ta bort, ändra eller lägga till filer som Thumbs.db , program.ini och liknande, så ett mer tillförlitligt sätt att referera till en katalog är att skapa en metafil . En metafil är en fil som kan skickas i en applikation eller lagras på en webbplats, men den kan också refereras till med en magnetlänk, till exempel i en chatt. Men xl-parametern för en sådan länk kännetecknar storleken på metafilen, men inte storleken på katalogen, vilket är obekvämt. Parametern dl kännetecknar exakt storleken på katalogen som beskrivs av metafilen. Programvara som känner igen och återger magnetlänkar på ett läsbart sätt bör föredra dl-alternativet när storleken visas. dl är inte en teknisk parameter som påverkar nedladdningar eller sökningar, så den här parametern är tillämplig i andra användningsfall , såsom magnetlänkar till BitTorrent -distributioner med flera delar .
Detta är en länk till en lista med länkar (arkivblad). Kan vara som en webblänk,
mt=http://weblog.foo/all-my-favorites.rssoch URN
mt= urn:sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJTillsammans med andra kan den användas för att få ytterligare information om en fil.
Exempel:
magnet:?xl=10826029&dn=mediawiki-1.15.1.tar.gz &xt= urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY &mt= urn:btih:QHQXPYWMACKDWKVIVQOURXRRDenna magnet innehåller data från en fil, och mt-delen innehåller en BTIH .torrent-fil som innehåller ytterligare information om filen.
Det här fältet anger söksträngen i P2P-nätverk.
kt=martin+luther+king+mp3Tracker URL . Används för att hämta BitTorrent- källor utan att använda DHT -nätverket . Låter dig klara dig utan en torrentfil (den laddas ner från de mottagna källorna) [4] .
tr=http://example.com/announceNedladdningshastigheten ( bithastighet ) med vilken delar av en fil kan begäras sekventiellt. Laddas sekventiellt sker endast i en del av filen från början till uppspelningspunkten [5] . Om peeren inte har delar tillgängliga för sekventiell nedladdning begärs en slumpmässig från en annan del av filen [6] .
br=192000Beräkning:
br=[filstorlek i byte]*8 / [längd på ljud eller video i sekunder]Algoritm för användning i p2p-klient:
1 Om (filnedladdningshastigheten är lägre än den angivna bithastigheten) sedan laddas filen slumpmässigt; 2 Annars Om (nedladdningshastigheten för den kontinuerliga sektionen från början av filen är mindre än eller lika med bithastigheten) sedan laddas filen sekventiellt; Annat filen laddas slumpmässigt;För självkompletterande av formatet med inofficiella parametrar tillhandahålls prefixet 'x.' för dem.
x.[nytt parameternamn]=[ny parameterdata ( URL -kodad)]Suffixet '.' läggs till parameternamnen för en grupp. (prick) och gruppindex.
magnet:?xt.1= [ URN för första filen ]&xt.2=[ URN för andra filen ]Vissa program som skapar en magnetlänk kodar inte specialtecken och nationella tecken i URI- representationen (%20), och därför kan dessa länkar på en webbsida orsaka fel. Detta är särskilt viktigt när länken som sätts in i magnetlänken innehåller "&"-tecken; de ska ersättas med "%26".
URI -kodningInfogade referenser i angivna fält (as, xs, tr) måste URI-kodas i förväg [7] .
Tracker URL
http://tracker.example.org/announce.php ? _ _ _ _ Storbritannien = 1111111111 &i en magnetlänk ska se ut så här
magnet:?tr= http %3A%2F%2F tracker.example.org %2F announce.php %3F uk %3D 1111111111 %26" | # [8] | % | & [8] | ' | * | , [8] | : [8] | ; [åtta] | < | > | ? [åtta] | [ | ^ | ` | { | | | } | <mellanslag> |
%22 | %23 | %25 | %26 | %27 | %2a | %2c | %3a | %3b | %3c | %3e | %3f | %5b | %5e | %60 | %7b | %7c | %7d | %20 [9] |
Innan du infogar i HTML -koden i länken måste du ersätta alla tecken "&" med "&".
original magnet
magnet:?dn=file.ext & tr=http%3A%2F%2Ftracker.example.org%2Fannounce.php%3Fuk%3D1111111111%26när den klistras in i HTML ska koden se ut så här
<a href=" magnet:?dn=file.ext & tr=http%3A%2F%2Ftracker.example.org%2Fannounce.php%3Fuk%3D1111111111%26 ">file.ext</a>Detta kan göras med programmet Notepad++ v5.4.5+, med menyalternativet TextFX -> TextFX Convert -> Encode HTML (&<>")
RadbrytningOm du behöver dela upp länken i rader [10] , är det bättre att lägga övergången till en ny rad före "&"-tecknet (ampersand). I det här fallet, när du möter den i början av raden, kan du lätt förstå att detta är en fortsättning på magnetlänken.
magnet:?xl=10826029&dn=mediawiki-1.15.1.tar.gz & xt= urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY & xt= urn:btih:QHQXPYWMACKRDVIVOURQ7 PublikationVissa forum gör en speciell BBCode [magnet]-tagg, men om den inte finns kan du prova att använda [url]-taggen.
Att infoga en magnet i en [url] -tagg kan göra forumparsern oanvändbar. För att komma runt denna begränsning kan du använda webbplatsen [11] , som låter dig skapa en url av en magnetlänk genom att lägga till dess adress i början.
Exempel:
https://ivan386.github.io/#magnet:?xl=10826029&dn=mediawiki-1.15.1.tar.gz&xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY Arkiverad 15 januari 201 på Wayback MachineGenom att klicka på en sådan länk kommer användaren att föras till en sida som omdirigerar honom till den ursprungliga magnetlänken. Själva magnetlänken skickas inte i en GET-förfrågan till servern, vilket gör den osynlig för leverantören och servern. Men i sociala nätverk, vid publicering, kan en sådan länk skäras av på grund av symbolerna "#" och ":" till symbolen "?". I det här fallet, genom att ta bort dem, kan du kringgå denna begränsning, men samtidigt kommer dessa magnetlänkar redan att överföras i en GET-förfrågan till servern.
Exempel:
https://ivan386.github.io/magnet?xl=10826029&dn=mediawiki-1.15.1.tar.gz&xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJYMagnetlänk till filen mediawiki-1.15.1.tar.gz (länken är uppdelad i rader för läsbarhet):
magnet:?xt=urn:ed2k:354B15E68FB8F36D7CD88FF94116CDC1 &xl=10826029 &dn=mediawiki-1.15.1.tar.gz &xt= urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY &xt= urn:sha1:XRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5 &xt= urn:aich:7ZDRR3ZQW4JMHUQZUMJGQN2VNGLV3CVN &xt= urn:btih:QHQXPYWMACKDWKP47RRVIV7VOURXFE5Q &tr=http%3A%2F%2Ftracker.example.org%2Fannounce.php%3Fuk%3D1111111111%26 &tr=wss%3A%2F%2Ftracker.webtorrent.io &as=http%3A%2F%2Fdownload.wikimedia.org%2Fmediawiki%2F1.15%2Fmediawiki-1.15.1.tar.gz &ws=http%3A%2F%2Fdownload.wikimedia.org%2Fmediawiki%2F1.15%2Fmediawiki-1.15.1.tar.gz &xs=http%3A%2F%2Fcache.example.org%2FXRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5 &xs=dchub://example.org Arkiverad 28 december 2021 på Wayback Machine [12]Denna länk kan kodas som en QR-kod .
Den här länken kan också förkortas med hjälp av vissa URL-förkortningstjänster som stöder ett URI-schema , magnet:till exempel TinyURL eller mgnet.me (schema (protokoll) http:utelämnat):
tinyurl.com/lr85y2gDetta kan vara användbart i ett antal fall, till exempel när du lägger upp en magnetlänk på Twitter som är begränsad till 140 tecken, eller när du kodar en magnetlänk som en QR-kod för att minska storleken på den senare.
Denna länk innehåller nödvändig information för att kunna ladda ner den i fem P2P- nätverk: eDonkey2000 , Direct Connect , BitTorrent , Gnutella , Gnutella2 . Detta gör att klientprogram som stöder flera P2P-nätverk kan ladda ner och dela filer över nätverk.
De flesta klientprogram kan inte korrekt bearbeta (tolka) en universell länk och/eller stöder inte vissa protokoll och kan inte ignorera parametrar som inte stöds, eller är känsliga för det ömsesidiga arrangemanget av parametrar i magnetlänkar. I sådana fall måste länken förberedas i förväg: ordna parametrarna i länken i önskad ordning och/eller ta bort parametrar som inte stöds.
Den implementerar också ett system som liknar en torrent tracker för Gnutella2 och Direct Connect -nätverk :
Universell | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Klient | dn | xl | xt | som | xs | ws | kt | mt | tr | Uppsnappande | Föra in |
shareaza | Ja | Ja | urna: sha1: urna : träd: tiger: urn: bitavtryck: urna: ed2k: urna : md5: urn: btih: |
http: ftp: |
http: ftp: |
? | Ja | Inte | Ja | Ja | Ja |
mldonkey | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Direktkoppling | |||||||||||
ApexDC++ 1.0.1 | Ja | Ja | urna: träd: tiger: urna: bitavtryck: |
dchub://[hubaddress]: [hubport] | dchub://[hubaddress]: [hubport] | ? | Inte | ? | Inte | Ja | Inte |
FlylinkDC++ r500 release | Ja | Ja | urna: träd: tiger: urna: bitavtryck: urna: btih: |
dchub://[hubaddress]: [hubport] adc ://[hubaddress]: [hubport] adcs://[hubaddress]: [hubport] |
dchub://[hubaddress]: [hubport] adc ://[hubaddress]: [hubport] adcs://[hubaddress]: [hubport] |
? | Ja | Inte | Inte | Ja | Ja |
EiskaltDC++ 2.2.6 | Ja | Ja | urna: träd: tiger: urna: bitavtryck: endast torrentklient: urn : btih: urn: btmh: |
dchub://[hubaddress]: [hubport] adc ://[hubaddress]: [hubport] adcs://[hubaddress]: [hubport] |
dchub://[hubaddress]: [hubport] adc ://[hubaddress]: [hubport] adcs://[hubaddress]: [hubport] |
? | Ja | Inte | Inte | Ja | Ja |
Grå länk 0,39 | Ja | Ja | urna: träd: tiger: urna: bitavtryck: |
? | ? | ? | ? | ? | Inte | Ja | Ja |
bittorrent | |||||||||||
Vuze (gammalt namn: Azureus ) 3.0 | ? | ? | urna:btih: | ? | ? | ? | ? | ? | ? | ? | ? |
LeechCraft 0.5 | Ja | Ja | urna:btih: | ? | ? | ? | Ja | ? | Ja | Ja | Ja |
µTorrent 3.4 | Ja | Ja | urna:btih: | ? | ? | http: https: |
? | ? | http: udp: |
Ja | Ja |
BitComet | Ja | Ja | urna:btih: | Inte | Inte | ? | Inte | Inte | Ja | Ja | Ja |
Överföring (från v2.84) [15] [16] | Ja | Inte | urna:btih: | Inte | Inte | Ja | Inte | Inte | Ja | Ja | Ja |
Gnutella | |||||||||||
LimeWire | Ja | Ja | urna:sha1: | http: urn:guide: |
? | ? | Inte | Inte | Inte | Ja | Ja |
EDonkey2000 | |||||||||||
aMule 2.2.1 | Ja | Ja | urna: ed2k: | ? | ? | ? | ? | ? | ? | Möjligt med MLDonkey Protocol Handler för FireFox | Ja |
WebTorrent ( BitTorrent över WebRTC ) | |||||||||||
instant.io | Ja | ? | urna:btih: | http: https: |
? | http: https: |
? | ? | wss:wss : |
Ja | Ja |
βTorrent (btorrent.xyz) | Ja | ? | urna:btih: | http: https: |
? | http: https: |
? | ? | wss:wss : |
Inte | Ja |
Klient | dn | xl | xt | som | xs | ws | kt | mt | tr | Uppsnappande | Föra in |
"Ja" - stöds; "Nej" - stöds inte; "?" - Support är okänt.
De flesta klienter "fångar upp" magnetlänken endast från webbläsaren. Därför måste magnetlänken infogas i webbläsarens adressfält och följas av den. För en annan typ klickar du bara på länken med musen. GreyLink och FlylinkDC++ låter dig ange magnetlänkar i klienten ("Arkiv → Ange magnetlänk...", eller "Ctrl+M"). EiskaltDC++ låter dig kopiera en magnetlänk till snabbsökningsfältet och trycka på Enter, öppna länken från klippbordet ("Arkiv → Öppna magnetlänk", eller "Ctrl + I") eller skicka länken som ett argument när du startar programmet .
"Accepterar" en magnetlänk endast om den sätts in i eD2k Link-linjen längst ner på klienten. Därför måste länken först "samlas", kopieras, klistras in i detta fält och klicka på lägg till-knappen.
ED2K Hash , storlek och filnamn måste komma först och i den ordningen. Klienten delar länken. Filstorleksdata och dess hash kan vara i olika delar. På grund av detta kan länken bli oanvändbar för nedladdning.
URI- scheman | |
---|---|
Officiell | |
inofficiell |