I've been working on the serverside side of this and have come to the
point where there's probably only a few weeks left before I have
something useful to commit to the repository (by the way, it's SVN now
isn't it?).
Once the serverside code is done I'll leave the remaining (clientside)
stuff as an exercise for the reader.
Seeing the servers from the client's point-of-view I'm writing two URLs
allowing clients to query the Bittorrent system:
1) A .torrent-cache/generator located at $PROJECT_URL/torrent_generator.php - a client can query a particular
file to see if a .torrent exists (and if so download it) for a particular file using for instance an URL like (no, nothing there yet):
http://burp.boinc.dk/torrent_generator. ... ation.data
2) A centralized tracker system located at $PROJECT_URL/torrent_tracker.php - a Bittorrent enabled client can make
use of this tracker to enable P2P downloads of certain project files in
addition to usual HTTP downloads.
For security reasons the centralized tracker does NOT address "(3)
should detect and exploit network topology (e.g. LANs)". This should be
done clientside (for instance using a broadcast<>discover scenario or an
ability to configure "local friend hosts/mirrors" or something that will
then automatically be injected when starting any P2P enabled download...).
-- Janus