Magnet URI schéma: je otevřený, pracovní návrh standardu, který definuje tzv. schéma URI . magnetické odkazy, určené primárně k odkazování na zdroje dostupné ke stažení prostřednictvím sítí peer-to- peer . Takové odkazy v podstatě neidentifikují soubory podle jejich umístění nebo názvu, ale podle jejich obsahu – nebo spíše podle jejich hash kódu .
Protože takové odkazy umožňují najít soubor na základě jeho obsahu a meta -informací , spíše než jeho skutečného umístění, lze je považovat spíše za druh URN než za obecnější URI . Ačkoli magnetické spoje mohou být použity v jiných oblastech, jsou nejvíce žádané v sítích peer-to-peer, protože v takových sítích propojení se zdrojem neznamená, že musí být neustále k dispozici.
Standard byl vytvořen v roce 2002, částečně jako generické schéma URI nezávislé na dodavateli a projektu ed2k:a používané freenet:sítěmi eDonkey2000 a Freenet . Vznik standardu byl provázen snahou co nejvíce se řídit standardy IETF URI .
Vzhledem k tomu, že ne všechny analyzátory zacházejí s magnetickým odkazem stejně jako s jakýmkoli jiným URL odkazem, mohou se takové odkazy vyskytovat v textové podobě (rozdělené na několik řádků) - v tomto případě musí být předem sestaveny odstraněním nových řádků. Pro prohlížeče existují speciální pluginy, které umožňují zacházet s magnetickým odkazem stejně jako s jakýmkoli jiným.
Magnetické odkazy lze také distribuovat jako soubory *.magnet .
Nejběžnější použití magnetických odkazů je ukázat na konkrétní soubor jeho jedinečným identifikátorem, podobným ISBN , ale založeném na hash kódu obsahu souboru. Na rozdíl od jiných typů identifikátorů může každý vlastník souboru generovat magnetický odkaz pomocí standardního algoritmu, takže není potřeba centralizovaná organizace odpovědná za jejich přidělování.
Vzhledem k tomu, že jakékoli hašování je zužující transformace, situace, kdy dva různé soubory budou mít stejné hašovací kódy, jsou teoreticky možné , ale v praxi k nim dochází extrémně zřídka.
Jednou z výhod magnetických odkazů je jejich otevřenost a nezávislost na platformě: lze je použít ke stažení souboru pomocí různých aplikací na téměř všech operačních systémech. Vzhledem k tomu, že magnetický odkaz je krátký textový řetězec, lze jej snadno zkopírovat pomocí schránky , odeslat e-mailem , programem pro rychlé zasílání zpráv , SMS nebo službou mikroblogování . Existují také online služby pro generování krátkých odkazů z magnetických odkazů libovolné délky.
Magnetický odkaz může obsahovat jeden nebo více parametrů oddělených '&'. Pořadí parametrů není dokumentováno. U některých hodnot je poloha parametru důležitá pro správnou analýzu klientem magnetického spoje.
Příklad magnet:?xl=Размер_в_байтах&dn=Имя_файла&xt=urn:tree:tiger:TTH-хеш_файла Možnosti dn (Zobrazovaný název) — název souboru. xl (eXact Length) — velikost souboru v bajtech. dl (Délka zobrazení) — zobrazená velikost v bajtech. xt (eXact Topic) - URN obsahující hash souboru. as (Acceptable Source) – Webový odkaz na soubor na internetu. xs (eXact Source) – P2P odkaz. kt (Keyword Topic) — vyhledávání klíčových slov. mt (Manifest Topic) - odkaz na metasoubor, který obsahuje seznam magnetů ( MAGMA ). tr (TRacker) — adresa sledovače pro klienty BitTorrent .Tato část magnetického spoje je nejdůležitější. Je to v něm zadaný hash, který hledá zdroje a kontroluje soubor.
TTH (Tiger Tree Hash)Hash používaný v sítích Direct Connect a Gnutella
xt= urn:strom:tiger :[ hash souboru TTH ( Base32 ) ] SHA-1 (Secure Hash Algorithm 1)Hash se používá v sítích Gnutella , Gnutella2 a také k vytvoření mikrotorrentu z magnetického odkazu.
xt= urn:sha1 :[ hash souboru sha1 ( Base32 ) ] BitPrint [2]Toto je sekvenční zápis hash SHA-1 a TTH oddělený tečkou. Hash se používá v Gnutella2 . Direct Connect používá pouze TTH část BitPrint
xt= urn:bitprint :[ hash souboru sha1 ( Base32 ) ].[ hash souboru TTH ( Base32 ) ] ED2K (EDonkey2000) HashED2K hash (pro soubory do 9 728 000 bajtů odpovídá MD4 ) použitý v EDonkey2000
xt= urn:ed2k :[ hash souboru ed2k ( hexadecimální )] AICH [3] (Advanced Intelligent Corruption Handler)Neoficiální URN pro magnet. eDonkey2000 zatím klienti nečtou. Hash používá eDonkey2000 k obnovení integrity souboru.
xt= urn:aich :[ aich hash souboru ( Base32 ) ]Magnetická spojení s AICH vytváří například Rhash (rhash—aich—magnet filename ).
Kazaa HashHash použitý v FastTrack
xt= urn:kzhash :[ Kazaa hash ( Hex ) ] BTIH (BitTorrent Info Hash)Hash používaný v sítích BitTorrent ( Azureus , µTorrent )
xt= urn:btih :[ BTIH ( hexadecimální )] MD5 (Message Digest 5)Hash použitý v Gnutella2
xt= urn:md5 :[ MD5 hash ( Hex ) ] CRC-32 (Cyclic Redundancy Check)Neoficiální URN pro magnet. Nepoužívá se v P2P sítích.
xt= urn:crc32 :[ CRC-32 ( Base10 ) ]Existují 3 typy článků, které lze vložit do magnetického článku.
Prostý (jako)Tento odkaz ukazuje na adresu souboru na běžném webovém serveru. Klient o něj nepožádá ihned, ale až po uplynutí určité doby; tento odkaz se tedy použije pouze v případě, že soubor nebyl nalezen v P2P sítích, čímž se zabrání zbytečnému zatížení serveru.
as=[webový odkaz na soubor ( zakódovaná adresa URL )] BitTorrent Web Seed (ws)Toto je přímý odkaz na soubor nebo adresář ke stažení. GetRight podporuje stahování HTTP, HTTPS, FTP a FTPS. Je možné použít i jiné protokoly, například RTSP nebo MMS , pokud je jejich podpora implementována v klientovi.
ws=[webový odkaz na soubor/adresář ( zakódovaná adresa URL )] P2P (xs)Tento odkaz je obvykle adresa souboru nikoli na serveru, ale na P2P klientovi nebo na adrese hubu (v případě DC++). Pomocí tohoto odkazu se klient pokusí okamžitě připojit a vyžádat si soubor nebo jeho zdroje. Toto pole obvykle používají klienti P2P k uložení zdroje. Odkaz může obsahovat hash souboru.
Webový odkaz pro adresování obsahuTento typ odkazu primárně používá pouze klient Shareaza .
xs=http://[Adresa klienta]:[Port klienta]/uri-res/N2R?[ URN obsahující hash souboru] Odkaz na rozbočovač DirectConnect se zdroji souborůTento odkaz okamžitě připojí klienta DirectConnect k určenému hubu. Funguje správně pouze ve formě bez URI na konci magnetického odkazu. Umožňuje vám spojit se stahováním stejného souboru pomocí tohoto magnetického odkazu na jednom rozbočovači.
xs=dchub://[Adresa rozbočovače]:[Port rozbočovače]Pro vložení do magnetického odkazu je vhodné použít adresu velkého veřejně přístupného rozbočovače Direct Connect, na kterém nejsou žádná omezení velikosti sdílení (soubory dostupné ke stažení z klienta).
Odkaz na zdrojovou mezipaměť souborů pro Gnutella2V tomto případě odkaz nesměřuje na klienta, ale na zdrojovou mezipaměť. Cache nemá soubor, ale zaznamenává a rozdává adresy těch, kteří mají port otevřený pro distribuci a na tuto adresu se obrátili. Je možné, že ti, kdo o tento soubor požádali na této adrese, již soubor obdrželi a nyní jej mohou přenést dalšímu žadateli. Tento systém funguje podobným způsobem jako sledovač BitTorrent .
xs= http://cache.freebase.be/ Archivováno 3. října 2009 na Wayback Machine [ sha1 file hash ] Odkaz na zdroj ED2K xs=ed2kftp://[Adresa klienta]:[Port klienta]/[ed2k hash]/[velikost souboru]/Magnetické odkazy odkazují pouze na jeden soubor. Někteří klienti DC++ mají funkční implementaci adresářových odkazů. Takové odkazy jsou neměnné s ohledem na přejmenování souborů v adresáři, ale nejsou neměnné s ohledem na mazání, úpravy nebo přidávání souborů, jako jsou Thumbs.db , program.ini a podobně, takže spolehlivější způsob odkazování na adresář je vytvořit metasoubor . Metasoubor je soubor, který lze odeslat v rámci aplikace nebo uložit na webovou stránku, ale lze na něj také odkazovat pomocí magnetického odkazu, například v chatu. Parametr xl takového odkazu však charakterizuje velikost metasouboru, nikoli však velikost adresáře, což je nepohodlné. Parametr dl přesně charakterizuje velikost adresáře popsanou metasouborem. Software , který rozpoznává a vykresluje magnetické odkazy čitelným způsobem, by měl při zobrazování velikosti preferovat možnost dl. dl není technický parametr, který ovlivňuje stahování nebo vyhledávání, takže tento parametr je použitelný v jiných případech použití , jako jsou magnetické odkazy na vícedílné distribuce BitTorrent .
Toto je odkaz na seznam odkazů (list souboru). Může být jako webový odkaz,
mt=http://weblog.foo/all-my-favorites.rssa URN
mt= urn:sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJSpolu s ostatními jej lze použít k získání dalších informací o souboru.
Příklad:
magnet:?xl=10826029&dn=mediawiki-1.15.1.tar.gz &xt= urna:strom:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY &mt= urna:btih:QHQXPYWMACKVIV5WKPQTento magnet obsahuje data jednoho souboru a část mt obsahuje soubor .torrent BTIH, který obsahuje další informace o souboru.
Toto pole nastavuje vyhledávací řetězec v P2P sítích.
kt=martin+luther+král+mp3Sledovací URL . Používá se k získání zdrojů BitTorrent bez použití sítě DHT . Umožňuje obejít se bez torrentového souboru (stahuje se z přijatých zdrojů) [4] .
tr=http://example.com/announceRychlost stahování ( bitrate ), kterou lze postupně vyžádat části souboru. Postupné načítání probíhá pouze v části souboru od začátku do bodu přehrávání [5] . Pokud peer nemá části k dispozici pro sekvenční stahování, je požadována náhodná část z jiné části souboru [6] .
br=192 000Výpočet:
br=[velikost souboru v bajtech]*8 / [délka zvuku nebo videa v sekundách]Algoritmus pro použití v p2p klientovi:
1 If (rychlost stahování souboru je nižší než zadaná přenosová rychlost) pak se soubor načte náhodně; 2 Jinak If (rychlost stahování souvislé části od začátku souboru je menší nebo rovna bitové rychlosti) pak se soubor načítá postupně; v opačném případě soubor je načten náhodně;Pro samovyplnění formátu s neoficiálními parametry je pro ně poskytnuta předpona 'x.'.
x.[název nového parametru]=[údaje nového parametru ( zakódovaná adresa URL )]K názvům parametrů jedné skupiny je přidána přípona '.'. (tečka) a skupinový index.
magnet:?xt.1= [ URN prvního souboru ]&xt.2=[ URN druhého souboru ]Některé programy, které vytvářejí magnetický odkaz, nekódují speciální a národní znaky v reprezentaci URI (%20), a proto mohou tyto odkazy na webové stránce způsobit chyby. To je zvláště důležité, když odkaz vložený do magnetického odkazu obsahuje znaky "&"; měly by být nahrazeny "%26".
Kódování URIVložené odkazy v určených polích (as, xs, tr) musí být předem zakódovány URI [7] .
Adresa URL sledovače
http://tracker.example.org/announce.php ? _ _ _ _ uk = 1111111111 &v magnetickém odkazu by měl vypadat takto
magnet:?tr= http %3A%2F%2F tracker.example.org % 2F oznámit.php %3F uk %3D 1111111111 %26" | # [8] | % | & [8] | ' | * | , [8] | : [8] | ; [osm] | < | > | ? [osm] | [ | ^ | ' | { | | | } | <mezera> |
%22 | %23 | %25 | %26 | %27 | %2a | %2c | %3a | %3b | %3c | %3e | %3f | %5b | %5e | %60 | %7b | %7c | %7d | %20 [9] |
Před vložením do HTML kódu v odkazu musíte nahradit všechny znaky "&" za "&".
originální magnet
magnet:?dn=file.ext & tr=http%3A%2F%2Ftracker.example.org%2Fannounce.php%3Fuk%3D1111111111%26při vložení do HTML by měl kód vypadat takto
<a href=" magnet:?dn=file.ext & tr=http%3A%2F%2Ftracker.example.org%2Fannounce.php%3Fuk%3D1111111111%26 ">file.ext</a>To lze provést pomocí programu Notepad++ v5.4.5+ pomocí položky nabídky TextFX -> TextFX Convert -> Encode HTML (&<>")
Zalamování řádkůPokud potřebujete odkaz rozdělit na řádky [10] , je lepší umístit přechod na nový řádek před znak „&“ (ampersand). V tomto případě, když se s ním setkáte na začátku řádku, můžete snadno pochopit, že se jedná o pokračování magnetického spojení.
magnet:?xl=10826029&dn=mediawiki-1.15.1.tar.gz & xt= urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY & xt= urn:btih:QHQXPYWMACKVIV5WKPQ PublikaceNěkterá fóra vytvářejí speciální značku BBCode [magnet], ale pokud neexistuje, můžete zkusit použít značku [url].
Vložení magnetu do tagu [url] může způsobit, že analyzátor fóra nebude použitelný. Chcete-li obejít toto omezení, můžete použít web [11] , který vám umožní vytvořit url z magnetického odkazu přidáním jeho adresy na začátek.
Příklad:
https://ivan386.github.io/#magnet:?xl=10826029&dn=mediawiki-1.15.1.tar.gz&xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY Archivováno 2. ledna 15. ledna, 15. ledna 2015Kliknutím na takový odkaz se uživatel dostane na stránku, která ho přesměruje na původní magnetický odkaz. Samotný magnetický odkaz není odeslán v požadavku GET na server, což jej činí neviditelným pro poskytovatele a server. V sociálních sítích však při publikování může být takový odkaz odříznut kvůli symbolům „#“ a „:“ k symbolu „?“. V tomto případě jejich odstraněním můžete toto omezení obejít, ale zároveň budou tyto magnetické odkazy již odeslány v požadavku GET na server.
Příklad:
https://ivan386.github.io/magnet?xl=10826029&dn=mediawiki-1.15.1.tar.gz&xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJYMagnetický odkaz na soubor mediawiki-1.15.1.tar.gz (odkaz je kvůli čitelnosti rozdělen na řádky):
magnet:?xt=urn:ed2k:354B15E68FB8F36D7CD88FF94116CDC1 &xl=10826029 &dn=mediawiki-1.15.1.tar.gz &xt= urna:strom:tygr:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY &xt= urna:sha1: XRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5 & xt= urn:aich:7ZDRR3Z4CUMrn2VJVXt &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 Archivováno 28. prosince 2021 na Wayback Machine [12]Tento odkaz lze zakódovat jako QR kód .
Tento odkaz lze také zkrátit pomocí některých služeb zkracování adres URL , které podporují schéma URI , magnet:jako je TinyURL nebo mgnet.me (schéma (protokol) je http:vynechán):
tinyurl.com/lr85y2gTo může být užitečné v řadě případů, například při zveřejňování magnetického odkazu na Twitteru , který je omezen na 140 znaků, nebo při kódování magnetického odkazu jako QR kódu, aby se zmenšila jeho velikost.
Tento odkaz obsahuje potřebné informace, abyste si jej mohli stáhnout v pěti P2P sítích: eDonkey2000 , Direct Connect , BitTorrent , Gnutella , Gnutella2 . To umožňuje klientským programům, které podporují více P2P sítí, stahovat a sdílet soubory napříč sítěmi.
Většina klientských programů neumí korektně zpracovat (analyzovat) univerzální linku a/nebo nepodporuje některé protokoly a neumí ignorovat nepodporované parametry, nebo je citlivá na vzájemné uspořádání parametrů v magnet linkách. V takových případech musí být odkaz připraven předem: seřaďte parametry v odkazu v požadovaném pořadí a/nebo odstraňte nepodporované parametry.
Implementuje také systém podobný torrent trackeru pro sítě Gnutella2 a Direct Connect :
Univerzální | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Klient | dn | xl | xt | tak jako | xs | ws | kt | mt | tr | Zachycení | Vložit |
shareaza | Ano | Ano | urna: sha1: urna: strom: tygr: urna: bitprint: urna: ed2k: urna: md5: urna: btih: |
http: ftp: |
http: ftp: |
? | Ano | Ne | Ano | Ano | Ano |
mldonkey | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Přímé spojení | |||||||||||
ApexDC++ 1.0.1 | Ano | Ano | urna: strom: tygr: urna: bitprint: |
dchub://[hubaddress]: [hubport] | dchub://[hubaddress]: [hubport] | ? | Ne | ? | Ne | Ano | Ne |
Vydání FlylinkDC++ r500 | Ano | Ano | urna: strom: tygr: urna: bitprint: urna: btih: |
dchub://[hubaddress]: [hubport] adc ://[hubport]: [hubport] adcs://[hubport]: [hubport] |
dchub://[hubaddress]: [hubport] adc ://[hubport]: [hubport] adcs://[hubport]: [hubport] |
? | Ano | Ne | Ne | Ano | Ano |
EiskaltDC++ 2.2.6 | Ano | Ano | urna: strom: tygr: urna: bitprint: pouze klient torrentu: urna: btih: urna: btmh: |
dchub://[hubaddress]: [hubport] adc ://[hubport]: [hubport] adcs://[hubport]: [hubport] |
dchub://[hubaddress]: [hubport] adc ://[hubport]: [hubport] adcs://[hubport]: [hubport] |
? | Ano | Ne | Ne | Ano | Ano |
Šedý odkaz 0,39 | Ano | Ano | urna: strom: tygr: urna: bitprint: |
? | ? | ? | ? | ? | Ne | Ano | Ano |
bittorrent | |||||||||||
Vuze (starý název: Azureus ) 3.0 | ? | ? | urna:btih: | ? | ? | ? | ? | ? | ? | ? | ? |
LeechCraft 0.5 | Ano | Ano | urna:btih: | ? | ? | ? | Ano | ? | Ano | Ano | Ano |
µTorrent 3.4 | Ano | Ano | urna:btih: | ? | ? | http: https: |
? | ? | http: udp: |
Ano | Ano |
BitComet | Ano | Ano | urna:btih: | Ne | Ne | ? | Ne | Ne | Ano | Ano | Ano |
Přenos (od verze 2.84) [15] [16] | Ano | Ne | urna:btih: | Ne | Ne | Ano | Ne | Ne | Ano | Ano | Ano |
Gnutella | |||||||||||
LimeWire | Ano | Ano | urn:sha1: | http: urn:guid: |
? | ? | Ne | Ne | Ne | Ano | Ano |
EOnkey2000 | |||||||||||
aMule 2.2.1 | Ano | Ano | urna: ed2k: | ? | ? | ? | ? | ? | ? | Možné s MLDonkey Protocol Handler pro FireFox | Ano |
WebTorrent ( BitTorrent přes WebRTC ) | |||||||||||
instant.io | Ano | ? | urna:btih: | http: https: |
? | http: https: |
? | ? | wss:wss : |
Ano | Ano |
βTorrent (btorrent.xyz) | Ano | ? | urna:btih: | http: https: |
? | http: https: |
? | ? | wss:wss : |
Ne | Ano |
Klient | dn | xl | xt | tak jako | xs | ws | kt | mt | tr | Zachycení | Vložit |
"Ano" - podporováno; "Ne" - není podporováno; "?" - podpora není známa.
Většina klientů „zachytí“ magnetický odkaz pouze z prohlížeče. Proto musí být magnetický odkaz vložen do adresního řádku prohlížeče a následován. U jiného typu stačí kliknout myší na odkaz. GreyLink a FlylinkDC ++ vám umožňují zadávat magnetické odkazy v klientovi („Soubor → Zadat odkaz magnetu…“ nebo „Ctrl+M“). EiskaltDC++ umožňuje zkopírovat magnetický odkaz do panelu rychlého vyhledávání a stisknout Enter, otevřít odkaz ze schránky ("Soubor → Otevřít magnetický odkaz", nebo "Ctrl + I") nebo předat odkaz jako argument při spuštění programu .
"Přijímá" magnetický odkaz pouze v případě, že je vložen do řádku eD2k Link ve spodní části klienta. Odkaz je tedy nutné nejprve „sebrat“, zkopírovat, vložit do tohoto pole a kliknout na tlačítko přidat.
ED2K Hash , velikost a název souboru musí být na prvním místě a v tomto pořadí. Klient sdílí odkaz. Údaje o velikosti souboru a jeho hash mohou být v různých částech. Z tohoto důvodu se odkaz může stát nepoužitelným pro stahování.
URI | Schémata|
---|---|
Oficiální | |
neoficiální |