Ideas on how to seed files across multiple trackers?

32 views
Skip to first unread message

Shanti

unread,
Dec 12, 2007, 6:41:53 PM12/12/07
to The Hydra Project
Hello all,

One thorny issue I'm having while testing initial versions of the app
is the ability to seed a .torrent to multiple trackers.

Currently only the main tracker URL is provided when uploading, for
the user to enter in their client when creating the initial .torrent
file.

Do many torrent clients even support adding multiple tracker URLs when
creating torrents? ( I didn't see the option in uTorrent)

Seeding works fine on the main tracker (that the user has uploaded
to).

But how does the 2nd, 3rd, and so on trackers get the initial seeders?

Any thoughts are welcome!

- Shanti

p.s. sorry documentation is a bit lacking at the moment, as to how to
get the app up and running.

Bryan

unread,
Dec 13, 2007, 3:18:30 PM12/13/07
to The Hydra Project
The way I understand it is that the client will randomize the order of
the announce-list, then call each one sequentially until it receives a
response.

So 'announce1, announce2, announce3' would be shuffled around to
something like 'announce2, announce1, announce3'. Then the client will
call the first one in the list (announce2) and if it gets a response
it will keep using that announce url until it stops replying so it
would then move on to the second url in the list (announce1).

I could be wrong though.

Heres the spec: http://home.elp.rr.com/tur/multitracker-spec.txt

Shanti

unread,
Dec 17, 2007, 6:24:42 PM12/17/07
to The Hydra Project
Bryan,

I think you are right. This wiki page goes into more depth on the
topic:
http://wiki.depthstrike.com/index.php/P2P:Protocol:Specifications:Multitracker

I have not played with many clients yet -- mainly uTorrent on the PC
and Transmission on OS X.

My biggest target is uTorrent (and hopefully Azureus as well).

I just added optional authenticated RSS support today. This would
allow a user to have an automated RSS Downloader to grab
every .torrent, download it, and then seed it across all of the
trackers in the network.

Here is the current workflow for a two-tracker setup.

* User 'magneto' uploads 'Foo.torrent' to Tracker A
* A few minutes later, Tracker B sends a sync request to Tracker A and
pulls down 'Foo.torrent'

* User 'wolverine' is running uTorrent's auto RSS Downloader on
Tracker A's Latest Torrents Feed
* On wolverine's next RSS pull, he begins downloading the contents of
'Foo.torrent' from the initial seeder (magneto)

* As soon as wolverine has completed the download, his uTorrent client
then notifies *all* trackers in the network that he has completed
the .torrent and is now a seeder.

* A third user, 'storm', can then download 'Foo.torrent' off of
Tracker B and begins downloading from 'wolverine'

* At the end of each day, transfer stats are synced between the
trackers so that a 'global' upload/download ratio can be maintained

I still need to do some more testing, but this is how I envision it
running.

The RSS part does not need to be automated, it just enhances the
workflow and dissemination of the .torrents across the trackers.

Of course, there is always a risk that the authentication key for the
RSS url will be compromised. There's other risks though as well (i.e.
an unwanted guest getting an invite to the tracker); overall I believe
enabling RSS to be a good idea, but it's still an optional field that
can be enabled on a per-tracker basis.

- Shanti
Reply all
Reply to author
Forward
0 new messages