Интернет магазин китайских планшетных компьютеров |
||||||||||||||||||
Компьютеры - Magnet-ссылка - Техническое описание23 января 2011Оглавление: 1. Magnet-ссылка 2. Применение 3. Техническое описание 4. Пример 5. Особенности поддержки в клиентах Магнет может содержать один или несколько параметров, разделенных между собой знаком '&'. Порядок следования параметров не документирован. Для некоторых значений важно положение параметра для правильного синтаксического анализа клиентом магнет-ссылки.
Параметрыdn Имя файла URN, содержащий хешДанная часть магнет-ссылки является самой главной. Именно по указанному в ней хешу производится поиск источников и проверка файла. TTHХеш используется в сетях Direct Connect и Gnutella xt=urn:tree:tiger: SHA-1Хеш используется в сетях Gnutella, Gnutella2 xt=urn:sha1: BitPrintЭто последовательная запись хеша SHA-1 и TTH, разделённых точкой. Хеш используется в Gnutella2. Direct Connect использует только TTH часть BitPrint xt=urn:bitprint:. ED2K HashХеш используется в EDonkey2000 xt=urn:ed2k: AICHНеофициальный URN для магнет. eDonkey2000 клиентами пока не читается. Хеш используется в eDonkey2000 для восстановления целостности файла. xt=urn:aich: Магнет-ссылки с AICH создаёт, к примеру, Rhash. Kazaa HashХеш используется в FastTrack xt=urn:kzhash: BTIHХеш используется в сетях BitTorrent xt=urn:btih: MD5Хеш используется в Gnutella2 xt=urn:md5: CRC-32Неофициальный URN для магнет. В P2P сетях не используется. xt=urn:crc32: Веб-ссылки на файлСуществует два вида ссылок, которые можно вставить в магнет-ссылку. ОбычнаяЭта ссылка указывает адрес файла на сервере. Клиент не сразу обращается по ней, а только по прошествии некоторого времени. Это было сделано, чтобы не перегружать сервер запросами, а сначала попытаться найти файл в P2P сетях. as= P2PЭта ссылка обычно адрес файла не на сервере, а на P2P клиенте или адрес хаба. По этой ссылке клиент пытается сразу соединиться и запросить файл или его источники. Данное поле обычно используется p2p клиентами для хранения источника. Ссылка может содержать хеш файла. Content-Addressable Web URLДанный вид ссылки в основном используется только клиентом Shareaza. xs=http://:/uri-res/N2R? Ссылка на DirectConnect хаб с источниками файлаПо этой ссылке клиент DirectConnect сразу же соединяется с указанным хабом. Правильно работает только в raw виде в конце магнет-ссылки. Позволяет собраться качающим один тот же файл по этой магнет-ссылке на одном хабе. xs=dchub://: Для вставки в магнет-ссылку желательно использовать адрес крупного публично доступного Direct Connect хаба на котором нет ограничений по размеру шары. Ссылка на кеш источников файла для Gnutella2В данном случае ссылка указывает не на клиент, а на кеш источников. Кеш не имеет у себя файла, но записывает и выдаёт адреса тех, у кого открыт порт на раздачу и он обратился по этому адресу. Тем самым, те, кто обращался за этим файлом по этому адресу, возможно, уже получили файл и теперь могут передать его следующему запросившему. Эта система работает аналогично BitTorrent трекеру. xs=http://cache.freebase.be/ Ссылка на ED2K источникxs=ed2kftp://:/// Отображаемый размерМагнитные ссылки ссылаются только на один файл. В некоторых DC++ клиентах есть работающая реализация ссылок на папки. Такие ссылки инвариантны относительно переименования файлов в папке, но неинвариантны относительно удаления, изменения или добавления таких файлов, как Thumbs.db, program.ini и тому подобных, поэтому более надёжный способ сослаться на папку — создать метафайл. Метафайл является файлом, его можно послать в приложении или сохранить на web–сайте, но также на него можно сослаться магнитной ссылкой, например, в чате. Однако, xl параметр такой ссылки характеризует размер метафайла, но не размер директории, что неудобно. Параметр dl характеризует именно размер директории, описываемой метафайлом. ПО, распознающее и отображающее магнитные ссылки в читабельном виде, должно отдавать предпочтение параметру dl при отображении размера. dl не является техническим параметром, влияющим на скачивание или поиск, поэтому этот параметр применим в других вариантах использования, например, в магнитных ссылках на составные раздачи BitTorrent. МанифестЭто ссылка на список ссылок. Может быть как веб-ссылкой, mt=http://weblog.foo/all-my-favorites.rss так и URN mt=urn:sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ Совместно с остальными может использоваться для получения дополнительной информации по файлу. Пример: magnet:?xl=10826029&dn=mediawiki-1.15.1.tar.gz &xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY &mt=urn:btih:QHQXPYWMACKDWKP47RRVIV7VOURXFE5Q Данный магнет содержит данные одного файла, а часть mt содержит BTIH .torrent файла который содержит дополнительную информацию по файлу. Ключевые словаЭто поле задаёт строку для поиска в P2P сетях. kt=martin+luther+king+mp3 Адрес трекераURL трекера. Используется для получения BitTorrent источников без использования сети DHT. Позволяет обойтись без торрент файла. tr=http://example.com/announce Дополнение форматаДля самостоятельного дополнения формата неофициальными параметрами предусмотрен для них префикс 'x.' x.= Группы параметровНазваниям параметров одной группы добавляется суффикс '.' и индекс группы. magnet:?xt.1=&xt.2= ЗамечаниеНекоторые программы, создающие магнет-ссылку, не кодируют специальные и национальные символы в URI представление и тем самым эти ссылки на веб-странице могут вызвать ошибки. Особенно это важно, когда ссылка, вставляемая в магнет, содержит знаки «&»; они должны быть заменены «%26». URI КодированиеВставляемые ссылки в предназначенные для этого поля перед этим должны быть URI-кодированы URL трекера http://tracker.example.org/announce.php?uk=1111111111& в магнет-ссылке должен выглядеть так magnet:?tr=http%3A%2F%2Ftracker.example.org%2Fannounce.php%3Fuk%3D1111111111%26 Это можно сделать, воспользовавшись программой Notepad++ v5.4.5+, при помощи пункта меню TextFX -> TextFX Convert -> Encode URI Component Кодирование URL
Вставка в HTMLПеред вставкой в HTML код в ссылке необходимо заменить все знаки „&“ на „&“. Исходный магнет magnet:?dn=file.ext&tr=http%3A%2F%2Ftracker.example.org%2Fannounce.php%3Fuk%3D1111111111%26 при вставке в HTML код должен выглядеть так <a href="magnet:?dn=file.ext&tr=http%3A%2F%2Ftracker.example.org%2Fannounce.php%3Fuk%3D1111111111%26">file.ext</a> Это можно сделать, воспользовавшись программой Notepad++ v5.4.5+, при помощи пункта меню TextFX -> TextFX Convert -> Encode HTML Разбиение на строкиПри необходимости разбить ссылку на строки, переход на новую строку лучше ставить перед знаком «&». В таком случае, встретив его в начале строки, можно легко понять, что это продолжение магнет-ссылки. magnet:?xl=10826029&dn=mediawiki-1.15.1.tar.gz &xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY &xt=urn:btih:QHQXPYWMACKDWKP47RRVIV7VOURXFE5Q ПубликацияВ некоторых форумах делают специальный BBCode тег, но, если его нет, можно попробовать воспользоваться тегом. При вставке магнета в тег парсер форума может сделать его непригодным для использования. Чтобы обойти это ограничение, можно воспользоваться сайтом, который позволит сделать из магнет-ссылки url, добавив его адрес в начало. Пример: http://sure-raza.com/magnet:?xl=10826029&dn=mediawiki-1.15.1.tar.gz&xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY Кликнув по такой ссылке, пользователь попадёт на страницу, которая перенаправит на исходную магнет-ссылку. Просмотров: 5004
|