.torrent

Файл метаданных раздачи в BitTorrent
Расширение .torrent
MIME-тип application/x-bittorrent
Тип формата формат файла
Расширен из Bencode
Стандарт(ы) BEP-0003 (v1),[1] BEP-0052 (v2)[2]

Файл метаданных с расширением .torrent является словарём в bencode-формате — используется в p2p-сети BitTorrent и содержит информацию о файлах, трекерах которые помогают участниками в системе найти друг друга и свормировать эфективные группы распостраннения называемые "рой" (англ. "swarms").[1]


Описание

Содержит следующую информацию:

  • URL трекера;
  • Общую информацию о файлах (имя, длину и пр.) в данной раздаче;
  • Контрольные суммы (точнее, хеш-суммы SHA1) сегментов раздаваемых файлов;
  • Passkey (ключ) пользователя, если он зарегистрирован на данном трекере. Длина ключа устанавливается трекером.
  • (Необязательно) хеш-суммы файлов целиком[3]
  • (Необязательно) Альтернативные источники, работающие не по протоколу BitTorrent. Наиболее распространена поддержка так называемых web-сидов (протокол HTTP), но допустимыми также являются ftp, ed2k, magnet URI.[4]

Размер сегмента регулируется при создании торрента и, как правило, выбирается размер, соответствующий степени двойки. При выборе размера необходимо соблюдать баланс, связанный с механизмом работы протокола (см. ниже). Размер сегмента чаще всего лежит в диапазоне от 128 килобайт до 2-4 мегабайт, хотя на очень больших раздачах (порядка сотни гигабайт) могут использоваться сегменты размером 32-64 мегабайта.

Если раздача состоит из нескольких файлов, то в процессе хеширования они считываются подряд и рассматриваются как непрерывный поток данных. Поэтому чаще всего сегмент, содержащий конец одного файла, также содержит и начало следующего. Вместе с тем для того, чтобы убедиться в правильности скачанного сегмента, необходимо иметь его весь целиком. Именно поэтому, несмотря на то, что большинство клиентов поддерживает скачивание не всех файлов в раздаче, а только некоторых, почти всегда будет скачан также и начальный и/или конечный кусок файлов, не выбранных для скачивания.

Так как хеши в .torrent-файле включают в себя имена и структуру каталогов раздачи, то переименование файлов с сохранением возможности их раздавать в общем случае невозможно. Однако, некоторые клиенты поддерживают изменение структуры, например, создание или переименование каталогов и переименование или перемещение файлов.

Файл метаданных является словарём в bencode-формате с дополнительным условием, что любые данные, являющиеся символьными строками, представляются в кодировке UTF-8. Файлы метаданных могут распространяться через любые каналы связи: они (или ссылки на них) могут выкладываться на веб-серверах, размещаться на домашних страницах пользователей сети, рассылаться по электронной почте, публиковаться в блогах или новостных лентах RSS. Также есть возможность получить info часть публичного файла метаданных напрямую от других участников раздачи благодаря расширению протокола «Extension for Peers to Send Metadata Files». Это позволяет обойтись публикацией только магнет-ссылки. Получив каким-либо образом файл с метаданными, клиент может начинать скачивание.

.micro.torrent

Микро-торрент — это торрент от одного файла, в котором размер сегмента совпадает с размером файла или 16 384 байта, если размер файла меньше[5]. В отличие от обычного торрента, микро-торрент создаётся из магнет-ссылки, в которой есть sha1-хеш файла, имя и размер.[6] Микро-торрент позволяет скачивать торрент клиентом небольшие файлы (до 2МБ) с веб-сервера без создания стандартного торрент-файла.

Пример:

Магнет-ссылка

magnet:?xl=10826029&dn=mediawiki-1.15.1.tar.gz&xt=urn:sha1:XRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5&as=https%3A%2F%2Freleases.wikimedia.org%2Fmediawiki%2F1.15%2Fmediawiki-1.15.1.tar.gz

конвертируется в торрент-файл[7]

data:application/x-bittorrent;,d4:infod6:lengthi10826029e4:name23:mediawiki-1.15.1.tar.gz12:piece%20lengthi10826029e6:pieces20:%bc%6f%a7%90%b7%73%88%92%c6%b4%15%fc%76%65%8a%97%67%63%71%5de8:url-listl69:https%3A%2F%2Freleases.wikimedia.org%2Fmediawiki%2F1.15%2Fmediawiki-1.15.1.tar.gzee

BitTorrent v2

Протокол BitTorrent v2 (BEP-0052) расширяет формат торрент файла.[2]

Новый формат использует SHA-256 для хеширования частей и для infohash, заменяя устаревший алгоритм хеша SHA-1. Поле "btmh" магнитной ссылки будет содержать полный 32-байтный хеш, в то время как в коммуникации и в DHT используется 20-байтная обрезаная версия чтобы вместиться в в структуру старых сообщений.[2] Есть возможность создать торрент файл только в новом формате второй версии, или вместе с обоими полями от старой и новой версии для "гибиридного" формата.


Примечания

  1. 1 2 BEP-0003: The BitTorrent Protocol Specification. Bittorrent.org. Дата обращения: 22 октября 2009. Архивировано 26 июля 2019 года.
  2. 1 2 3 bep_0052.rst_post. bittorrent.org. Дата обращения: 9 февраля 2023. Архивировано 12 ноября 2020 года.
  3. Optional Hashes in .torrent metadata files Архивная копия от 23 сентября 2018 на Wayback Machine
    BEP0030 Merkle hash torrent extension Архивная копия от 14 сентября 2009 на Wayback Machine
  4. External Sourcing Архивная копия от 23 сентября 2018 на Wayback Machine
    BEP0017 HTTP Seeding (Hoffman-style) Архивная копия от 13 декабря 2013 на Wayback Machine
    BEP0019 WebSeed — HTTP/FTP Seeding (GetRight style) Архивная копия от 13 декабря 2013 на Wayback Machine
  5. Для совместимости с uTorrent
  6. magnet-converter/magnet-converter.htm at master · ivan386/magnet-converter
  7. Торрент-файл представлен в виде data: URL

 

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia