RTorrent: Complete guide to download torrents in a light and powerful way

Introduction

RTorrent is a console-based BitTorrent customer who stands out for its low resource consumption and great flexibility. Ideal for headless servers, virtual machines or users who prefer to work from the terminal, RTorrent combines power and simplicity in a single binary.

What is RTorrent?

Originally developed by Mikael Lind, RTorrent uses the libtorrent bookstore to manage the downloads. Unlike graphic customers such as qBittorrent or Transmission, RTorrent is controlled by a set of keyboard commands and a configuration file calledrtorrent.rc. This makes it extremely light, as it does not need a desktop environment or heavy libraries.

Main advantages

  • Minimum consumption of RAM and CPU.
  • Escalability: can handle hundreds of simultaneous torrents.
  • Highly configurable by scripts and shortcuts.
  • Compatible with multiple platforms: Linux, macOS, *BSD and Windows (via WSL or Cygwin).
  • Easy integration with web interfaces like ruTorrent using the SCGI protocol.

Installation

At Ubuntu / Debian

Update the package index and run:

sudo apt update
sudo apt install rtorrent

In CentOS / RHEL

Use the EPEL repository:

sudo yum install epel-release
sudo yum install rtorrent

In macOS with Homebrew

If you have Homebrew installed:

brew install rtorrent

Basic configuration

The configuration file is found in~/.rtorrent.rc. Copy the example provided and publish it according to your needs:

# Dirección de descarga y sesiones
schedule = watch_directory,5,5,load.start=./watch/*.torrent
schedule = untied_directory,5,5,stop_untied=.

# Puerto y protocolo SCGI (para ruTorrent)
scgi_port = localhost:5000

# Límites de velocidad (en KiB/s)
download_rate = 0
upload_rate = 0

# Máximo número de peers
peers.min = 50
peers.max = 200

Save the file and relaunch RTorrent to read the changes.

Essential commands in the interface

Once inside RTorrent, you can use these keys:

  • Enter: Add a torrent (a prompt is opened to write the URL or path of the .torrent file).
  • Ctrl + d: Remove the selected torrent.
  • Ctrl + k: Stop the active torrent.
  • Ctrl + s: Start the torrent in detention.
  • Ctrl + q: Exit the application (ask if you want to save the session).
  • Ctrl + p: Show detailed information on the selected torrent.

Advanced use

Watch directories

You can create a folderwatchin your home and place any .torrent file there; RTorrent will automatically load it thanks to the lineschedule = watch_directory,5,5,load.start=./watch/*.torrent.

Persistent meetings

RTorrent saves the status of the downloads in the folder~/.session. This allows you to close the program and go back to exactly where you left off.

Web interface with ruTorrent

If you prefer a GUI, install a web server (nginx or Apache) and the ruTorrent package. Configure the SCGI by pointing to the port defined inrtorrent.rc(by default 5000). Then accesshttp://tu-servidor/rutorrentto manage your torrents from the browser.

Common problem solution

  • Error when linking the SCGI port:Make sure no other process is using port 5000 and the linescgi_port = localhost:5000No extra spaces.
  • Discharges held for no reason:Check the speed limits in the configuration file; a value of 0 means unlimited, but some users mistakenly put a low number.
  • Permissions in the download folder:RTorrent needs writing permissions in the folder where you save the files; usechmod -R u+rw ~/downloadsif necessary.

Conclusion

RTorrent remains one of the most efficient and flexible options for managing BitTorrent downloads in environments where resources are limited or the command line is preferred. With its simple configuration, its integration capacity with web tools and its low consumption, it is ideal for both production servers and advanced users who want to control every aspect of your torrent client. Try RTorrent and find out why he's still a favorite after so many years!

This work is under aCreative Commons License Attribution 4.0 International for Francesc Roig francesc @ vivaldi.net.

EnglishenEnglishEnglish