Что такое формат файла TORRENT?
Файлы с расширением .torrent содержат метаданные - информацию о других данных: файлах и папках, распространяемых в сети на базе протокола BitTorrent. Они также могут включать данные о трекерах - адреса компьютеров, которые помогают находить файлы в сети. Формат сериализуется с использованием Bencode, компактного кодирования «ключ-значение», определенного в BEP-3.
Файлы .torrent не содержат данных, которые будут загружены, а вместо этого описывают их через набор полей:
- Имя файла или файлов для загрузки вместе с путем -
name,path,files - Информация о частях, на которые будет разделен файл -
piece length - Общий размер в байтах -
length - Информация о структуре каталога -
info - Список хешей SHA-1, рассчитанных для каждой части, для проверки целостности после загрузки -
pieces - URL-адрес трекера -
announce
Логика сети BitTorrent основана на децентрализации местоположения файлов, что позволяет пользователям устанавливать peer-to-peer соединения для загрузки и обмена интересующими их данными. Каждая загруженная часть проверяется по ее хешу, а затем передается другим участникам (пирам) в «рое» (swarm). Современные клиенты также поддерживают работу без трекеров через DHT (Distributed Hash Table, BEP-5), что устраняет необходимость в центральном сервере. BitTorrent v2 (BEP-52) обновляет хеширование частей с SHA-1 до SHA-256. В качестве альтернативы файлам .torrent широко используются magnet-ссылки, которые кодируют инфо-хеш непосредственно в URI.
Безопасность и защита
РИСК: MEDIUMСам файл .torrent представляет собой обычный текст в кодировке bencode и не может содержать вирус или запускать код, поэтому файл безопасен для открытия и проверки. Риск заключается в том, что вы скачиваете с его помощью: торрент-контент может содержать вредоносное ПО, иметь неверное описание или быть защищен авторским правом. Легальность касается контента, а не формата - скачивание Linux ISO допустимо; скачивание защищенных авторским правом фильмов/программ незаконно в большинстве стран. Практический совет: используйте надежный клиент с открытым исходным кодом (qBittorrent, Transmission), избегайте клиентов с рекламным ПО (старые версии Vuze, установщик uTorrent, BitLord), сканируйте загруженные исполняемые файлы и помните, что ваш IP виден другим участникам обмена.
Детали формата
в двух словахПрограммы, открывающие файлы TORRENT
Технические подробности
глубокая спецификация| Формат кодирования | Bencode - словари в `d...e`, целые числа как `iNe`, байтовые строки как `length:data`, списки как `l...e` |
| Тип MIME | `application/x-bittorrent` |
| Сигнатура файла | Формальные магические байты отсутствуют; файлы начинаются с `d` (0x64); торренты с трекером обычно начинаются с литерала `d8:announce` |
| Хеш целостности частей (v1) | SHA-1 - 20-байтовые хеши для каждой части, объединенные в поле `pieces` словаря `info` |
| Хеш целостности частей (v2) | Дерево Меркла SHA-256 для каждого файла (BEP-52); 32-байтовые хеши листьев хранятся в `piece layers` |
| Типичный размер части | от 256 КБ до 16 МБ; всегда степень двойки; фиксируется при создании торрента и хранится в `piece length` |
| Инфо-хеш | 20-байтовый SHA-1 (v1) или 32-байтовый SHA-256 (v2) от bencode-словаря `info`; уникально идентифицирует торрент |
| Анонс трекера | `announce` содержит один URL трекера; `announce-list` (BEP-12) расширяет это до многоуровневого списка резервных трекеров |
| Поддержка безтрекерного режима (DHT) | Поле `nodes` содержит адреса узлов начальной загрузки DHT (BEP-5), позволяя скачивать без центрального сервера-трекера |
| Флаг приватного торрента | Необязательный ключ `private`, установленный в `1` внутри `info`, отключает DHT и Peer Exchange (PEX) для этого торрента |
| Структура для нескольких файлов | Режим одного файла использует ключ `length` на верхнем уровне; многофайловый режим заменяет его списком `files` из записей `{path, length}` внутри `info` |
| Предлагаемое имя файла | Ключ `name` внутри `info` задает рекомендуемое имя файла (для одного файла) или имя корневого каталога (для нескольких файлов) |
| Необязательные поля метаданных | `comment`, `created by`, `creation date` (Unix timestamp), `encoding`, `url-list` (веб-сидирование BEP-19) |
| Обмен частями в рое | Пиры скачивают части одновременно; каждая часть проверяется по SHA по прибытии, прежде чем будет предложена другим личерам |
| Выпущен | 2001 (BitTorrent protocol; BEP-3 metainfo specification) |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.bittorrent.org |
Конвертации TORRENT
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах TORRENT.