1

Если я загружаю кучу торрентов, есть ли способ или клиент, который обнаруживает уже загруженные файлы и прекращает их загрузку?

Изменить: уточнение из комментариев. Да, это означает поиск дублирующих файлов между различными торрентами и избегание их загрузки.

Я знаю, что некоторые клиенты позволяют вам выбирать, какие файлы внутри торрента загружать. Можно ли получить контрольную сумму отдельных файлов внутри торрента, прежде чем скачивать их? Если так, я мог бы сделать сценарий или что-то.

1 ответ1

2

По данным, доступным в файлах .torrent, невозможно определить, существует ли файл в торренте в другом торренте. В стандартном протоколе BitTorrent просто отсутствует поддержка дедупликации.

Когда создается торрент, все файлы в нем объединяются, а затем разбиваются на части.

example:
Files  |---#1|#2|---#3|-----------------------#4|#5|------#6|-----#7|-------#8|
Pieces |--0|--1|--2|--3|--4|--5|--6|--7|--8|--9|-10|-11|-12|-13|-14|-15|-16|17|
  • Все части имеют одинаковую длину, кроме последней.
  • Файл имеет одну или несколько частей.
  • Часть может содержать (части из) более одного файла.
  • Очень редко совпадают внутренние границы файла и фрагмента (кроме случаев, когда используются файлы заполнения).
  • Файл в многофайловом торренте почти всегда содержит фрагмент, совместно используемый с другим файлом.

Проблема в том, что невозможно создать хеш файла из хешей фрагмента.

(@jdwolf Даже если файл № 1 и файл № 3 идентичны, все их части хэши будут отличаться.)

Существует несколько программ для создания торрентов, которые могут добавлять хэши файлов, но нигде не используются.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .