Слияние незавершенных торрент-файлов

9

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

user83241
источник
2
Вы можете сделать это с помощью утилиты mergetorrent .
Алексей Марков

Ответы:

3

Я не уверен, если ваш вопрос является просто теоретическим или реальной проблемой ... собираюсь ответить как теоретический ...

Пока полный файл закончен, технически да - я не совсем уверен в том, что лучшая программа действительно может это сделать.

Лучшим решением может быть загрузка файла .torrent и его преобразование в личный трекер между вами и вашим другом, чтобы вы друг друга дополнили.

Уильям Хилсум
источник
Вопрос стоит, и когда я имел в виду друга, это может быть кто угодно. Файл не завершен. Извините за недоразумения
user83241
3

Да, вы можете сделать это с помощью утилиты torram . Он восстанавливает каталог загрузки torrernt, используя любое количество частично или полностью загруженных файлов. Так что, если ваши файлы находятся где-то в ~ / Download / Torrents /, вы можете использовать:

torram -c -o <the_directory_where_to_put_reconstructed_files> <yourtorrentfile.torrent> ~/Download

Неважно, где именно находятся ваши файлы - просто укажите любой каталог, родительский для них обоих (именно поэтому я использовал ~ / Download / в примере). Если вы не уверены, что можете использовать '/' в качестве последнего аргумента - инструмент рекурсивно просматривает каталог, находит кандидатов по размеру файла, проверяет их фрагменты по хэшу md5 и объединяет все найденные хорошие фрагменты в окончательный файл.

Владимир Буэлл
источник
1

Если у вас есть один торрент-файл, который два разных человека скачивали в разных системах, и вы хотите передать то, что человек B загрузил, в систему человека А, то простая и очевидная вещь - просто скопировать файлы Б непосредственно в торрент А, а затем возобновить торрент на систему человека А. Все используемые мной одноранговые программы Bittorrent будут сканировать файлы, когда они начнут выяснять, где они находятся в файле. Поэтому возобновление работы с файлами не является проблемой.

Но - это поможет вам, только если торрент состоял из нескольких файлов, а у человека B было несколько полных файлов или несколько неполных файлов, которые A не начал загружать.

Если вы перезаписываете файлы человека А файлами того же имени, что и у человека Б, вы не будете «объединять» то, что уже загружено между ними, вы будете там, где человек Б остановился на этом файле.

Если ваш торрент представляет собой просто очень большой отдельный файл, это вам не поможет, вы просто перенесете туда, где B прервал загрузку.

В противном случае посмотрите на mergetorrent, как подсказывает @Alexey Markov в комментариях. Я не пользовался этой утилитой, но она, кажется, делает то, что вы хотите.

LawrenceC
источник
0

Большинство клиентов BitTorrent имеют возможность перепроверить загруженные файлы. Если вы объединяете законченные части торрента, а затем запускаете повторную проверку, клиент должен распознать совокупное содержимое (и начать его заполнение).

sblair
источник
0

Если это два разных файла одного и того же торрента, вы можете просто переместить оба файла в одни и те же (неполные) данные для загрузки (имя файла должно точно соответствовать цели). Затем выполните повторную проверку, и ваш клиент Bittorrent сравнит вашу новую ситуацию с файлом с известными контрольными суммами торрента.

Если ваши скачанные фрагменты находятся в одном файле. Становится немного хуже. Интересно, что никто не написал инструмент для этого, потому что алгоритм для потенциального инструмента довольно прост и прост:

  • прочитать все контрольные суммы
  • открыть оба / все файлы / незавершенные загрузки
  • перебрать все куски
    • проверьте, содержит ли одна из этих загрузок правильный хеш
    • возьмите этот хэш и запишите его в «целевую загрузку»
  • удалить все остальные входные файлы

Как уже говорилось, для инструмента это простая задача. Если у вас нет такого инструмента (я его не знаю), вы можете объединить файл вручную, что работает в том случае, если ваш клиент не загружал мусор (= части, которые не соответствуют контрольной сумме). В этом случае вы можете использовать инструмент, который копирует только непустые блоки. dd if=inputfile.dat of=outputfile.dat bs=1024 conv=notrunc,sparseЭто можно сделать, просто отрегулировав параметр bs=(размер блока) по размеру порции вашего загружаемого файла. В конце заново отсканируйте ваш файл в вашем Torrent-клиенте, и он должен найти больше фрагментов, чем раньше.

Даниэль Алдер
источник
0

Если вы загружаете что-то вроде 2-х частей .isoили .rarфайлов, это означает ДА, вы можете это сделать. Например, вы можете скачать, atutorial-part1.rarпока ваш друг скачивает atutorial-part2.rarбез проблем.

Джеймс Мерц
источник