Как мне обнаружить дубликаты файлов внутри и между торрентами?

507
fullmooninu

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

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

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

1
Если это тот же торрент, он будет уведомлять, когда вы начнете загрузку, если другой работает, кроме того, что он не проверяет каждый торрент, который отличается для дубликатов файлов Moab 6 лет назад 1
Дубликаты файлов внутри торрента будут содержать одинаковые фрагменты. Если вы говорите о дедупликации между торрентами, это другое дело. jdwolf 6 лет назад 1
@jdwolf Нет, части будут иметь разные смещения, поэтому они не будут идентичны. Encombe 6 лет назад 0
@ Encombe Если бы у них были разные «смещения», они бы не были одним и тем же файлом, не так ли? jdwolf 6 лет назад 0
Можно ли получить контрольную сумму отдельных файлов внутри торрента, прежде чем скачивать их? Если так, я мог бы сделать сценарий или что-то. fullmooninu 6 лет назад 0
Контрольные суммы (хэши) BT, а не файлы. Ignacio Vazquez-Abrams 6 лет назад 0
@ IgnacioVazquez-Abrams, но каждый патрон может охватывать более одного файла? fullmooninu 6 лет назад 0
Да. И файл может содержать более одного куска. Ignacio Vazquez-Abrams 6 лет назад 0
@ IgnacioVazquez-Abrams нет я спросил наоборот :). Если один блок может охватывать более одного файла. Если каждый патрон покрывает только частично или полностью один файл, то моя теория все еще применима. fullmooninu 6 лет назад 0
Как вы должны выяснить биты, которые составляют остальную часть куска? Ignacio Vazquez-Abrams 6 лет назад 0

1 ответ на вопрос

2
Encombe

По данным, доступным в файлах .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 идентичны, все их части хэши будут отличаться.)

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