В этой статье есть несколько проблем. Помогите улучшить ее или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения )
|
Magnet — это схема URI , которая определяет формат magnet-ссылок , фактический стандарт для идентификации файлов ( URN ) по их содержимому с помощью криптографического хеш-значения , а не по их местоположению.
Хотя магнитные ссылки могут использоваться в ряде контекстов, они особенно полезны в одноранговых сетях обмена файлами, поскольку они позволяют ссылаться на ресурсы без необходимости в постоянно доступном хосте и могут быть сгенерированы любым человеком, у которого уже есть файл, без необходимости в центральном органе для их выпуска. Это делает их популярными для использования в качестве «гарантированных» поисковых терминов в сообществе обмена файлами , где любой может распространять магнитную ссылку, чтобы гарантировать, что ресурс, извлеченный по этой ссылке, является тем, который предназначен, независимо от того, как он извлечен.
Стандарт для Magnet URI был разработан Bitzi в 2002 году, частично как «нейтральное по отношению к поставщикам и проектам обобщение» схем ed2k:
и freenet:
URI, используемых eDonkey2000 и Freenet соответственно, и пытается максимально точно следовать официальным стандартам IETF URI . BitTorrent представил btmh:
протокол в 2020 году как часть своих изменений BitTorrent v2. [1]
Magnet URI состоят из серии из одного или нескольких параметров, порядок которых не имеет значения, отформатированных так же, как строки запросов , которые обычно завершают HTTP URL.
Поддерживаются следующие параметры: [2] [3]
Параметр | Имя | Описание |
---|---|---|
хт | Точная тема | URN, содержащий хэш файла . Это самая важная часть magnet-ссылки, которая используется для поиска и проверки указанного файла. URN специфичен для протокола, поэтому хэш файла URN в btih (BitTorrent) будет полностью отличаться от хэша файла URN для ed2k
|
дн | Отображаемое имя | Имя файла, отображаемое пользователю для удобства. |
XL-размер | Точная длина | Размер файла в байтах |
тр | Адрес Трекер | URL-адрес трекера ; используется для получения ресурсов для загрузок BitTorrent без необходимости поддержки DHT . [3] Значение должно быть закодировано в URL-адресе.
|
вс | Веб-семя | Данные полезной нагрузки передаются по протоколу HTTP(S) |
как [ необходима ссылка ] | Приемлемый источник | Относится к прямой загрузке с веб-сервера. Рассматривается только как резервный источник в случае, если клиент не может найти и/или загрузить связанный файл в поддерживаемых сетях P2P.
|
xs [ необходима ссылка ] | Точный источник | Либо HTTP (или HTTPS, FTP, FTPS и т. д.) источник загрузки для файла, на который указывает ссылка Magnet, адрес P2P источника для файла или адрес концентратора (в случае DC++ ), по которому клиент пытается подключиться напрямую, запрашивая файл и/или его источники. Это поле обычно используется клиентами P2P для хранения источника и может включать хэш файла. |
кт [ необходима ссылка ] | Ключевое слово Тема | Указывает строку ключевых слов для поиска в сетях P2P, а не конкретный файл
|
mt [ необходима ссылка ] | Тема манифеста | Ссылка на метафайл, содержащий список магнето (MAGMA – MAGnet MAnifest); т.е. ссылка на список ссылок
|
так что [4] | Выбрать только | Перечисляет конкретные файлы, которые должны загружать торрент-клиенты, [5] указанные как отдельные файлы или диапазоны (включительно) индексов файлов.
|
x.pe | Вглядеться | Указывает фиксированные адреса одноранговых узлов для подключения. Используется для начальной загрузки обнаружения одноранговых узлов при отсутствии (например) трекеров или DHT . [3]
|
Стандарт также допускает экспериментальные параметры, специфичные для конкретного приложения, которые должны начинаться с «x». [ необходима ссылка ]
Параметр xt указывает URN для данного протокола p2p. Его цель — предоставить параметр поиска для поиска метаданных в торренте. Это фактически действует как замена файла .torrent, который сам содержит метаданные торрента, вместо этого выполняя поиск этих метаданных в сети p2p (используя URN). Каждый протокол обрабатывает URN уникально; например, xt=urn:btih:FFC7E738EAA4CD4ECF51EC6FD669C6CDE2C281A8
использует btih (протокол BitTorrent v1), поэтому клиент BitTorrent может взять хэш и найти метаданные торрента в BitTorrent DHT. [6] В случае DHT клиент ищет по набору заранее известных узлов и запрашивает метаданные для infohash; эти узлы будут делать тот же запрос другим известным узлам, пока в конечном итоге не будет найден и возвращен рой.
xt также позволяет групповую настройку. Несколько файлов могут быть включены путем добавления числа с точкой (".") перед каждым параметром ссылки. [ необходима цитата ]
magnet:?xt.1=[ URN of the first file]&xt.2=[ URN of the second file]
xt=urn:tree:tiger:[ TTH Hash (Base32) ]
xt=urn:sha1:[ SHA-1 Hash (Base32) ]
xt=urn:bitprint:[ SHA-1 Hash (Base32) ].[ TTH Hash (Base32) ]
xt=urn:ed2k:[ ED2K Hash (Hex) ]
xt=urn:aich:[ aich Hash (Base32) ]
xt=urn:kzhash:[ Kazaa Hash (Hex) ]
xt=urn:btih:[ BitTorrent Info Hash (Hex) ]
btmh
), чтобы разрешить торрентам участвовать как в роях v1, так и v2 [7]xt=urn:btmh:[1220: (v2 prefix) BitTorrent Info Hash (Hex) ]
xt=urn:md5:[ MD5 Hash (Hex) ]
Существует два типа ссылок для скачивания, которые Magnet-ссылка может включать в себя в качестве прямого или резервного источника.
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
xs=dchub://[hub address]:[hub port]
xs=http://cache.freebase.be/[ SHA-1 hash ]
xs=ed2kftp://[client address]:[client port]/[ed2k hash]/[file size]/
Для экспериментальных и самодополняющих неформальных вариантов x.
можно использовать префикс, за которым следует выбранная буква суффикса. Эти имена гарантированно никогда не будут стандартизированы.
x.[name of the new parameter]=[data of the new parameter (URL encoded)]
[ необходима ссылка ]Клиент | дн | XL-размер | хт | тр | хз | как | кт | мт | вс |
---|---|---|---|---|---|---|---|---|---|
АМул | Да | Да | urn:ed2k: | Нет | Неизвестный | Неизвестный | Неизвестный | Неизвестный | Неизвестный |
ApexDC++ | Да | Да | urn:bitprint: urn:tree:tiger: | Нет | dchub: [Примечание 1] | dchub: [Примечание 1] | Нет | Нет | Неизвестный |
BitComet | Да | Да | urn:btih: | Да | Да1.76 | Нет | Нет | Нет | Да 1.74 [9] |
Битфлу | Да | Нет | urn:btih: | Да | Нет | Нет | Нет | Нет | Неизвестный |
Потоп | Да | Нет | urn:btih: | Да | Нет | Нет | Нет | Нет | Неизвестный |
EiskaltDC++ | Да | Да | urn:tree:tiger: urn:bitprint: urn:btih: [Примечание 2] urn:btmh: [Примечание 2] | Нет | dchub: [Примечание 1] adc: [Примечание 3] adcs: [Примечание 4] | dchub: [Примечание 1] | Да | Нет | Неизвестный |
FlylinkDC++ | Да | Да | urn:tree:tiger: urn:bitprint: urn:btih: | Нет | dchub: [Примечание 1] adc: [Примечание 3] adcs: [Примечание 4] | dchub: [Примечание 1] | Да | Нет | Неизвестный |
gtk-gnutella | Да | Да | urn:sha1: | Нет | http: нажать: | Да | Да | Нет | Неизвестный |
KTorrent | Да | Нет | urn:btih: | Да | Нет | Нет | Нет | Нет | Неизвестный |
LimeWire | Да | Да | urn:sha1: | Нет | http: urn:guid: | Неизвестный | Нет | Нет | Неизвестный |
МоноТоррент | Да | Да | urn:btih: | Да | Нет | Да | Нет | Нет | Неизвестный |
μTorrent | Да | Нет | urn:btih: | Да | Нет | Нет | Нет | Нет | Да |
qBittorrent | Да | Нет | urn:btih: urn:btmh: | Да | Неизвестный | Неизвестный | Нет | Нет | Неизвестный |
Шареаза | Да | Да | urn:bitprint: urn:btih: urn:ed2k: urn:md5: urn:sha1: urn:tree:tiger: | Да [Примечание 5] | http: ftp: | http: ftp: (Тот же приоритет, что и xs) | Да | Нет | Неизвестный |
Тихати | Да | Да | urn:btih: | Да | Да | Да | Неизвестный | Неизвестный | Да |
Трансмиссия [2] [10] | Да | Нет | urn:btih: | Да | Нет | Нет | Нет | Нет | Да [11] |
Вузе | Да | Да | urn:btih: urn:sha1: | Да | Да5.7.5.0 | Да5.7.5.0 | Нет | Нет | Да |