Sharing Files With BitTorrent

Everybody loves BitTorrent. And rightfully so.


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2009/06/sharing-files-with-bittorrent.html

Jeff,

I hope you didn’t use utorrent to be the tracker for SO. If that’s what you’re running, it will allow anyone to use you as their tracker for their torrents (unless you did something special), which may include illegal distribution of files. I don’t think that’s something you want your business to be associated with.

I wrote a c# IIS-based tracker that you’re welcome to take, modify as you’d like and use. It is very simple and only allows whitelisted torrents to be hosted. Warning It’s only at the “proof of concept” stage, but works well enough and is dirt simple to configure and use. It basically doesn’t do anything but act as a tracker at your announce URL, (no stats page, no listing of available torrents, etc) which is exactly what I needed.

If you’re curious, feel free to contact me–you can get my email address from my SO account.

In your case: you need to host the files to distribute anyway. Why don’t you just opentracker on the same server? It’s gonna eat about 0% cpu.

http://erdgeist.org/arts/software/opentracker/

Hey Now Jeff,

Everyone loves bit torrent.

Coding Horror,
Catto

BitTorrent (original python client) works fine, but it was designed by a hacker for other hackers. It would have just been an interesting footnote, if it wasn’t for all the other software authors out there writing usable software that is actually documented. Even the original command line interface is cryptic and doesn’t follow standard conventions. It looks like it was designed by some freshman college student who’s been using Unix for about 6 months.

If it had done properly in the first place, I believe it would be one of the primary file sharing methods today, surpassing HTTP,FTP,e-mail attachments. But really, the interface and documentation are still in a poor state.

The other problem, is that its still thought of a protocol for sharing only illegal material. I think this has to do with the fact that only seriously users are willing to put the time into getting it to work.

I predict in the next 5 years or so we’ll see a 2nd-gen bittorrent protocol that will be 100X more popular, only because all the parts that make bittorrent a pain to use are removed from sight.

@offler

Your comment proves my point exactly.

  1. Create .torrent file with client.
  2. Upload to public tracker.
  3. Download .torrent and tell it to download to the folder where you have the data.
  4. (Optional) Give people a link to the .torrent.
  5. ???
  6. Profit!

Seriously, most people who distribute files over Bittorrent don’t run their own trackers (myself included). This reads like a guide to creating basic PHP websites from someone who hasn’t heard of webhosts.

Oh, and uTorrent does offer super-seeding; it’s just called initial seeding, instead. Of course, if you’re running this off of a server, then you will probably do better with rtorrent, my personal choice, which also supports super-seeding and takes an incredibly low amount of resources.

Xiong, sorry, but saying rtorrent takes low resources is ridiculous.

My experience on an old PC:

X-less Linux (tried RedHat and Debian) with rtorrent (spent weeks trying different configs, asked dozens of people, etc), text mode only, nothing running but rtorrent, 300kb/s and I was at 100% CPU, not even telnet would work anymore.

Windows XP with uTorrent, 30 seconds of config, and I run a smooth 900kb/s at 20% CPU.

@Jeff S: An even simpler site to check your IP address is http://www.whatismyip.org/

I can’t vouch for its reliability, though it has been around for a while now :slight_smile:

This certainly seems to be taking a fairly hard route to getting your content on a tracker.

I don’t think using an existing public tracker, of which there are many of varying reputation, should be ruled out so easily. After all, is putting your content on a tracker nearby to other material any more questionable by association than putting it on the dirty, filthy internet?

Just because most trackers track (not host) both legit and “less-than-legit” content doesn’t make them evil. To assert so is subscribing to a very similar notion to the one that is threatening net-neutrality.

uTorrent was the wrong choice. they don’t expect their users to supserseed torrents.

if you want to do that use a full client like azureus.

Not on MS Windows? (I’m not.)

http://ashughes.com/?q=node/85
http://www.howtoforge.com/setting-up-the-bti-tracker-bittorrent-tracker-on-fedora-centos-redhat
http://www.howtoforge.com/setting-up-a-php-mysql-powered-bittorrent-tracker-with-rivettracker
http://apcmag.com/create_your_own_torrent_tracker_in_a_few_clicks_with_snakebite.htm

Note, I’ve never used any of these, and have just included them for completeness.

you need to know your external ip + port-forwarding must work. granted.

other than that it’s really easy with a fully featured client:

http://www.azureuswiki.com/index.php/Host_and_share_your_torrents#How_To_Host_A_Torrent_With_Azureus.27_Embedded_Tracker

Yup, µTorrent is awesome, but the heavier Vuze would be the way too go for that purpose.

You could also use Amazon’s S3 to get started quickly. Just upload a file to a bucket, and then add ?torrent to the end of the publicly-available file.

http://docs.amazonwebservices.com/AmazonS3/2006-03-01/index.html?S3Torrent.html

You could use this approach http://ayende.com/Blog/archive/2008/04/08/Hibernating-Torrent-A-simple-torrent-server-for-Windows.aspx

I’ve been running my own tracker on my webserver for the last few years with PHPBTTracker, which was incredibly easy to set up. But you need a dedicated server (no shared hosting), so this isn’t for everyone.

ive had bad experiences with azureus. after leaving it on for more than 12 hours, all IP ports were used up, and I crashed on a regular basis. The problem has not happened since I started using uTorrent.
Also, with Azureus, when I went to the latest version (Vuze i think?) then it was no longer just a torrent client, but it started pushing media on me I didn’t want with that horrid first screen, and I had to figure out how to actually get to my torrent screen.
Plus its written in Java, and we all know Java desktop apps are eeeevil.

Heh, it always amazes me when I see things like “yea you have to have port forwarding setup.” Dude, if I wanted to expose my computer to the outside world; I should’ve not bought a router and just stuck my Windows XP SP1 box on the outside world with the Windows firewall on. Come on man, is free music/movies/games/etc… worth the headache of some dude hacking your ass? I guess so, have fun with that one.

Don’t forget about DHT aka tracker-less torrents.

Yay for teh magnet links.