Setting up a torrent tracker and seeder

I'm one of the leaders of revora.net, a creative gaming network that freely hosts lots of game (modding) projects. Lately, bandwidth has been an issue somewhat. To alleviate this we want to give our users the option to share their huge files with BitTorrent.

What we'd like to do is that people can upload their files via the FTP account they already have. They can then go to a custom web"site" where they can enable those files to be shared via BitTorrent.

We'd like our server to be the tracker (unless using another one is easier) and also act as a permanent seeder (so there's always at least one). We need to be able to control both (tracker and seeder-client) from PHP and other scripts.

What's the best way to set this up?


Solution 1:

rtorrent is:

  • able to watch directories (so, for example, if you want to seed a.torrent, you put a.torrent in a specific directory and rtorrent automatically adds it, if you remove it, rtorrent removes it too)
  • can be controlled and monitored with XMLRPC from scripts, PHP, etc.

Solution 2:

Also answered similar question@"Is it possible to use bittorrent for a fileserver"

Bittorent tracker is pretty easy to setup, I know couple of PHP-based, but they are mostly in Russian (TorrentPier - phpbb2 interface, TBDev). You also can also look at XBTT - written in C++ - it can manage millions of peers on single box, but web interface for it is kinda hard to find.

I've found this project xbtit they offer it for free under BSD license. You can try demo here.

You also can use OpenBittorrent service to register any torrent.

PS. For seeding: rtorrent + webgui could be the best solution.

Solution 3:

second on rtorrent. I loved it when I used it. there's a ton of web interfaces as well.

deluged+webui might be another option, although it's a bit less flexible on the web interfaces.

for the tracker, it looks like opentracker may be the best solution. I havent read much about torrent trackers, but I get the impression the software choices are fairly limited and generally not in repositories.