Skip to content

Instantly share code, notes, and snippets.

@joaopizani
Created August 27, 2012 22:29
Show Gist options
  • Save joaopizani/3492951 to your computer and use it in GitHub Desktop.
Save joaopizani/3492951 to your computer and use it in GitHub Desktop.
A reasonable rtorrent setup that Just Works®
# Default session directory. Make sure you don't run multiple instances with the same dir.
session = ~/torrent/session
# Maximum and minimum number of peers to connect to per torrent.
min_peers = 50
max_peers = 400
# Same as above but for seeding completed torrents (-1 = same as downloading)
min_peers_seed = 20
max_peers_seed = 400
# Maximum number of simultanious uploads per torrent.
max_uploads = 10
# Default directory to save the downloaded torrents.
directory = ~/torrent/in-progress
# Speed scheduling: upload and download rates, slower on mornings and evenings
schedule = throttle_morning_down,7:00:00,24:00:00,download_rate=800
schedule = throttle_morning_up,7:00:00,24:00:00,upload_rate=800
schedule = throttle_daytime_down,9:00:00,24:00:00,download_rate=2000
schedule = throttle_daytime_up,9:00:00,24:00:00,upload_rate=2000
schedule = throttle_evening_down,18:00:00,24:00:00,download_rate=800
schedule = throttle_evening_up,18:00:00,24:00:00,upload_rate=800
schedule = throttle_latenight_down,0:05:00,24:00:00,download_rate=2000
schedule = throttle_latenight_up,0:05:00,24:00:00,upload_rate=2000
# Watch a directory. Start those which are added and remove the ones removed.
schedule = untied_remove,4,7,remove_untied=
schedule = watch_dir,2,7,"load_start=~/torrent/metafiles/*.torrent,d.set_custom2=1"
# Incomplete downloads whose metafiles are removed have its DATA also removed.
# Move completed torrent data to finished dir and archive metafile for posterity.
system.method.set_key = event.download.finished,clear_incomplete_flag,d.set_custom2=
system.method.set_key = event.download.finished,move_complete,"execute={mv,-u,$d.get_base_path=,~/torrent/finished/};d.set_directory=~/torrent/finished;execute={cp,$d.get_tied_to_file=,~/torrent/finished/metafiles/}"
system.method.set_key = event.download.erased,rm_incomplete_data,"branch=d.get_custom2=1,\"execute={rm,-rf,--,$d.get_base_path=}\""
# Close torrents when diskspace is low.
schedule = low_diskspace,5,60,close_low_diskspace=400M
# Seed ratio
ratio.enable=
ratio.min.set=300
ratio.max.set=400
ratio.upload.set=50M
# Changing the command triggered when the ratio is reached.
system.method.set = group.seeding.ratio.command, d.close=, d.erase=
# Ports
port_range = 49178-49178
# Check hash for finished torrents.
check_hash = yes
# Set whetever the client should try to connect to UDP trackers.
use_udp_trackers = yes
# Encryption options, set to none (default) or any combination of the following:
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
encryption = allow_incoming,try_outgoing,enable_retry
# Enable DHT support for trackerless torrents or when all trackers are down.
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
dht = on
dht_port = 6881
peer_exchange = yes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment