Файл метаданных с расширением .torrent является словарём в bencode-формате — используется в p2p-сети BitTorrent и содержит информацию о файлах, трекерах и так далее.


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

— URL трекера;

— Общую информацию о файлах (имя, длину и пр.) в данной раздаче;

— Контрольные суммы (точнее, хеш-суммы SHA1) сегментов раздаваемых файлов;

— Passkey (ключ) пользователя, если он зарегистрирован на данном трекере. Длина ключа устанавливается трекером.

— (Необязательно) хеш-суммы файлов целиком

— (Необязательно) Альтернативные источники, работающие не по протоколу BitTorrent. Наиболее распространена поддержка так называемых web-сидов (протокол HTTP), но допустимыми также являются ftp, ed2k, magnet URI.


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

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

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

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


   Мировой опыт