BTManager is a client for the popular Bit Torrent P2P download system. It is based on BitTorrent's sources without any modification. It runs under Windows and Linux, and probably any platform supported by BT.
The UI is Web-based, with (currently discontinued) support for a GUI. The client/server architecture allows someone to launch downloads from any computer which can access the one on which BTManager runs. Some of its features are:
Unix users will have to download the tarballs for btmanager, pyconf and autoweb on the Sourceforge project page, as well as the various dependencies. These are:
notinstall this, but build it in place and use PYTHONPATH.
Installation of autoweb and pyconf follow the standard procedure; log in as root, unpack the tarball, cd to the top directory and type 'python ./setup.py install'. Alternatively, you can avoid the installation and just set your PYTHONPATH environment variable to point to the various directories. For instance, if you unpacked pyconf and autoweb under /home/foobar, you may type "export PYTHONPATH=/home/foobar/pyconf:/home/foobar/autoweb" under Bash.
Install the dependencies, make sure your PYTHONPATH is correct if some modules (e.g. BT) aren't in standard location, and launch BTManagerServer.py...
You should also associate .torrent files to BTAdd.py. Usually, editing /etc/mailcap should do the trick. The syntax for BTAdd.py is 'BTAdd.py [-f file]... [-u url]...'.
As for the configuration file, a sample is provided (conf/sample/BTManagerrc). Copy it to ~/.BTManagerrc and edit it. It should be commented enough.
Building from source under Windows is such a pain in the ass that I'll won't document it. If for some reason you feel masochistic enough for that, e-mail me.
Since version 1.3.0, a 'binary' distribution is provided For Un*x. It includes every dependency aside from Python itself. The only file which is really platform-dependent is the libxsltmod binary. "Supported" platforms include Linux (with glibc 2.3), and FreeBSD 4.8 (may work with other BSDs, though).
Download and unpack the tarball, then run 'install.sh'. This script depends on common tools like tar, sed and bash. It will prompt you for the installation prefix (default /usr/local) and your platform, and then install the files in <prefix>/lib/BTManager and two wrapper scripts ('BTAdd' and 'BTManagerServer') in <prefix>/bin.
Warning: As the script reminds you, you must copy the sample configuration file in your home directory, as '.BTManagerrc', or it won't work!
Standard Windows installation. Run the installer and follow the instructions... Some explanations, though: there is essentially two types of installation; full and 'remote'. Full installation will deploy the server and BTAdd, associate BTAdd with .torrent files so that clicking on a torrent link in your browser or opening it locally will add it to the queue on the local machine.
If you only install BTAdd, the installer will prompt you for the hostname or IP of another box, the password and port for the BTManager server that runs on that machine. Torrent files will be associated with BTAdd so that opening a torrent file/link will add it to the queue on the remote machine.
Once BTManager is launched, you can access the Web interface with your favorite Web browser by typing 'http://localhost:port/BTManager' in the URL field. In the previous URL, 'port' depends on your configuration. For instance, with the default configuration file it should be 'http://localhost:8047/BTManager'. A pop-up should appear, in which you have to type your password (default: 'MyPassword', case sensitive).
WARNING: if your computer is connected to Internet, you should either choose a good password or change the HTTP/bindaddr parameter to 'localhost' or anyone will have access to BTManager. This would be bad. See the documentation of the configuration file.
The appearance of the interface depends on the skin, but you'll always have at least one 'Apply' button and the combo-box to select the skin. The 'Apply' button commits any changes you've made.
This tab allows you to fine-tune what informations will be displayed in the download list. Each item can be shown or hidden. These values are transient and all will be reset to their defaults if you restart BTManager.
This is were the interesting stuff happens. This tab contains a list of your downloads. The 'Add' button is used to toggle the visibility of the 'Add torrent' widgets; this includes the torrent's URL as well as some startup parameters. A directory browser is included, which allows you to specify the final destination of the file (where it will be moved when you stop the download), relatively to the main 'complete' directory. You can also enter the name of the subdirectory directly; it will be created if necessary. 'Rescan torrent directory' is useful if you moved some .torrent files by hand in the torrents/ directory. 'Shutdown server' is the advised way to shutdown BTManager.
This tab allows you to configure two values; these are the maximum allowed number of uploads, and the same for downloads. For instance, if you launch 10 downloads at a time and the second value is only 3, 7 of them will be paused until room is done, typically by removing a running download by hand or via the automatic expiration mechanism. The 3 which will actually run are the ones with highest priority.
Already complete downloads are treated separately, in the same manner, except that the pertinent parameters are the max. # of uploads and the 'Upload priority'.
This lists all kinds of errors that could happen. Clicking on one of them will eradicate it, and clicking on 'Remove all errors' will, well, remove all of them.
The expiration mechanism allows you to determine, via a simple formula, the conditions under which a download will be automatically stopped. Just enter the formula in the 'Expiration formula' field (hidden by default) and apply.
This formula has a very simple syntax. It allows for numbers, common arithmetic operations, comparisons and identifiers. Supported operations are +, -, *, / (this is an integer division). Arithmetic operations can be parenthesized to modify priority, but comparisons and boolean operations are evaluated left to right. Supported comparisons are <, <=, > and >=. Supported boolean operations are 'and' and 'or'.
There are some keywords that have a special meaning in the context of a formula. These are:
Some examples:
uploaded >= 2 * size_mb and uptime >= 4
will automatically stop the download once you have uploaded at least 2 times the size of the file *and* kept it running for 24 hours.
In any case, no download will be automatically stopped unless it's complete and you have uploaded at least the size of the file and it's running since at least 6 hours.
The configuration files consists of scoped sections delimited by the lines '[+section_name]' and '[-section_name]'. Lines starting with a # are ignored. In each section, options are set with a line that looks like 'key=value'. Here are the descriptions of these options.