Jump to content

Adding Azureus peers to a trackerless (DHT only ) torrent


merge.both.dht

Recommended Posts

I have been looking for a way to merge the two swarms (Mainline DHT & Azureus DHT swarms) that develop when the last tracker of a torrent stays down for a long period for time.

This it most useful on "bad" torrents where where the remaining peers in the swarm do not have all the pieces.

Before you try any of the methods below try this first.

Because isohunt.com cross references torrents from accross the internet their .torrent files have many trackers. If they have a .torrent file for the torrent you want, it will likely have additional (working) trackers.

Tip: isohunt can/will search on a torrent's hash. You can find it under µTorrent's General tab. Right click to copy.

Open a isohunt download .torrent in µtorrent and it will add the new trackers to the list.

When I did this I got 4 working trackers. No need to manually merge swarms. If they don't have your torrent, try the manual methods below.

Stone's Method is easer than mine, you might want to try his first.

Tip: If you add 127.0.0.1:'µtorrent's port number' (127.0.0.1 = localhost) to Azureus' peer injecter plugin when you start torrents in Azureus it will peer with µtorrent automatically.

A selfish way to get all the pieces is to run two clients, one for each DHT swarm. You will have access to all the pieces there are but you then become the bridge for the two swarms and all pieces that the other swawn doesnot have has to go over you machine. Which becomes a problem id you have a slow connection and/or when you leave. You all so have to manually tell your client of the other. addpeer 127.0.0.1:'portnumber of other client' has worked for me. Remember to make sure that you have unlimited uploads/downloads in both clients in the beginning so your second client can get all the pieces form the first at high speed.

The best way I have found so far I discovered this afternoon. Simple directions below.

need: Azureus with peer injector plugin installed

mainline DHT client (utorrent)

text editor (notepad)

step

1./ have utorrent downloading the problem for a while to get a good list of peers.

2./ goto its peers tab and right click to "copy peerlist"

3./ paste list into notepad and turn it into a single comma "," seperated list, add your external ip and port number as well if you know it.

4./ in Azureus under Tools>options>plugins>peer injector paste your list of peers from notepad and tick "Automaticly inject peers when torrent starts" and then save it.

5./ in Azureus open/load the .torrent file in a stopped state(you don't need to save/download all the files the torrent has just the smallest will do, as we what to merge the swarms so we can download in our favoriate client. Remember that each client needs it own copy of the downloaded files so they don't damage the other pieces)

6. in Azureus under tools>options>connection set the TCP and UDP ports to the same port that utorrent uses but dont save it yet.

7./What we do now is swap switch client is active. Quit utorrent by File>Exit. In Azureus save the port numbers and start the torrent. (you might have to wait a few between quiting utorrent and saving the ports for utorrent to free them)

8./ wait for a few minites to allow Azureus to spread the new injected peers into the Azureus DHT & peer exchange network.

9./ File>exit Azureus and start utorrent. This should result in incomeing Azureus clients for utorrent.

This is a per torrent method. If you yave more than one .torrent you whan to use it on then you need to add peers for those torrents to the peer injector list, and start them when your start the first in Azureus.

This is only a stop gap measure untill a programmer writes a real bridge. Possiblely a mainline DHT plugin for Azureus or adds Azureus DHT support to a mainline client or even a "fake" tracker that is connected to both DHT networks that can act as a peer exchange point, when manually added to a torrents tracker list.

Link to comment
Share on other sites

Crap... Too much work just to bridge swarms, you don't need that peer injector and copying entire peerlist.

What I do is:

Start torrent in µT, copy its infohash.

Run Azureus, Open torrent > Add URL > paste infohash (with no prefixes or suffixes, just plain infohash).

Az finds the torrent (if it doesn't you can try adding torrent from .torrent file but the fact that az dht doesn't have the torrent means there are very few or no peers at all).

You add localhost:AzPort to µTorrent, connect both clients and then µT PEXes azureus peers (you and later others) while Az PEXes µTorrent peers (you and later others)

Swarms bridged, everyone happy.

Less work than your way :P

Link to comment
Share on other sites

The essence of Stone's method seems to be the same as my selfish method. I am running a test now to see if PEX works between µtorrent and Azureus realy works. According to the FAQ ( http://utorrent.com/faq.php#Does_.C2.B5Torrent_support_DHT_or_Peer_Exchange.3F ) and the Flags coloum under the peers tab, it only PEXs between itself and bitcomet.

If Stone is right Azureus peers will be able to find me by PEXing other µtorrent peers they are connected to after I resumed the torrent on a different port number.

After 30 mins only µTorrent and bitcomet peers.

Stone probably right in there is a simpler way to achive a full merge (where many mainline DHT peers are connected to many Azureus DHT peers).

test update:(2:45am) no Azureus peers after 3 hours. Going to bed, will update when I get up.

test update 2:(11:05 am) Still no Azureus peers after 11 hours.

Link to comment
Share on other sites

Stone, please clear some things up for me.

1. You leave 2 clients running for the remaining life of the torrent. (My way:Just a few (20-30) mins after injecting peers to allow time for them to be PEXed around)

2. You have more than 1 Azureus peers (yours) connected to µtorrent and more than 1 (yours) mainline DHT peers connected to Azureus. (My way: I had 5 Azureus peers connected to µTorrent at one point.)

3. Both µTorrent and Azureus have their own copy of ALL the files from the torrent you want. (My way: µtorrent has the full torrent (7.5GB) and Azureus has a tiny 0.03kb text file. The smallest file the torrent has: just enought to have an active torrent while Azureus PEXs the injected peers around.

Link to comment
Share on other sites

1. I have two clients running until i see few Azureus peers connected to µTorrent (it's not more than 5minutes, I think 1-2minutes is enough. Sometimes I add ip:port of Az peers to µTorrent peerlist myself to make it a bit faster.

2. Yeah, when Azureus peers get my IP:port they start connecting me and i have more than 1 azureus peer connected.

3. No, if it's multifile torrent, while µTorrent downloads all files I only start downloading one smallest (or few sometimes) file(s) in Azureus (due to lack of space; lazy me to clean my HDD...). So it's same as your way.

The only real difference of your way is that you also copy IP:port of BC peers and give their IP:port to Az peers, and doing it my way it doesn't happen.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...