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
Original issue reported on code.google.com by
r...@cock.li
on 13 Jul 2014 at 6:44