RTorrent: Complete guide to downloading torrents in a lightweight and powerful way

Introduction

RTorrent is a console‑based BitTorrent client known for its low resource usage and great flexibility. Ideal for headless servers, virtual machines, or users who prefer working from the terminal, RTorrent combines power and simplicity in a single binary.

What is RTorrent?

Originally developed by Mikael Lind, RTorrent uses the libtorrent library to manage downloads. Unlike graphical clients such as qBittorrent or Transmission, RTorrent is controlled via a set of keyboard commands and a configuration file called rtorrent.rc. This makes it extremely lightweight, as it does not require a desktop environment or heavy libraries.

Main Advantages

  • Minimal RAM and CPU consumption.
  • Scalability: can handle hundreds of torrents simultaneously.
  • Highly configurable via 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

On Ubuntu/Debian

Update the package index and run:

sudo apt update
sudo apt install rtorrent

On CentOS/RHEL

Use the EPEL repository:

sudo yum install epel-release
sudo yum install rtorrent

On macOS with Homebrew

If you have Homebrew installed:

brew install rtorrent

Basic Configuration

The configuration file is located at ~/.rtorrent.rc. Copy the provided example and edit it according to your needs:

# Download and session directories
schedule = watch_directory,5,5,load.start=./watch/*.torrent
schedule = untied_directory,5,5,stop_untied=.

# Port and SCGI protocol (for ruTorrent)
scgi_port = localhost:5000

# Speed limits (in KiB/s)
download_rate = 0
upload_rate = 0

# Maximum number of peers
peers.min = 50
peers.max = 200

Save the file and restart RTorrent to apply the changes.

Essential Commands in the Interface

Once inside RTorrent, you can use these keys:

  • Enter: Add a torrent (opens a prompt to type the URL or path to the .torrent file).
  • Ctrl+ d: Delete the selected torrent.
  • Ctrl+ k: Stop the active torrent.
  • Ctrl+ s: Start a stopped torrent.
  • Ctrl+ q: Exit the application (will ask if you want to save the session).
  • Ctrl+ p: Show detailed information for the selected torrent.

Advanced Usage

Watch Directories

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

Persistent Sessions

RTorrent saves the state of downloads in the ~/.session folder. This allows you to close the program and resume 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 SCGI to point to the port defined in rtorrent.rc (default 5000). Then access http://your-server/rutorrent to manage your torrents from the browser.

Troubleshooting Common Issues

  • Error binding the SCGI port: Ensure no other process is using port 5000 and that the line scgi_port = localhost:5000 has no extra spaces.
  • Downloads stopped for no reason: Check the speed limits in the configuration file; a value of 0 means unlimited, but some users mistakenly set a low number.
  • Permissions in the download folder: RTorrent needs write permissions in the folder where it stores files; use chmod -R u+rw ~/downloads if 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, ability to integrate with web tools, and low resource usage, it is ideal both for production servers and advanced users who want to control every aspect of their torrent client. Give RTorrent a try and discover why it remains a favorite after so many years!

This post is also available in ESPAÑOL.

Leave a Reply

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

Esta obra está bajo una Licencia Creative Commons Atribución 4.0 Internacional para Francesc Roig francesc@vivaldi.net .