Об'єднання незавершених файлів торрентів


9

Чи можливо об'єднати два однакових незавершених файли торрентів.? напр. Я завантажую торрент, який має 2 шматки, але я завантажую лише перший твір, а мій друг завантажує другий фрагмент. Чи можливо об'єднати ці два файли, щоб у мене був завершений торрент.


2
Зробити це можна за допомогою утиліти mergetorrent .
Олексій Марков

Відповіді:


3

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

Поки повний файл завершений, технічно так - я не зовсім впевнений у найкращій програмі, яка насправді це виконала.

Кращим рішенням може бути завантаження .torrent-файлу та змінення його на приватний трекер між вами та вашим другом, щоб ви завершили один одного.


Питання є теоретичним, і коли я мав на увазі друга, це може бути хто завгодно. Файл не завершено. Вибачте за непорозуміння
користувач83241

3

Так, ви можете зробити це за допомогою утиліти torram . Він відновлює каталог завантажень торрента, використовуючи будь-яку кількість частково або повністю завантажених файлів. Тож якщо ваші файли десь у ~ / Завантажити / Торренти /, ви можете використовувати:

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

Незалежно від того, де саме живуть ваші файли - просто вкажіть будь-який каталог, який є батьківським для обох (саме тому я використовував ~ / Download / у прикладі). Якщо ви не впевнені, що навіть можете використовувати "/" в якості останнього аргументу - інструмент рекурсивно сканує каталог, знаходить кандидатів за розміром файлу, перевіряє їх шматки хеш-файлом md5 і об'єднує всі знайдені хороші фрагменти в остаточний файл.


1

Якщо у вас є один файл торрента, який два окремі люди завантажували в різних системах, і хочете донести те, що людина B завантажила в систему людини A, простою і очевидною річчю є просто скопіювати файли B безпосередньо в торент A і потім відновити торрент за системою людини A. Усі програми, які я використовую, мають сканувати файли, коли вони почнуть розбиратися, де вони знаходяться у файлі. Тому відновлення файлів не є проблемою.

Але - це допоможе вам лише у тому випадку, якщо торрент складався з декількох файлів, і людина B мала кількість повних файлів або кількість неповних файлів, які A не почала завантажувати.

Якщо ви перезаписуєте файли особи A з однойменними файлами від особи B, ви не будете "поєднувати" те, що вже завантажено між ними, ви будете там, де людина B залишилася з цим файлом.

Якщо ваш торрент просто дуже великий один файл, це вам не допоможе, ви просто переймете туди, де B залишилося завантаження.

Інакше загляньте в mergetorrent, як запропонував @Alexey Markov у коментарях. Я не використовував цю утиліту, але, здається, робиш те, що ти хочеш.


0

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


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ніяких проблем.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.