Magnet-ссылка
Материал из Википедии — свободной энциклопедии
URI-схема magnet: — открытый, находящийся в стадии рабочего черновика, стандарт, определяющий URI-схему т. н. magnet-ссылок, предназначенных преимущественно для указания на ресурсы, доступные к загрузке через пиринговые сети. Такие ссылки в основном идентифицируют файлы не по их расположению или имени, а по содержанию, точнее, по хеш-коду.
Поскольку ссылки указывают на файл, основываясь на его содержании и метаинформации, а не на расположении, их можно считать разновидностью URN, а не более общего URL. Хотя magnet-ссылки могут использоваться в других сферах, они наиболее полезны в связке с пиринговыми сетями, так как в этих сетях указание на ресурсы не требует постоянно доступного их источника.
Стандарт был создан в 2002 году, отчасти как обобщение, независимое от конкретных производителей программного обеспечения и проектов, URI-схем ed2k:
и freenet:
, использующихся сетями eDonkey2000 и Freenet соответственно. Создание стандарта сопровождалось попыткой следовать стандартам URI от IETF настолько, насколько это было возможным. Среди приложений, поддерживающих magnet-ссылки, Azureus, BearShare, DC++, gtk-gnutella, Kazaa, LimeWire, Morpheus, Shareaza, TrustyFiles и μTorrent.
Содержание |
[править] Использование хеш-кодов
Наиболее распространенное использование magnet-ссылок — указание на конкретный файл при помощи его уникального идентификатора, подобного ISBN, но основанного на хеш-коде содержимого. В отличие от типичных идентификаторов, он может быть сгенерирован любым обладателем файла, а потому нет необходимости в каком-либо централизованном институте, контролирующем присвоение таких идентификаторов.
Стоит отметить, что технически возможна ситуация, когда два файла будут обладать одинаковым хеш-кодом, но статистически она крайне маловероятна, см. статью «Коллизия хэш-функции».
Одно из преимуществ magnet-ссылок — их открытость и независимость от платформы: ссылка может быть использована для загрузки файла при помощи разнообразных приложений на практически всех операционных системах. Т. к. ссылки кратки и представляют из себя строку текста, пользователи могут просто использовать операции копирования и вставки для отправки ссылок по электронной почте и программам мгновенного обмена сообщениями, что невозможно, например, для BitTorrent-ссылок.
[править] Техническое описание
Magnet-ссылки состоят из последовательности одного и более параметров, порядок следования которых значения не имеет.
[править] Описание
Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка.
Статью следует исправить согласно стилистическим правилам Википедии.
|
Магнет может содержать один и более параметеров разделенных между собой знаком '&'
magnet:?xl=[Размер в байтах]&dn=[Имя файла (URL encoded)]&xt=urn:tree:tiger:[ TTH хеш файла (Base32) ]
[править] Параметры
dn (Display Name) — Имя файла
xt (eXact Topic) — URN содержащий хеш файла
xl (eXact Length) — Размер файла в байтах
kt (Keyword Topic) — Ключевые слова для поиска
mt (Manifest Topic) — Ссылка на метафайл который содержит список магнетов (MAGMA — MAGnet MAnifest)
as (Acceptable Source) — Веб ссылка на файл в интернете
xs (eXact Source) — Также веб ссылка но содержащая в себе хеш. Данное поле обычно используется p2p клиентами для прямой ссылки на файл в них.
[править] Поддерживаемые хеши
xt=urn:tree:tiger:[ TTH хеш файла (Base32) ]
xt=urn:sha1:[ sha1 хеш файла (Base32) ]
xt=urn:bitprint:[ sha1 хеш файла (Base32) ].[ TTH хеш файла (Base32) ]
xt=urn:ed2k:[ ed2k хеш файла (Hex) ]
xt=urn:kzhash:[ Kazaa хеш (Hex) ]
xt=urn:btih:[ BitTorrent инфо хеш (Base32) ]
xt=urn:md5:[ MD5 хеш (Hex) ]
Поле xt как видно из формата содержит указатель URN
[править] Веб ссылки на файл
Обычная:
as=[веб ссылка на файл (URL encoded)]
xs=http://[Адрес сервера]:[Порт сервера]/uri-res/N2R?[ URN содержащий хеш файла ]
Ссылка на DirectConnect хаб с источниками файла
xs=dchub://[Адрес хаба]:[Порт хаба]
Ссылка на кеш источников файла для Gnutella2
xs=http://cache.freebase.be/[ sha1 хеш файла ]
[править] Манифест (mt)
Это ссылка на список ссылок(файл лист). Может быть как и веб ссылкой,
mt=http://weblog.foo/all-my-favorites.rss
так и URN
mt=urn:sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ
[править] Ключи для поиска (kt)
Это поле задаёт строку для поиска в P2P сетях.
kt=martin+luther+king+mp3
[править] Дополнение формата
Для самостоятельного дополнения формата неофициальными параметрами предусмотрен для них префикс 'x.'
x.[название нового параметра]=[данные нового параметра (URL encoded)]
[править] Несколько параметров одного типа
Названиям параметров одного типа добавляется суффикс '.'(точка) и индекс группы.
magnet:?xt.1=[ URN первого файла ]&xt.2=[ URN второго файла ]
[править] Замечание
Некоторые программы создающие магнет ссылку не кодируют специальные и национальные символы в URL представление (%20) и тем самым эти ссылки на веб странице могут вызвать ошибки.
[править] Пример
Ссылка на файл нулевой длинны.
magnet:?xl=0&dn=zero_len.fil&xt=urn:sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ&xt=urn:tree:tiger:LWPNACQDBZRYXW3VHJVCJ64QBZNGHOHHHZWCLNQ&xt=urn:md5:D41D8CD98F00B204E9800998ECF8427E&xt=urn:ed2k:31D6CFE0D16AE931B73C59D7E0C089C0&xt=url:bitprint:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ.LWPNACQDBZRYXW3VHJVCJ64QBZNGHOHHHZWCLNQ
[править] Особенности поддержки в клиентах
Клиент | dn | xl | xt | as | xs | kt | mt | Перехват | Вставка |
---|---|---|---|---|---|---|---|---|---|
ApexDC++ 1.0.1 | да | да | urn:tree:tiger: urn:bitprint: |
dchub://[hubaddress]:[hubport] | dchub://[hubaddress]:[hubport] | нет | - | да | нет |
Shareaza 2.3.1.0 | да | да | urn:sha1: urn:tree:tiger: urn:bitprint: urn:ed2k: urn:md5: urn:btih: |
Если нет xs http: |
http: | да | нет | да | да |
Azureus 3.0 | - | - | urn:btih: | - | - | - | - | - | - |
aMule 2.2.1 | да | да | urn:ed2k: | - | - | - | - | нет | да |
Да - поддерживается Нет - не поддерживается - - Поддержка неизвестна
[править] Ссылки
- MAGNET v0.1 (en)
- Спецификация по магнет ссылкам (en)
- Сайт проекта MAGNET-URI (en)
- Bitzi, Сайт по поиску магнетов. (en)
- Freebase сайт который использует магнеты чтобы индексировать freeware. (en)
- Программа для создания универсальных magnet ссылок (ru)