wiki:net.sf.basedb.torrent

Bittorent download service

The idea is to create a extension package for BASE that provides a service for loading files into BASE using the Bittorrent protocol. The extension installs itself as a service extension to the web application. Users may then upload a '.torrent' file to the service, which will take care of downloading the files and importing them to the BASE file system. The use case is to support uploading of huge files to BASE. Using the regular http or ftp upload is sensitive to network speed and temporary connection problems, etc. The bittorrent protocol can resume file upload after a computer or network failure and it has built-in verification that data has not been corrupted during the transfer.

The typical use case is something like this:

  • A user has one or more large files that needs to be uploaded to BASE.
  • Using a bittorrent application the user creates a '.torrent' file.
  • The same bittorrent program is used to seed the files and it should also have a built-in tracker.
  • The user uploads the '.torrent' file to BASE.
  • The bittorrent download service now starts transferring the files to a temporary location on the BASE server.
  • When all files have been transferred they are loaded into the BASE file system and can be used in BASE.

We are planning to use the HPBTC bittorrent library on the server side. On the client side the user must use a bittorent application that is capable of creating torrent files and has built-in tracker. One such application is Vuze. If the user is behind a firewall it must be opened up to allow incoming requests on the port the client bittorrent application is listening on. This is usually documented in the client application's documentation.

We are not supporting tracker-less torrents which means that torrents downloaded from sites like The Pirate Bay will not work.

License

GNU General Public License version 2.

Changes made to the HPBTC source

We are basing our code on revision 514 of the HPBTC source files, which can be retrieved from the Subversion repository on SourceForge:

svn co -r 514 https://hpbtc.svn.sourceforge.net/svnroot/hpbtc hpbtc

To see a list of changes we have made to the HPBTC sources follow this link: log:extensions/net.sf.basedb.torrent/trunk/src/external/hpbtc@1249:head

Click on the 'View changes' button to display a diff with all the changes. At the bottom of the page, the changes can be downloaded as patch in unified diff format.

Download

NOTE! This software has not yet been released. Source code can be downloaded from the subversion repository. The latest development (maybe unstable; do not use on a production server) revision can be checked out from the repository using the following command:

svn co https://baseplugins.thep.lu.se/svn/extensions/net.sf.basedb.torrent/trunk torrent-devel

Last modified 4 years ago Last modified on Jun 9, 2021, 7:26:10 PM
Note: See TracWiki for help on using the wiki.