マグネットURI

Magnet URI

ネットワーク識別子

リソースを固定のサーバーアドレスではなく、コンテンツ識別子によって参照するURI。BitTorrentでは通常、情報のハッシュ値を含み、表示名、トラッカー、その他の発見パラメータを追加することもできる。

詳細説明

磁力链接(Magnet URI)は、コンテンツ識別子を用いてリソースを参照するURIの一種であり、形式は `magnet:?` で始まる。これは、`.torrent` ファイルが保存されている特定のウェブページやサーバーを指す必要はありません。BitTorrent の用途では、リンクには通常、情報ハッシュが含まれており、クライアントはこれに基づいて同じスウォームを探し、シードのメタ情報を取得し、ファイルのチャンクの要求を開始します。

最も重要なパラメータは exact topic、すなわち `xt` です。BitTorrent v1 では通常 `xt=urn:btih:<info-hash>` と記述され、ハッシュは16進数またはBase32で表されます。v2 では、`urn:btmh:` に多ハッシュタグ付きの完全な情報ハッシュを付加して使用できます。1つのMagnet URIには、`dn`(表示名)、`tr`(トラッカーアドレス)、`x.pe`(既知のノード)、およびその他の拡張パラメータを含めることができ、同じキーが複数回出現することも可能です。パラメータはURIの規則に従ってパーセントエンコードする必要があります。

v1の情報ハッシュのみを含むリンクには、ファイル一覧、チャンク長、各チャンクのハッシュは含まれていません。BEP 9をサポートするクライアントは、まずDHT、トラッカー、または既知のノードを介してピアを見つけ、次にピア接続からチャンク単位でメタ情報を取得し、情報ハッシュを用いてその`info`の内容を検証します。完全なメタ情報を取得して初めて、ダウンロードプロセスは従来の `.torrent` ファイルを開く場合と同様になります。接続可能なノードがない場合、リンクの構文が正しくてもリソースを提供することはできません。 Magnet URI は、ウェブページのダウンロードURLとは役割が異なります。HTTP URL は通常、特定のサーバー上のパスを指定しますが、磁力链接は主に、複数のディスカバリメカニズムで使用可能な識別子を伝達する役割を果たします。リンク内にファイルを格納するわけではなく、匿名性、暗号化、または悪意のあるコンテンツのチェックを自動的に提供するものでもありません。`dn` はインターフェース上に表示される推奨名に過ぎず、コンテンツの真正性を判断する根拠とはなりません。

トラッカーのパラメータや表示名を変更しても、`xt` が指す BitTorrent メタデータが必ずしも変更されるわけではありませんが、`info` ディクショナリを変更してハッシュを再計算すると、新しいリンクトピックが生成されます。最新のクライアントによる v1、v2、およびハイブリッド・トレントのサポート範囲は異なるため、`btih` と `btmh` の両方を提供するリンクであっても、古いソフトウェアではその一部しか認識されない場合があります。