Some distributors like Humble Bundle do on fact do this; the "permanent seeders" are called "web seeds", which are implemented by just having a standard HTTP server implementing the RANGE request. This let's a client fetch arbitrary chunks of a file, so a BitTorrent client can fetch ranges corresponding to torrent chunks.
Could you elaborate on this? I'm not familiar with Bittorrent's protocol. Can a regular HTTP server (say, nginx) be used as a web seed without any software in front of it translating the Bitorrent protocol requests into a regular HTTP request?
The trick is that the client has been modified to read the URLs in the .torrent file and to construct the appropriate range requests for getting pieces from the web seed.
Comments
Some distributors like Humble Bundle do on fact do this; the "permanent seeders" are called "web seeds", which are implemented by just having a standard HTTP server implementing the RANGE request. This let's a client fetch arbitrary chunks of a file, so a BitTorrent client can fetch ranges corresponding to torrent chunks.
Could you elaborate on this? I'm not familiar with Bittorrent's protocol. Can a regular HTTP server (say, nginx) be used as a web seed without any software in front of it translating the Bitorrent protocol requests into a regular HTTP request?
The trick is that the client has been modified to read the URLs in the .torrent file and to construct the appropriate range requests for getting pieces from the web seed.
In torrent clients that support it, you can simply add a webseed to an existing torrent. Works great for linux dists.
The torrent is making regular HTTP requests using the range header to the server. Its a feature most BitTorrent clients support.
Sure, you don't have to own the server either. http://burnbit.com/ is good for turning things into resumeable downloads