How to Install / Setup rtorrent and rutorrent in CentOS / Ubuntu

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.

Installing rTorrent

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:

$ rtorrent

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 =

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:

# netstat –tapn | grep netstatnetstat rtorrent

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
$ wget
$ 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

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:


Adding plugins

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.

Adrian Dinu 11:53 am


Your email address will not be published. Required fields are marked *

All comments are subject to moderation.


  1. Not to be a bummer or anything, but why not just use deluge deamon and the deluge-web companion? the deluge-gtk web interface can easily connect to a remote seed box on your network or elsewhere, so why all the effort?

    Isn't rtorrent really old too? Like, as old as ctorrent and the original python client I remember from the late nineteen-nineties? Just an observation.

    How hard is it to just apt-get install deluge?

    1. rTorrent is the "de-facto" client used by seedboxes. It does get update's regularly. Deluge is somewhat of a newcomer and doesn't have as many plugins for the web client.

  2. Doesn't this require apache or some other web server to get running? I have a linux server that doesn't even have a gui, monitor, or keyboard so I need to be able to access it remotely. This will not do the trick will it?

    1. The rtorrent client does not require a gui, you can connect remotely via ssh and access it. The default interface is in text mode so no need for a gui.

      rutorrent is a web interface that helps you to access the rtorrent client, it does require apache or any other http server like nginx or lighttpd. This again does not require any GUI on the actual server, you run the http service on the server and access the rutorrent web interface with a web browser from your local computer.

      Let me know if I can help you with more information.

  3. I use this type setup and it works great. I've tried the deluge setup and it's just not as good. The one thing I'm missing from rtorrent/rutorrent is the ability to have it watch the RSS feed and automatically load any new torrents that are added to the RSS feed. The application should be able to watch the RSS feed, upon a new torrent being added, download the torrent file, add the torrent file and start downloading. If it could do this automatically for me then I would love it. Sickbeard/SickRage sort of do this but they are set up mostly for TV shows. I want it to automatically download movies, for example, from Yify, every time they upload one. Of course, I should be able to specify whether I want it to grab the 1080p, 720p, or 3D versions. Anyone know of a way to do this??

  4. Hello dtigue,

    This software provides that exact functionality, if you follow the tutorial and copy the rss plugin as described in the last part it will add the exact functionality that you wish. I have about 10 feeds and 50 rules to download automatically different torrents.

    You will just have to run the last command in the tutorial:
    $ cp -r plugins/rss rutorrent/plugins/

    For more information about this particular addon you can check

  5. Thanks for the easy to follow excellent tutorial. I do have a few questions for you though (from a relatively novice linux user). When i installed linux (ubuntu) say i created user John. I took your advice and didn't use this account and created a new account (lets call it tor). 1st generally i never want to log in as tor. Does "screen" start the program during boot or during login? I"m hoping i don't have to login as tor to start it. If it only works during login is there a way for me to login as John but get "screen" to launch rtorrent as tor rather than John?


    1. Launch this command in the torrent user session in order to automatically launch rtorrent after a reboot: "crontab -l | { cat; echo '@reboot screen –fa –d –m rtorrent'; } | crontab -".

      I'm not 100% sure of the command but it should be approximately this ;)

  6. I am following your instructions step by step (using the Elementary distro that is based on Ubuntu) got to applying the port number, no luck, therefore cannot continue.

  7. I'm trying to install and configure rTorrent on CentOS via SSH. I want to use the terminal based client. Do you have any specific tutorial for configuring that? Thanks in advance!

  8. Here I got stuck:

    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 = It should look like this: Picture

    I don't understand where to create .rtorrentrc and why it lokk like this:
    root@seedbox:/var/www/crm# cat /home/ME/serv/.rtorrent.rc
    scqi_port =

  9. I think you have a minor typographical error in your instructions regarding netstat.

    Your example says, "netstat –tapn | grep netstat" but I believe that you meant to say, "netstat –tapn | grep rtorrent".