
rTorrent
High-performance ncurses BitTorrent client with Unix socket SCGI
rTorrent is a quick and efficient BitTorrent client built on the libTorrent library (not to be confused with libtorrent-rasterbar). Written in C++ with an ncurses text interface, rTorrent excels at headless operation via screen sessions and XMLRPC/SCGI for remote control. QuickBox Pro globally installs rTorrent with dynamic multi-version support and per-user configuration via Unix sockets.
High Performance
Lightweight C++ client optimized for high-speed, low-resource torrenting
Unix Socket SCGI
Per-user Unix sockets for secure XMLRPC communication
Screen Sessions
Runs in detached screen for headless operation with attach support
Dynamic Versions
Available versions resolved from the compiled-packages manifest — no manual database updates needed
Nginx SCGI Proxy
Secure nginx reverse proxy to Unix sockets with SSL and authentication
Web UI Ready
Works with ruTorrent and Flood for web-based management
rTorrent is a globally installed application available to all users on the server. Each user gets their own configuration, session, and Unix socket for isolation.
Installation
Install from the Dashboard
Open App Dashboard → Package Management (/dashboard?mode=packages), find rTorrent in the catalog (browse Download Clients or search), and click Install. The install dialog lets you pick the rTorrent version — the available builds are resolved from the compiled-packages catalog for your distro, and the matching libtorrent-rakshasa version is paired automatically. The dashboard streams the install log live and rTorrent appears in your Application Control panel when it finishes. Reinstall, Update, and Remove are available from the same panel.
What you see and can manage is gated by your account: admins manage any user’s apps; regular users manage their own. See Channels & Versions for how version resolution and beta channels work, and App Management for the full package flow.
Install from the CLI (automation)
The CLI runs the same install and is suited to automation and scripting. Without a version it installs the latest available build; pass -o to pin a specific version:
qb install rtorrent -u username
qb install rtorrent -u username -o '0.16.7'The paired libtorrent-rakshasa version is resolved automatically for the version you select (e.g., -o '0.10.0' installs libtorrent 0.14.0, -o '0.9.8' installs libtorrent 0.13.8).
CLI Commands
CLI Options
-u, --usernameRequiredSupply Admin username for install/reinstall/remove/update operations
-oSpecify rTorrent version to install or update to (e.g., -o '0.16.7'). Available versions are resolved dynamically from the compiled-packages manifest.
Available Versions
Available versions are resolved dynamically from the compiled-packages catalog for your distro and update automatically as new builds are published.
Current versions include: 0.16.7This is the current recommended version, 0.16.5, 0.16.2, 0.16.1, 0.16.0, 0.15.1, 0.10.0, 0.9.8, 0.9.7, 0.9.6These versions are not recommended for new installs and will eventually be removed, and feature-bind (builds from the latest master branch commit).
Debian 13 (Trixie) and later only support rTorrent 0.9.8 and higher. Versions 0.9.7 and 0.9.6 are not compatible due to libtorrent dependencies.
Hide Update (Dashboard)
When a newer rTorrent version is available in the compiled-packages manifest, the v4 dashboard shows an update badge on the rTorrent app card. Non-admin users do not see this badge (the hideUpdateForNonAdmin flag is set for rTorrent). Any user can dismiss the update notification for their account via the dashboard, and it will reappear only when a newer version becomes available.
Accessing rTorrent
rTorrent itself has no web interface—use ruTorrent or Flood for web-based management.
Attach to Screen Session
To access the ncurses interface directly:
screen -r rtorrentDetach with:
- Windows: Ctrl+A , D
- Mac: ⌃ Control+A , D
rTorrent is automatically integrated into your QuickBox dashboard. Find it in the Service Control panel with status information. Install ruTorrent or Flood for web access.
Browser Download Index
Separate from ruTorrent and Flood, QuickBox installs a per-user browser file index that lists the contents of your rTorrent download directory in a dark-themed fancyindex view. Useful for quickly grabbing a single finished file without loading a web client.
https://your-server-ip/username.rtorrent.downloadsThe nginx template at /etc/nginx/software/username.dlindex.conf exposes /home/username/torrents/rtorrent through the shared fancyindex snippet. Access is protected by auth_basic against /etc/htpasswd.d/htpasswd.username, which is the same credential file used for other QuickBox user endpoints.
- The listing path matches the rTorrent base directory (
cfg.basedir, default~/torrents/rtorrent/), so thedownload/,watch/, andlog/subfolders and the.sessions/metadata are all visible. - The index is stitched together per user: if you also have qBittorrent, Deluge, Transmission, NZBGet, or SABnzbd installed, their completed-download locations are appended into the same
username.dlindex.confso each client gets its own URL. It is one shared browse-index config covering all of that user’s download clients, not an rTorrent-only feature. - The feature has no service of its own — it is pure nginx. If the page fails to load — returns a 502 or 404, shows blank, or errors — while the rest of the dashboard works normally, the per-user config is broken or missing. Rebuild it with
qb fix dlindex(see Troubleshooting).
The v4 dashboard exposes this same index as an Open download folder link in the Download Activity panel (the slide-out reached from the download icon in the system metrics bar). It opens the per-user file index for rTorrent in a new tab.
Initial Configuration
1. Unix Socket Communication
QuickBox automatically configures:
- SCGI socket:
/var/run/username/.rtorrent.sock - Listening port range: Random from
2000-61000(1500 port range per user)
The socket is used by ruTorrent, Flood, and *arr applications for communication.
If you installed Flood for a user, QuickBox also installs rtorrent-scgi-shim@username, which binds /var/run/username/.rtorrent.sock and forwards to /var/run/username/.rtorrent-real.sock. Flood should use /var/run/username/.rtorrent.sock and the .rtorrent.rc and ruTorrent should use the real socket /var/run/username/.rtorrent-real.sock. See the Flood docs → Shim details.
2. Install Web Interface (Optional)
Install a web interface for remote management:
# ruTorrent (recommended for rTorrent)
qb install rutorrent -u username
# Flood (modern alternative)
qb install flood -u username3. Connect to *arr Applications (Optional)
When configuring Sonarr, Radarr, or other *arr applications, use the nginx SCGI route:
- In your
*arrapp, go to Settings → Download Clients → Add (+) - Select rTorrent from the list
- Enter connection details:
- Host:
yourserver.com - Port:
443 - Use SSL: Yes
- URL Path: Empty
- XMLRpc Path:
/USERNAME - Username: Your QuickBox username
- Password: Your QuickBox password
- Host:
- Test and save
The /USERNAME path is routed by nginx (/etc/nginx/software/username.scgi.conf) to the Unix socket at /var/run/username/.rtorrent.sock. This eliminates the need to expose rTorrent directly—all connections go through nginx with SSL and authentication.
File Locations
rTorrent’s layout is not fixed. Every path derives from cfg.basedir in the user’s ~/.rtorrent.rc, and cfg.basedir is user-configurable — if you relocate the base directory, every dependent path follows it. The values below are the shipped defaults.
rTorrent’s main log has no fixed filename — it is rtorrent-<system.time>.log inside the log directory. The dashboard log viewer resolves the newest rtorrent-*.log (plus execute.log) automatically. Do not look for a fixed rtorrent.log.
Backup and Restore
rTorrent supports both a Full Backup and a Config Only backup from the dashboard (Application Backups tab, or by expanding rTorrent in Application Control). Backups are written to ~/.QuickBox/software/rtorrent/backup/.
| Backup type | What it captures |
|---|---|
Full Backup | The .rtorrent.rc, the session directory, and the watch directories — all resolved from cfg.basedir in your .rtorrent.rc. If you relocated the base directory, the backup follows wherever the config points. |
Config Only | Just the .rtorrent.rc configuration file. |
Because rTorrent is a single, system-wide install (not a per-user /opt directory), there is no application rollback flow — restore re-applies a backup over the live paths.
For the full backup workflow, owner visibility rules, and where backups live on disk, see App Management → Application Backups.
Service Management
rTorrent runs as a systemd service inside a detached screen session.
systemctl status rtorrent@username # Check status
systemctl restart rtorrent@username # Restart service
journalctl -u rtorrent@username -f # View live logs
systemctl enable rtorrent@username # Start on boot
systemctl disable rtorrent@username # Prevent auto-startTroubleshooting
rTorrent Won’t Start
journalctl -u rtorrent@username -fCheck for configuration errors:
cat ~/.rtorrent.rc | grep -E 'error|warn'Socket Permission Issues
Symptoms
- rTorrent socket not accessible
- Permission denied errors in logs
- ruTorrent cannot connect to rTorrent
Resolution
- Verify socket exists: ls -la /var/run/username/.rtorrent.sock
- Check socket permissions: should be owned by username
- Fix permissions: qb fix permissions -u username
- Restart service: systemctl restart rtorrent@username
Downloads or browse index page not loading
Symptoms
- The per-user downloads / file-browse index page fails to load — returns a 502 or 404, shows blank, or errors — while the rest of the dashboard works normally
- Only the directory-listing page is affected; rTorrent itself keeps running
- ruTorrent, Flood, and the *arr apps still work, so the client backend is fine
Resolution
- Rebuild the per-user browse-index nginx config: qb fix dlindex -u username (one user) or qb fix dlindex (all users)
- The fix re-renders /etc/nginx/software/username.dlindex.conf and reloads nginx on a successful test
- See the qb fix reference: /docs/cli-reference/fix#fix-dlindex
The browse index is a single shared per-user nginx config (/etc/nginx/software/username.dlindex.conf) that covers all of that user’s download clients, not just rTorrent. If it fails to load — 502, 404, blank, or error — while rTorrent and the rest of the dashboard work normally, that config is broken or missing. Rebuild it with qb fix dlindex. This is a different problem from the Socket Permission Issues above, which take rTorrent (and therefore ruTorrent, Flood, and the *arr connections) completely offline. This same fix applies to the browse page for every download client — see the Download Clients overview.
Port Range Conflicts
# Check configured port range
grep -E 'port_range|port_random' ~/.rtorrent.rc
# Verify no conflicts with other services
ss -tulpn | grep -E '(2000|3000|4000|5000|6000)'Screen Session Lost
# List all screen sessions
screen -ls
# Reattach if session exists
screen -r rtorrent
# If no session, restart service
systemctl restart rtorrent@usernameBest Practices
Do
- Use qb update rtorrent to upgrade versions safely
- Monitor service health with systemctl status rtorrent@username
- Use watch folders for automated torrent loading
- Install ruTorrent or Flood for web-based management
- Keep rTorrent updated to latest stable version for your distro
- Use nginx SCGI proxy for all remote connections
- Configure appropriate upload/download limits in .rtorrent.rc
- Regularly check logs for errors: journalctl -u rtorrent@username
Don't
- Don't install rTorrent from system package managers—use QuickBox only
- Don't manually edit systemd or nginx configs without backing up first
- Don't use versions below 0.9.8 on Debian 13 (Trixie) or later
- Don't delete .rtorrent.sock manually—managed by rTorrent
- Don't expose SCGI socket directly without nginx authentication
- Don't manually edit .rtorrent.rc while service is running
- Don't forget to detach from screen (Ctrl+A, D) instead of closing terminal
- Don't mix rTorrent versions with incompatible libtorrent versions
FAQ
packages.lst manifest in the QuickBox/compiled-packages repository. The CLI fetches and caches this manifest (1-hour TTL) and filters by your distro codename. No manual database updates are needed.feature-bind option (-o 'feature-bind') builds both libtorrent and rTorrent from the latest master branch commits instead of installing a precompiled .deb. Use this for bleeding-edge builds.qb update rtorrent -u username), so the hideUpdateForNonAdmin flag is set. Admins see the badge and can dismiss it; non-admins see the installed version without a distracting update prompt.libtorrent-rakshasa version is resolved automatically. For example: rTorrent 0.16.7 pairs with libtorrent 0.16.7, rTorrent 0.10.0 pairs with libtorrent 0.14.0, and rTorrent 0.9.8 pairs with libtorrent 0.13.8.Related Applications
Web Interfaces
Indexers
Other Download Clients
Additional Resources
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.