Merging uncompleted torrent files

9

1

Is it possible to merge two of the same uncompleted torrent files.? eg. I download a torrent that has 2 pieces but i only download the first piece and my friend downloads the second piece. Is it possible to merge these two files so that I have a completed torrent.

user83241

Posted 2011-05-27T11:14:41.063

Reputation: 305

2

You can do it by mergetorrent utility.

– Alexey Markov – 2014-04-03T10:38:54.527

Answers

3

I am not sure if your question is just theoretical or a real problem... going to answer as theoretical...

As long as the full file completed, technically yes - I am not entirely sure of the best program to actually accomplish this.

A better solution may be to download the .torrent file and modify it to a private tracker between you and your friend so you complete off of each other.

William Hilsum

Posted 2011-05-27T11:14:41.063

Reputation: 111 572

The question is theretical and when i meant friend it can be anyone. The file did not complete. Sorry for the misunderstandings – user83241 – 2011-05-27T11:53:31.200

3

Yes, you can do that with torram utility. It recontructs the torrernt's download directory using any number of partially or fully downloaded files. So if your files both are somewhere in ~/Download/Torrents/ you can use:

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

No matter where exactly your files live - just specify any directory that parent for both of them (that's why I used ~/Download/ in the example). If you not sure you can even use '/' as the last arg - the tool scans the directory recursively, finds candidates by file size, checks their chunks by md5 hash and merges every found good pieces into final file.

Volodymyr Buell

Posted 2011-05-27T11:14:41.063

Reputation: 31

1

If you have one torrent file that two separate people were downloading on different systems, and want to bring what person B has downloaded to person A's system, the straightforward and obvious thing is to just copy B's files to A's torrent directly and then resume the torrent on person A's system. All Bittorrent peer programs I've used will scan files when they start to figure out where they are at in the file. So resuming from files is not an issue.

But - this will help you only if the torrent consisted of a number of files and person B had a number of complete files, or a number of incomplete files that A did not start downloading.

If you overwrite person A's files with files of the same name from person B, you won't "combine" what is already downloaded between them, you'll be where person B left off with that file.

If your torrent is simply a very large single file, this won't help you, you'll simply be taking over where B left off the download.

Otherwise look into mergetorrent as suggested by @Alexey Markov in the comments. I haven't used this utility but it seems to do what you want.

LawrenceC

Posted 2011-05-27T11:14:41.063

Reputation: 63 487

0

Most BitTorrent clients have the ability to re-check downloaded files. If you combine completed parts of a torrent, and then run a re-check, the client should recognise the aggregate content (and begin seeding it).

sblair

Posted 2011-05-27T11:14:41.063

Reputation: 12 231

0

If they are two different files of the same torrent, you can simply move both files to the same (incompleted) download data (filename needs to exactly the target). Then do a recheck and your Bittorrent client will compare your new file situation against the known torrent checksums.

If your downloaded pieces are from the same file. It gets a bit worse. I wonder that nobody wrote a tool for this because the algorithm for a potential tool is quite straight and simple:

  • read all checksums
  • open both/all files/incompleted downloads
  • loop through all chunks
    • check if one of this downloads contains the correct hash
    • take this hash and write it to the 'target download'
  • delete all other input files

As already said, for a tool this is a simple task. If you don't have such a tool (i don't know one), you can merge your file manually, which works in the case your client didn't download garbage (=parts which don't match the checksum). In this case you can use a tool which only copies non-empty blocks. dd if=inputfile.dat of=outputfile.dat bs=1024 conv=notrunc,sparse can do this, just adjust bs= (block size) parameter to the chunk size of your download file. At the end, rescan your file in your Torrent client, and it should find more chunks than before.

Daniel Alder

Posted 2011-05-27T11:14:41.063

Reputation: 211

0

If you are downloading something like a 2 part .iso or .rar files this mean YES you can do it. For example you can download atutorial-part1.rar while your friend downloads atutorial-part2.rar no problems.

user427081

Posted 2011-05-27T11:14:41.063

Reputation: