rTorrent is an open source Bit Torrent client written in C++ for UNIX-like and Linux operating systems. It has a text-based ncurses user interface and it’s based on libTorrent library that is focused on high performance and good code. rTorrent can be controlled via XML-RPC over SCGI, this gives it the ability to be controlled from web interfaces that can highly enhance the experience.
Because it is a very popular application, rTorrent is available in the repositories of most Linux distributions, so you can use the package manager to install it along with the needed libraries.
For Debian / Ubuntu you can just use:
$ sudo apt-get install rtorrent
And for CentOS / Fedora you can use
$ sudo yum install rtorrent
rTorrent can be used stand-alone and it’s a full feature torrent client that can run directly from the command line. You can run it by simply typing the following command in the console:
And it will start the command line interface.
Installing rutorrent web interface
Generally you will wish to run rtorrent on a seed box or on your personal home server, for this it will be a lot easy to manage your torrent via a web interface. Rutorrent is a handy project, it reproduces the looks of the popular Windows Bit Torrent client uTorrent, has an extensive set of add-ons that can you can use the further add features to the base client, it’s very stable and lightweight because of its modular design, letting you pick only those features that you really need.
First you will have to configure rtorrent to accept connections for remote control. To do this, first pick a user that you want to run rtorrent with (it is not a good idea to run it as root) and create the file ~/.rtorrentrc where you need to add the following line:
scgi_port = 127.0.0.1:5000
It should look like this:
Next we need to make rtorrent act as a server somehow that is always running, the best way to do this is using an utility called screen that will run applications in the background for you. To install it use one of the following commands depending on your Linux distribution:
For Debian / Ubuntu:
$ sudo apt-get install screen
And for CentOS / Fedora use:
$ sudo yum install screen
And run it with the following command:
$ screen –fa –d –m rtorrent
And check with netstat if it’s running on port 5000 as it should:
Now you can download the web interface from GitHub using wget and put it in a public folder of your web server.
$ cd /var/www/
$ wget http://dl.bintray.com/novik65/generic/rutorrent-3.6.tar.gz
$ wget http://dl.bintray.com/novik65/generic/plugins-3.6.tar.gz
$ tar zxvf rutorrent-3.6.tar.gz
$ tar zxvf plugins-3.6.tar.gz
Now you can access the rutorrent interface using your web server, if you created a folder named rutorrent in your public html folder like we did you should now be able to access your rtorrent client remotely using your web browser and the address http://IP_ADDRESS/rutorrent. It should look like this:
Adding torrents it's easy, you just need to click the top left button a pop-up will show that will let you add the URL of the torrent file or allow you to upload it from your computer:
You can check out the rutorrent wiki website for a list of modules and what they each do. If you follow our instructions you can now just copy modules from the plugins directory to your /var/www/rutorrent/plugins directory. The modules generally don't require any configuration and to activate them all you have to do is refresh the webpage. For example to add RSS functionality (a feature that let's you download RSS fields from torrent websites so you can access them directly from your client) you can do this:
$ cp -r plugins/rss rutorrent/plugins/
You can now use the 2 applications to easily manage your torrent connection and keep the content shared on your seed box or your personal home server.