Bittorrent HTTP/web seeding
After reading about Battle Torrent, an attempt to make torrents trivial to use and create, I wondered about the possibility of creating torrents without running a BT client (seeder) in addition to the tracker.
One case where that would be useful is when your hosting solution doesn't support running arbitrary code. Also, in terms of setup, since a webserver is already needed to run the tracker, why not use it as the seeder as well?
It turned out that this is already available, although it's not supported by all clients.
Here's the web seeding spec (unofficial), as implemented in BitTornado.
DeHackEd's PHP script is also available from the BitTornado website. Here's some explanations on how to set it up (requires MySQL).
More bittorrent pointers and thoughts
Embedded web server
The reverse approach (embedding the tracker in the BT client) was also implemented, for example in Azureus (which also has a plugin architecture).
Like I mentioned in a previous post, there is a desktop BT client that can be controlled via a web interface (ABC client with PHP-4-ABC web interface).
There is also an complete client implemented in PHP, TorrentFlux (requires MySQL). I'm not sure how it works.
Other integrations ideas
Miguel mentioned the idea of a Bittorrent library in .Net.
And no, I don't want to hear any complaints about the browser (or specifically Mozilla/Firefox) becoming the new desktop ;-)
The two ideas (.Net and Mozilla) could be combined by allowing XPCOM components to be written in .Net languages, the same way that PyXPCOM allows Python components ;-)
Update (2005/09/27): The bittorrent implementation for Firefox, part of the Summer of Code, is making progress (currently alpha): FirePuddle.