磁力連結（Magnet URI scheme），是對等網路中進行資訊檢索和下載文件的電腦程式。和基於 位置 連線的統一資源定位符不同，磁力連結是基於元資料檔案內容，屬於統一資源名稱。也就是說，磁力連結不基於文件的 IP 地址或定位符，而是在分散式資料庫中，透過雜湊函式值來識別、搜尋來下載文件。因為不依賴一個處於啟動狀態的主機來下載文件，所以特別適用沒有中心伺服器的對等網路。它符合開源標準。 歷史 這個標準的草稿出現於 2002 年，是為了對 eDonkey2000 的 ed2k 和 Freenet 的 freenet 兩個 URI 格式進行 廠商與專案中立化而制定的。同時這個標準也嘗試緊密地跟進 IETF 官方的 URI 標準。 內容雜湊函式的應用 磁力連結最常見的用途是基於檔案內容的雜湊函式值來連結到特定檔案，生成一個唯一的檔案識別符，類似於 ISBN。不像常規的識別符，內容雜湊可以被任意一位持有此檔案的人生成，所以並不需要一箇中心機構，這使其在檔案共享領域經常被用作搜尋條件，因任何人都可以分發一個磁力連結來確保該連結指向的資源就是他想要的，而和得到該資源的方式無關。（雖然技術上講，兩個不同的檔案可能具有相同的雜湊值，但實際上這是極不可能發生的） 另一個磁力連結的優勢是開放性和跨平臺性：一個磁力連結可被執行在幾乎所有平臺上的應用程式們使用以下載一個檔案。因為磁力連結十分簡潔且為純文字格式，所以使用者可以很方便地將其複製到電子郵件或即時訊息中，比如種子檔案。 技術描述 磁力連結由一組引數組成，引數間的順序沒有講究，其格式與在 HTTP 連結末尾的查詢字串相同。最常見的引數是 xt，是 exact topic 的縮寫，通常是一個特定檔案的內容雜湊函式值形成的 URN，例如： magnetxturnsha1YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C 其值是編碼的檔案的 SHA1 雜湊。 注意，雖然這個連結指向一個特定檔案，但是客戶端應用程式仍然必須進行搜尋來確定哪裡，如果有，能夠獲取那個檔案。 在標準的草稿中其他引數的定義如下 dn 顯示名稱） 為了方便，為使用者顯示檔名稱 kt 關鍵字 更籠統的搜尋，指定搜尋關鍵字而不是特定檔案 mt 檔案列表 一個 URI 指向一個列表，例如一個專案列表 應用程式定義的實驗引數，必須以 x 開頭 標準還建議同類的多個引數可以在引數名稱後面加上 1 2 等來使用，例如 magnetxt1urnsha1YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5Cxt2urnsha1TXGCZQTH26NL6OUQAJJPFALHG2LTGBC7 描述 磁力連結可以包括一個或多個引數，之間用 隔開。引數的順序在檔案在標準中沒有記錄。有一些引數的值對於客戶端正確解析磁力連結很重要。 magnet xl zhhans 位元組；zhhant 位元組 大小 dn zhhans 檔案；zhhant 檔案； 名（已編碼 URL） xt urn tree tiger TTH hash（Base32） 引數 dn（顯示名稱） 檔名 xl（絕對長度） 檔案位元組數 xt（eXact Topic） 包含檔案雜湊函式值的 URN as（可接受來源） 線上檔案的網路連結 xs（絕對資源） P2P 連結 kt（關鍵字） 用於搜尋的關鍵字 mt（檔案列表） 連結到一個包含磁力連結的元檔案 MAGMA MAGnet MAnifest ） tr（Tracker 地址） BT 下載的 Tracker URL xt 引數 磁力連結的這部分最重要。用於尋找和驗證包含著磁力連結中的檔案。 TTH（Tiger Tree 雜湊函式） TigerTree 雜湊函式被用在包括和在內的幾個網路中。 xturntreetigerTTH Hash SHA1（安全雜湊演演算法 1） Gnutella 和使用的雜湊函式。 xturnsha1SHA1 Hash 這種雜湊函式包含一個 SHA1 雜湊函式和一個 TTH 雜湊函式，用 隔開。 Gnutella 和使用。 xturnbitprintSHA1 HashTTH Hash eD2k Hash（eDonkey2000）雜湊函式 eDonkey2000 使用的雜湊函式演算法。 xturned2kED2K Hash（Hex） AICH（高階智慧型損壞處理） 不是正式的磁力連結的一部分。eDonkey2000 使用的雜湊函式演算法，用於儲存和控制下載完成、正在下載的檔案的完整性。 xturnaichaich Hash 雜湊函式 使用的雜湊函式演算法。 xturnkzhashHash（Hex） BTIH（BitTorrent Info Hash） BitTorrent 使用的雜湊函式演算法。出於向下相容的考慮，客戶端需要同時支援被編碼過的 BTIH 雜湊結果。 xturnbtihBitTorrent Info Hash（Hex） MD5（資訊 摘要演算法 5） 支援的雜湊函式演算法。 xturnmd5MD5 Hash（Hex） CRC32（迴圈冗餘校驗） 不是正式的磁力連結的一部分。沒有任何已知的 P2P 網路使用。 xturncrc32CRC32（Base10） 網路連結至檔案 有兩種可以插入到磁力連結的下載連結作為直接或者備用資源。 普通連結（as） as 的意思是 acceptable source。這種連結指向從網路伺服器的直接下載。只有在指定的超時後才會連結，防止伺服器過載。客戶端在考慮向伺服器傳送下載請求前會先花一定時間在 P2P 網路中定位檔案。 aszhhans 檔案；zhhant 檔案 的 zhhans 網路連結；zhhant 網路連結（已編碼 URL） P2P 連結（xs） 連結可以是連結到磁力連結的檔案的 HTTP（SHTTP、FTP、SFTP 等）下載源、檔案的 P2P 源地址或是 hub（使用 DC 時）地址。對於這一連結，客戶端嘗試直接連結，並請求檔案或其來源，有時會同時請求二者。這一欄位常被 P2P 客戶端用來儲存源。引用中可能包含檔案 hash。 內容定址網路（CAN）URL 這類連結被 Gnutella 還有 G2 應用程式使用，基於 RFC 2168。 xshttp客戶端地址客戶端埠uriresN2R包含一個檔案 hash 的 URN 例： xshttp192020276346uriresN2Rurnsha1FINYVGHENTHSMNDSQQYDNLPONVBZTICF 連結到 hub 併為檔案查詢源 這一連結立即將 DirectConnect 客戶端連線到剛才討論的 hub。 xsdchubhub 地址hub 埠 為上的檔案引用基於網路的源快取 這種情況下，連結包含的點不是客戶端 IP 或直接來源，而是來源快取。這樣的快取並不包含檔案本身，而是儲存了其他客戶端的 IP，這些客戶端連線到快取來下載相同的檔案。一旦客戶端連線到快取並獲得其他替代來源的 IP，其自身 IP 就會存入到快取中，然後繼續連線到下一個快取，繼續請求替代來源。這種系統類似於 BitTorrent tracker 的操作。 xshttpcachefreebasebeSHA1 hash 引用 ED2K 源 xsed2k客戶端地址客戶端埠ed2k hash檔案大小 檔案列表（mt） 這是一個導向一系列連連結列表（也許是個網頁）的連結 mthttpweblogfooallmyfavoritesrss 或者是一個 URN mturnsha13I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ 關鍵字（kt） 該部分代表了一串用於 P2P 網路搜尋用的關鍵字 ktmartinlutherkingmp3 Tracker 地址（tr） Tracker URL 用於在不需要分散式雜湊表支援下下載 BitTorrent 資源。 trhttpexamplecomannounce 補充格式（x） 對於實驗性且自補的非正式選項，可以使用字首 x 後加已選擇的第二個字母 x新 zhhans 引數；zhhant 引數 名新 zhhans 引數資料；zhhant 引數資料（zhhans 已編碼；zhhant 已編碼URL） 引數組 透過在每個引數後編號並用 來分隔允許一個 Magnet 連結中包含多個檔案及它們 URN 檔名和雜湊函式值。 magnetxt1第一個檔案的 URNxt2第二個檔案的 URN 示例 連結到一個 0 位元組長度的檔案。 magnetxturned2k31D6CFE0D16AE931B73C59D7E0C089C0xl0dnzero_lenfilxturnbitprint3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJLWPNACQDBZRYXW3VHJVCJ64QBZNGHOHHHZWCLNQxturnmd5D41D8CD98F00B204E9800998ECF8427E mediawiki1151targz magnetxturned2k354B15E68FB8F36D7CD88FF94116CDC1xl10826029dnmediawiki1151targzxturntreetiger7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJYxturnbtihQHQXPYWMACKDWKP47RRVIV7VOURXFE5Qtrhttp3A2F2Ftrackerexampleorg2Fannouncephp3Fuk3D111111111126ashttp3A2F2Fdownloadwikimediaorg2Fmediawiki2F1152Fmediawiki1151targzxshttp3A2F2Fcacheexampleorg2FXRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5xsdchubexampleorg url magnet httpswebarchiveorgweb20110716164755httpsurerazacommagnetxl10826029dnmediawiki1151targzxturntreetiger7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY 客戶端 客戶端 起始支援版本 μTorrent 18 BitComet 117 BitSpirit 360126 迅雷 5917 Transmission 180 qBittorrent 150 NeoLoader 010 Public Beta Release 此外，支援磁力連結的應用程式還包括 Vuze、BearShare、DC、Deluge、gtkgnutella、Kazaa、LimeWire、FrostWire、MP3 Rocket、Morpheus、Shareaza、MLdonkey、aMule、KCeasy 和 TrustyFiles。 參見 Metalink DHT 參考文獻 外部連結 MAGNETURI 專案網站 Magnetso ，Magnetso 搜尋引擎 ENBTorg ，Magnet 搜尋引擎 Freebase ，使用磁力連結索引免費軟體的網站 RHash ，開源命令列工具，可以計算磁力連結 torrent2magnet ，Magnet 轉換工具，可以把 torrent 檔案轉換成磁力連結 Category 檔案分享