rutorrent

rTorrent Commands: Complete Seedbox Guide (Beginner to Advanced)

March 16, 2026 · 5 min read

ruTorrent’s web interface is what most people use day to day — but underneath it sits rTorrent, the actual BitTorrent engine, and learning its commands gives you direct control over your seedbox for scripting, automation, and troubleshooting. This is a practical reference: the in‑program keys you’ll actually use, the .rtorrent.rc directives that matter, and the XMLRPC commands for scripting. It’s aimed at EvoSeedbox users but applies to any modern rTorrent (0.9.8+).

New to the whole thing? Start with our ruTorrent getting‑started guide and come back here when you want to go under the hood.

What is rTorrent?

rTorrent is a lightweight, ncurses‑based BitTorrent client that runs entirely in the terminal. ruTorrent is a PHP web front‑end that talks to it over SCGI. On your seedbox, rTorrent runs 24/7 inside a screen or tmux session so it keeps going after you disconnect. Knowing its commands lets you manage torrents without the web UI — handy over SSH, in scripts, or when ruTorrent itself is misbehaving.

Connecting to rTorrent over SSH

First, SSH into your seedbox (your login details are in your dashboard):

ssh [email protected]

rTorrent runs inside a detached session. Re‑attach to it with whichever multiplexer your setup uses:

# screen
screen -r

# tmux
tmux attach

Important: to leave rTorrent running when you’re done, detach from the session rather than quitting rTorrent. Detach with Ctrl+A then D (screen) or Ctrl+B then D (tmux). If you quit rTorrent itself, your torrents stop.

Essential in-program keybindings

Once you’re looking at the rTorrent interface, these are the keys you’ll use most (they’re case‑sensitive, and ^ means Ctrl):

Key Action
Backspace Add a torrent by URL or file path
↑ / ↓ Move up/down the torrent list
Enter / Open the selected torrent (files, peers, trackers, chunks)
Go back to the main view
^s Start the selected torrent
^d Stop the torrent — press again to remove it (does not delete data)
^r Force a hash / re‑check of the torrent
+ / - Raise / lower the torrent’s priority
l View the log
^q Quit rTorrent gracefully (only if you really mean to stop everything)

The number keys switch between filtered views — typically 1 main, 2 by name, 4 stopped, 5 complete, 6 incomplete, 8 seeding, 9 active — which is the fastest way to find, say, everything that’s still downloading.

Adding torrents from the command line

You don’t have to be in the UI to add torrents. The cleanest method on a seedbox is a watch directory: drop a .torrent file into it and rTorrent loads it automatically. Configure it in .rtorrent.rc (see below), then just:

# copy a .torrent into your watch folder
cp movie.torrent ~/watch/

For magnet links, save the magnet as a .torrent file in the watch folder, or use ruTorrent’s add‑URL box. Our adding torrents guide covers every method.

The .rtorrent.rc directives that matter

Your configuration lives in ~/.rtorrent.rc. On EvoSeedbox this is pre‑tuned, but if you’re customising, these are the directives worth knowing (modern method.insert / *.set syntax):

# Where finished downloads go
directory.default.set = /home/username/downloads

# Session state (resume data) — never point two clients at the same one
session.path.set = /home/username/.session

# Listening port (a single fixed port is best on a seedbox)
network.port_range.set = 50000-50000
network.port_random.set = no

# Encryption — helps with ISP throttling on public swarms
protocol.encryption.set = allow_incoming,try_outgoing,enable_retry

# Peer exchange & DHT (turn DHT off for private trackers)
protocol.pex.set = yes
dht.mode.set = auto

# Global rate limits in KB/s (0 = unlimited)
throttle.global_down.max_rate.set_kb = 0
throttle.global_up.max_rate.set_kb = 0

# Watch directory: load + start any .torrent dropped in ~/watch every 5s
schedule2 = watch_directory, 5, 5, "load.start=/home/username/watch/*.torrent"

One rule worth repeating: for private trackers, set dht.mode.set = disable and protocol.pex.set = no — most private trackers ban DHT and PEX, and leaving them on can get you flagged. After any change, restart rTorrent for it to take effect. If something won’t start afterwards, our common ruTorrent errors guide lists the usual culprits.

Scripting rTorrent with XMLRPC

This is where rTorrent becomes powerful. It exposes an XMLRPC API (the same one ruTorrent uses over SCGI), which you can call from the shell with rtxmlrpc (from the rtorrent‑ps/pyrocore tools). A few genuinely useful calls:

# List every available API method
rtxmlrpc system.listMethods

# List all torrents: name, % complete, and upload rate
rtxmlrpc d.multicall2 "" main d.name= d.complete= d.up.rate=

# Total number of loaded torrents
rtxmlrpc view.size "" main

# Get one torrent's name by its info-hash
rtxmlrpc d.name <HASH>

# Stop every completed torrent (frees connections)
rtxmlrpc d.multicall2 "" complete d.stop=

These are the building blocks for automation: a cron job that reports disk usage, a script that stops finished public torrents, or a ratio watchdog. (On our fleet, some of this housekeeping is handled for you automatically — but the API is yours to script against.)

How ruTorrent connects: SCGI

ruTorrent doesn’t talk to rTorrent directly — it uses SCGI. In .rtorrent.rc that’s one of:

# local socket (preferred, more secure)
network.scgi.open_local = /home/username/.rtorrent.sock

# or a TCP port
network.scgi.open_port = 127.0.0.1:5000

If ruTorrent shows “rTorrent is not running” while rTorrent clearly is, a mismatch here is the usual cause — the web UI and the engine disagree on the socket or port.

Frequently Asked Questions

Do I need to use rTorrent commands, or is ruTorrent enough?

For everyday use, ruTorrent’s web interface does everything most people need. rTorrent commands are for power users who want to script, automate, or troubleshoot — managing torrents over SSH, tuning .rtorrent.rc, or calling the XMLRPC API. You can happily never touch them, but they unlock a lot.

How do I leave rTorrent running after I disconnect?

Detach from the session instead of quitting rTorrent: Ctrl+A then D in screen, or Ctrl+B then D in tmux. That leaves rTorrent (and your torrents) running. Pressing Ctrl+Q quits rTorrent and stops everything.

How do I remove a torrent without deleting the files?

Select it and press Ctrl+D twice — the first stops it, the second removes it from rTorrent. The downloaded data stays on disk; only the torrent entry is removed.

Why does ruTorrent say rTorrent isn’t running when it is?

Almost always an SCGI mismatch — ruTorrent and rTorrent disagree on the socket path or port set by network.scgi.open_local / open_port. See our common ruTorrent errors guide for the fix.

How do I disable DHT and PEX for private trackers?

In .rtorrent.rc set dht.mode.set = disable and protocol.pex.set = no, then restart rTorrent. Most private trackers require this, and leaving them on can get your account flagged.

Want a seedbox where rTorrent is already tuned and self‑healing, with ruTorrent on top? See our plans — every one includes ruTorrent, one‑click apps, and 24/7 support.

Head of Operations Evoseedbox

CleanShot at @ x
Website |  + posts

Tim Michels writes and maintains the EvoSeedbox wiki and blog — setup guides and automation tutorials for Plex, the *arr stack, Usenet, and more, backed by hands-on experience running the EvoSeedbox fleet.

Put it into practice.

Spin up a seedbox and try it yourself — every app one-click, 7-day money-back.