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:5000has 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 ~/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, 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.