Imagine one has a 1TB torrent corresponding to hundreds or thousands of files. It's seeded, but not seeded well. However, the content is available in assorted places.
One has a few choices.
- download it slowly from seeds
- try to download as much as one can (perhaps at various speeds) put it all together, and then force rescan
- download the individual pieces and copy it it into place as they download and force recheck each time (this is very expensive for very large torrents)
- leverage web seeds (i.e. download locally, and setup a local http server to enable clients to download the pieces from it). This actually works, but is slow as it iterates through every single file of the torrent each time (which might be missing and would be wasteful once downloaded, as stored twice).
I want to propose a functionality that allows one to point at a single file on the local file system and do the same thing a what I'm accomplishing with web seeds, but have it targeted at a single file so that one doesn't have to iterate through every single file in the torrent on the web server.
Another possibility would be to have a directory that one can monitor for updates to its tree and treat it like a parallel client, i.e. I can drop files into it, and libtorrent based clients can know to pick up pieces from it if available. since it's local, no slow web based iteration would be needed, it would simply see the file exists, pass the available pieces in them to the web seed ingestion path and it just work without having to rescan the entire super large torrent.
Imagine one has a 1TB torrent corresponding to hundreds or thousands of files. It's seeded, but not seeded well. However, the content is available in assorted places.
One has a few choices.
I want to propose a functionality that allows one to point at a single file on the local file system and do the same thing a what I'm accomplishing with web seeds, but have it targeted at a single file so that one doesn't have to iterate through every single file in the torrent on the web server.
Another possibility would be to have a directory that one can monitor for updates to its tree and treat it like a parallel client, i.e. I can drop files into it, and libtorrent based clients can know to pick up pieces from it if available. since it's local, no slow web based iteration would be needed, it would simply see the file exists, pass the available pieces in them to the web seed ingestion path and it just work without having to rescan the entire super large torrent.