User Tools

Site Tools


rtorrent

This is an old revision of the document!


Rtorrent - Best torrent client

Quick Reference

  • Control-q : closes rTorrent, done twice makes the program shutdown without waiting to send stopping information to the trackers.
  • Left arrow : returns to the previous screen.
  • Right arrow : goes to the next screen.
  • a|s|d : increase global upload throttle about 1|5|50 KB/s
  • A|S|D : increase global download throttle about 1|5|50 KB/s
  • z|x|c : decrease global upload throttle about 1|5|50 KB/s
  • Z|X|C : decrease global download throttle about 1|5|50 KB/s
  • Control-S : starts download
  • Control-D : stops an active download, removes a stopped download.
  • + or - : changes the download priority of selected torrent.
  • Backspace : adds the specified .torrent. After pressing this button write full path or URL of .torrent file. You can use Tab and other tricks from bash.

Stop torrents after reaching a specified upload ratio

stop_on_ratio = min_ratio,min_upload,max_ratio

schedule = ratio,60,60,"stop_on_ratio=200,50M,300"

The “stop_on_ratio” command can be scheduled to stop torrents that have reached a specified upload ratio.
The above example will stop a torrent once it has uploaded 200% of the torrent size,
unless less than 50MB has been uploaded and the ratio is below 300%.

Use shift-I to make a torrent ignore this and other commands.

The ratio handling has been updated in rtorrent 0.8.4.

The basics

# Default group for ratio handling.

group.seeding.view
group.seeding.ratio.command
group.seeding.ratio.disable
group.seeding.ratio.enable
group.seeding.ratio.max
group.seeding.ratio.max.set
group.seeding.ratio.min
group.seeding.ratio.min.set
group.seeding.ratio.upload
group.seeding.ratio.upload.set

# The above commands can be called through:

ratio.disable
ratio.enable
ratio.max
ratio.max.set
ratio.min
ratio.min.set
ratio.upload
ratio.upload.set

The 'group.seeding.view' variable points to the 'seeding' view, which contains all seeding downloads,
and the default 'ratio.command' closes the download. To enabled or disable the ratio handling for the group,
call the 'enable' and 'disable' commands which automatically adds it to the scheduler.

Use the 'max', 'min' and 'upload' variables as in the old version.

# Enable the default ratio group.

ratio.enable=

# Change the limits, the defaults should be sufficient.

ratio.min.set=100
ratio.max.set=300
ratio.upload.set=20M

# Changing the command triggered when the ratio is reached.

system.method.set = group.seeding.ratio.command, d.close=, d.erase=
Ratio groups

If you wish to specify different ratio's for different watch directories, do the following:

Add new views. You may find out what downloads they contain through
'ui.current_view.set=group_1' command or XMLRPC calls.

view_add = view_group_1

# Make the views persist across sessions.

view.persistent = view_group_1

# Create new groups, 'group.insert = <name>, <view>'.

group.insert = group_1, view_group_1
 
group.group_1.ratio.enable=
group.group_1.ratio.min.set=100
group.group_1.ratio.max.set=300
group.group_1.ratio.upload.set=20M 

Optionally you may create a persistent view group directly. Note
that the view name is the same as the group name.

group.insert_persistent_view = group_2
 
group.group_2.ratio.enable=
group.group_2.ratio.min.set=300
group.group_2.ratio.max.set=0

Downloads need to be inserted into the view with the 'view.set_visible'
command. Note that extra parameters to 'load' are commands called
with the newly created download as the target.

schedule = watch_directory_1,5,10,"load_start_verbose=foo_1/*.torrent, view.set_visible=view_group_1"
schedule = watch_directory_2,5,10,"load_start_verbose=foo_2/*.torrent, view.set_visible=group_2"

Scheduling download rate

Every day “throttle_1” gets triggered at 01:00 and sets the download rate to unlimited,
while “throttle_2” sets it to 25kb at 05:00.
Using this the client may be made to perform a somewhat crude form of bandwidth scheduling.

schedule = throttle_1,01:00:00,24:00:00,download_rate=0
schedule = throttle_2,05:00:00,24:00:00,download_rate=25 

Saving torrent state and resume data between sessions

Point to a directory where rTorrent will save the torrent files. You
may also use relative paths if you want different session
directories depending on where you execute rtorrent.

session = ~/Download/session

Watch a directory for torrents

Watch a directory for new torrents, restart torrents that have been
copied back and stop those that have been deleted.

schedule = watch_directory,10,10,load_start=~/Download/watch/*.torrent
schedule = tied_directory,10,10,start_tied=
schedule = untied_directory,10,10,close_untied=

Watch another directory with a different destination. (0.7.7+)

schedule = watch_directory_2,10,10,"load_start=~/Download/watch_stuff/*.torrent,d.set_directory=~/Download/stuff/"

Move completed torrents

When the torrent finishes, it executes “mv -n <base_path> ~/Download/” and then sets the destination directory to “~/Download/”. (0.8.4+)

on_finished = move_complete,"d.set_directory=~/Download/ ;execute=mv,-u,$d.get_base_path=,~/Download/"
 
# On MacOSX and *BSD.
on_finished = move_complete,"d.set_directory=~/Download/ ;execute=mv,-n,$d.get_base_path=,~/Download/"

For versions 0.7.7 to 0.8.3 use this:

on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,~/Download/ ;d.set_directory=~/Download/"
 
# On MacOSX and *BSD.
on_finished = move_complete,"execute=mv,-n,$d.get_base_path=,~/Download/ ;d.set_directory=~/Download/"
rtorrent.1241857040.txt.gz · Last modified: 2020/08/10 02:29 (external edit)