w00t-labs / libtorrent

Automatically exported from code.google.com/p/libtorrent
Other
0 stars 0 forks source link

Implementing BEP 39 (Updatable torrents) #646

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I've been thinking for a while about 
http://www.bittorrent.org/beps/bep_0039.html and have decided it'd be 
worthwhile implementing, so I think I'm going to go ahead and build it. I've 
been reading through the documentation and if I'm not mistaken, the best way to 
do it is as a plugin that for each torrent

- parses that torrent's update-url
- periodically checks that address for an updated torrent and if one is found
- downloads the new torrent, and replaces the old one
- importantly, the new torrent is set to the same disk location as the old one
- the new torrent is rechecked and resumed

As far as I can tell, that should be sufficient for a basic prototype. Other 
features that could be added at some later date might include the ability to 
move/rename files in the torrent without requiring redownloading, deleting old 
files not present in the updated torrent, signing to ensure same authorship for 
new torrent, preservation of priorities between torrent versions, and an 
ability for the update to come from within the swarm itself (no web server 
required).

I'd greatly appreciate any pointers on how this would best be implemented in 
libtorrent on a broad structural basis.

Original issue reported on code.google.com by r...@cock.li on 13 Jul 2014 at 6:44