rtorrent – The Options

A little over a week and a half ago, I wrote an introduction to rtorrent that covered the basic functionality of rtorrent. This tutorial should have made it easier for those of you out there to use my favorite torrent client.

Because I love rtorrent so much, I thought I’d share a simple way to configure this awesome tool. I’ll also take the time to share a few of the command line options I use from time to time and why I value them as well.

Take a minute to look through the rtorrent man page. Along with some of the interactive keystrokes and functions pointed out in the previous post, you’ll find that there are many options that can actually be passed directly on the command line. Many times its much easier to use a configuration file; in this case, its called .rtorrent.rc and it should be found in your home directory.

In this tutorial, I’ll cover the options one by one that are regularly used. Then, I’ll cover some simply cool advanced configurations that will help you manage your torrent downloads.

As you might recall, I run rtorrent within screen. This affords me the ability to access it at will and pretty much run it 24/7. Because of this, I have specific upload and download speed requirements. This is where rtorrent really shines!All of the options covered below must be set after the -o option. The next options I am going to cover are the ones that control the speed of both the upload and the download. These should be pretty self-explanatory:upload_rate=50 — Set the maximum upload rate at 50Kb/s. All active torrents will be cumulatively constrained to this limit.
download_rate=250 — Set the maximum upload rate at 250Kb/s. All active torrents will be cumulatively constrained to this limit.What does this mean for you? Well, if you have 10 torrents uploading to other peers and 5 torrents downloading, the maximum for upload will be 50Kb/s overall and 250Kb/s overall for those downloads. Executing these two options on the command line is easy:$ rtorrent -o upload_rate=50,download_rate=250rtorrent begins and at the bottom, you should see something similar to this:

[Throttle 50/250 KB] [Rate 49.9/ 31.4 KB] [Port: 19814]

Now, this is nice, throttling downloads and uploads overall, but there’s more.

How about setting the directory where all of the downloads will be stored? What about setting port ranges to use? And what about verifying the hash is valid of a partially downloaded file? These are all great things to have, so lets set them in our next rtorrent call:

$ rtorrent -o directory=/data/torrents/current,upload_rate=50,download_rate=250,check_hash=yes,port_range=19340-19400

Now isn’t that great!? Try saving a couple of files with this and see what you get.



This entry was posted in Tech, Tools. Bookmark the permalink.

3 Responses to rtorrent – The Options

  1. Dan Burt says:

    i have started using rtorrent, and also use it within a screen session.

    i have 2 questions:
    1. how can i resume a paused download? pressing “Ctrl-S” hangs the session! will i need one of these bindkeys thingys?

    2. my isp restricts how much i can download during the evenings, so i control rtorrent/screen with crontab. currently, i send through this sigterm command to stop it:
    0 16 * * * screen -r -X quit

    but i would prefer to use the actual “Ctrl-A” then “q” key presses. how can i script this through cron?

    many thanks,


  2. Avi Alkalay says:

    You should put all these parameters in the ~/.rtorrent.rc configuration file, so you don’t have to remember them everytime you start rtorrent.

    Some ISPs limit bittorrent traffic so you can have limited speeds. To avoid that you should encript your rtorrent transfer pipes. Tutorial at http://avi.alkalay.net/2007/11/encrypt-bittorrent.html

    By the way, EVERYBODY should encript bittorrent transfers, not only those with damaged ISPs. Thats because you (a good ISP user) may want to connect with somebody that has a bad ISP, so if you request an encripted channel your peer will reply with an encripted transfer and his ISP won’t be able to detect and limit the rate.

  3. Miguel says:


    Great tutorial, trying to dig a little, I’m trying to move finished torrents to another folder, but not listen to me:

    system.method.set_key = event.download.finished,move_complete,”execute=mv,-u,$d.get_base_path=,~/Descargas/Descargados/ ;d.set_directory=~/Descargas/Descargados/”

    which may be the problem?


Leave a Reply

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