Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to know if its possible to link two torrent clients to one file. I mean taking a piece of a file (both clients taking different pieces) and rearranging it into one file again.

One client must know what piece the other client downloaded so it doesn't download the same one twice. Will this make the file download faster? And can it be done?

share|improve this question
This concept seems ill-conceived. If you're looking to seed from 2 connections, then the solution is to download on the entire content on one connection, copy to the other, and then seed from there too. – killermist Jun 22 '12 at 3:59

Yes it could be done, but assuming that one client is saving the file locally and the other has to transfer what it has downloaded, no, this would not be any faster. Essentially you'd just be adding another seeder.

The reason for this is that there is a finite pool of seeders and leachers for any given torrent, so if there's 10 sources for a file and one of your clients is using 5 of them, your other client can't access those IP's.

share|improve this answer
Not adding another seeder, adding another peer. The key principle is more connections is not going to make a difference in torrenting like multiple HTTP connections might, because you already use multiple connections in a P2P transfer i.e. torrent. UNLESS connecting twice to the same fast peers helps, which is possible and would probably speed things up. But probably not enough to make it worth the hassle of running two separate clients on different ports. – deed02392 Apr 14 '13 at 17:01

Really simple. On most torrent clients, you select the torrent file, and underneath the Peers tab (it's near Files, etc.) You right click to "Add Peer" and enter the local IP address and port for the other torrent client.

How do you find the local IP and port?

On Windows, open cmd, type ipconfig press Enter. You should see an IPv4 address probably starting with 192. For the port, you can – under most torrent client preferences – select Connections, and see the port there.

Obviously, each IP/port is to be added to the other torrent client's peer list.

share|improve this answer

It can't be done, and it wouldn't make it faster, assuming you are setting your limits correctly.

Both clients would theoretically be trying to connect to the same pool of seeders and leechers. Each client would randomly have a chance of getting better seeders and leechers, but assuming that there are enough of each, you will be maxing out your download bandwidth anyways.

The only potential advantage you might get from running 2 clients (if this were possible) is would have more connections per torrent, but this is generally configurable in each client anyways, and is usually set to a reasonable default. So I don't think it would really provide any benefit.

As you mentioned, one client would have to know which piece the other is downloading, otherwise there would be a massive duplication of work.

If you found two clients that didn't explode immediately when you tried this, you would likely have issues with both clients trying to write to the file at the same time, you would have many duplicate blocks downloaded and in the end your download would take far longer than it should have.

share|improve this answer

Most torrent "clients" (the term "peer" is more accurate - each host in the swarm connects to each other and there is no client-server relationship except with the tracker) will already contact multiple peers at the same time to try to get multiple pieces at once. This is usually configurable in your torrent application.

That is what makes it faster than just straight transferring it from someone else.

So you could set up two torrent peers on a single file, but you could also tell your torrent application to allow more simultaneous connects and it will have the same effect.

Of course, if multiple local applications try to write to a single file at the same time without coordination, you get corrupt data or one of the applications not working. I don't of any torrent application that lets two separate instances coordinate on downloading a single file on the same physical system. Of course, if you have two disparate systems or tell each application to save the file to different places, there is no conflict. But no benefit really, and you'll be consuming twice the amount of disk space to store two copies of the file.

If you have two systems on separate networks (say your house and a friend's house), though, and set both of them to download and seed a torrent (from their respective different "external" IPs), you are helping that torrent be more highly available to others. But not helping yourself.

share|improve this answer

uTorrent doesn't allow multiple instances on the same machine but if you have two machines running uTorrent on the same network with both downloading the same file with Local Peer Discovery enabled on one of them, then that machine would get the benefit of the two instances. My old favorite client BitTornado does allow multiple instances but two instances cannot download the same torrent file. (I forget why not.)

share|improve this answer
The OP is asking about two clients downloading one part of the file each. Does your solution do that? – suspectus Jan 13 '15 at 11:36

If you're OK with merging 2 downloads in progress on one client [*]:

  • mergetorrent implements offline cross-copying for uTorrent: stop, run mergetorrent, re-check. Sounds very awkward to use. Could probably work with other clients with small changes.
  • Vuze wiki documents a kludge where you rename/retarget both torrents to the same file and enable "periodic recheck". See there for caveats, it's mostly useful for slow swarms.
  • Later Vuze implemented automagic "Swarm Merging" which it tries when it sees files with same sizes. This should work better as its aware exactly what parts of the files are complete, and there is no re-checking overhead. Downside: you end up with 2 copies.
  • BEP 38 (2012 Draft) proposed standartized hints .torrent files can contain for clients to attempt something like Vuze's swarm merging. Googling suggests nobody uses it. Anyway the hard part is actually sharing the data, not discovering when to try.

[*] Doing it with different clients is extra hard because they won't even understand each other's format for representing partial download. Though if both write pieces directly to their final place in the file (usually named "full allocation"), support "periodic recheck" like Vuze, and don't move/rename on completion, it might work.

Disclaimer: I never tried any of the above features.

share|improve this answer

You must log in to answer this question.

protected by JakeGould Oct 7 '15 at 7:12

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged .