diff options
-rw-r--r-- | _rtorrent.rc | 243 |
1 files changed, 62 insertions, 181 deletions
diff --git a/_rtorrent.rc b/_rtorrent.rc index 339cbeb..c9a5b2b 100644 --- a/_rtorrent.rc +++ b/_rtorrent.rc @@ -1,193 +1,74 @@ # -# rtorrent configure file +# ~/.rtorrent.rc +# See https://github.com/rakshasa/rtorrent/wiki/CONFIG-Template +# Requires rtorrent 0.9.x +# +# Aaron LI +# 2016-05-09 # -### shortcuts ### -# Ctrl-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 -# Ctrl-S: starts download -# Ctrl-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 fuul path or URL of .torrent file - -# This is an example resource file for rTorrent. Copy to -# ~/.rtorrent.rc and enable/modify the options as needed. Remember to -# uncomment the options you wish to enable. - -# Maximum and minimum number of peers to connect to per torrent. -#min_peers = 40 -max_peers = 52 - -# Same as above but for seeding completed torrents (-1 = same as downloading) -#min_peers_seed = 10 -max_peers_seed = 52 - -# Maximum number of simultanious uploads per torrent. -max_uploads = 8 - -# Global upload and download rate in KiB. "0" for unlimited. -download_rate = 0 -upload_rate = 0 - -# Default directory to save the downloaded torrents. -#directory = /home/[user]/torrents/ -#directory = ~/downloads/torrents - -# Default session directory. Make sure you don't run multiple instance -# of rtorrent using the same session directory. Perhaps using a -# relative path? -session = ~/downloads/torrents/.session/ - -# Watch a directory for new torrents, and stop those that have been detected -#schedule = watch_directory,5,5,load_start="~/downloads/torrents/*.torrent" -# stop downloading after the torrent file removed -schedule = untied_directory,5,5,stop_untied= -schedule = tied_directory,5,5,start_tied= +# Instance layout (base paths) +method.insert = cfg.basedir, private|const|string, (cat,"/home/aly/rtorrent/") +method.insert = cfg.watch, private|const|string, (cat,(cfg.basedir),"watch/") +method.insert = cfg.logs, private|const|string, (cat,(cfg.basedir),"log/") +method.insert = cfg.logfile, private|const|string, (cat,(cfg.logs),"rtorrent-",(system.time),".log") + +# Listening port for incoming peer traffic +network.port_range.set = 62009-62009 +network.port_random.set = no + +# Tracker-less torrent and UDP tracker support +dht.mode.set = auto +dht.port.set = 6881 +protocol.pex.set = yes +# Whether the client should try to connect to UDP trackers. +trackers.use_udp.set = yes + +# Peer settings +throttle.min_peers.normal.set = 20 +throttle.max_peers.normal.set = 60 +throttle.min_peers.seed.set = 30 +throttle.max_peers.seed.set = 80 + +# Limits for file handle resources, this is optimized for +# an `ulimit` of 1024 (a common default). You MUST leave +# a ceiling of handles reserved for rTorrent's internal needs! +network.http.max_open.set = 50 +network.max_open_files.set = 600 +network.max_open_sockets.set = 300 + +# Memory resource usage (increase if you have a large number of items loaded, +# and/or the available resources to spend) +pieces.memory.max.set = 1800M +network.xmlrpc.size_limit.set = 2M + +# Basic operational settings +session.path.set = (cat,(cfg.basedir),".session") +directory.default.set = (cat,(cfg.basedir),"download") + +# Watch directories (add more as you like, but use unique schedule names) +# load.normal: only load torrents +# load.start: load torrents and start downloading +schedule = watch_load,15,10,((load.normal,(cat,(cfg.watch),"load/*.torrent"))) +schedule = watch_start,10,10,((load.start,(cat,(cfg.watch),"start/*.torrent"))) # Close torrents when diskspace is low. -schedule = low_diskspace,5,60,close_low_diskspace=2000M - -# Stop torrents when reaching upload ratio in percent, -# when also reaching total upload in bytes, or when -# reaching final upload ratio in percent. -# example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0 -### error ### -#schedule = ratio,60,60,stop_on_ratio=200,200M,2000 - -# The ip address reported to the tracker. -#ip = 127.0.0.1 -#ip = rakshasa.no +schedule = low_diskspace,5,60,((close_low_diskspace,5000M)) -# The ip address the listening socket and outgoing connections is -# bound to. -#bind = 127.0.0.1 -#bind = rakshasa.no - -# Port range to use for listening. -port_range = 42396-43000 - -# Start opening ports at a random position within the port range. -port_random = yes - -# Encryption options, set to none (default) or any combination of the following: +# Encryption options, set to any combination of the following: # allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext -# -# The example value allows incoming encrypted connections, starts unencrypted -# outgoing connections but retries with encryption if they fail, preferring -# plaintext to RC4 encryption after the encrypted handshake -# -# encryption = allow_incoming,enable_retry,prefer_plaintext -encryption = allow_incoming,try_outgoing,enable_retry +protocol.encryption.set = 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). -# The default is "off". For DHT to work, a session directory must be defined. -dht = auto - -# UDP port to use for DHT. -dht_port = 6881 - -# Enable peer exchange (for torrents not marked private) -peer_exchange = yes - -# Check hash for finished torrents. Might be usefull until the bug is -# fixed that causes lack of diskspace not to be properly reported. +# Check hash for finished torrents. +#pieces.hash.on_completion.set = yse check_hash = yes -use_udp_trackers = yes - -# Alternative calls to bind and ip that should handle dynamic ip's. -#schedule = ip_tick,0,1800,ip=rakshasa -#schedule = bind_tick,0,1800,bind=rakshasa - -# for chinese support -encoding_list = UTF-8 - -# press 9 in your rtorrent client to see the changes in action -schedule = filter_active,30,30,"view_filter = active,\"or={d.get_up_rate=,d.get_down_rate=}\"" - -# for remote management -#scgi_port = localhost:5000 - - -#### Automatically Move Completed Torrent Data to 'Completed' Folders - -# location where new torrent data is placed, and where you should place your -# 'complete' data before you place your *.torrent file into the watch folder -directory = ~/downloads/torrents/incomplete - -# schedule a timer event named 'watch_directory_1': -# 1) triggers 10 seconds after rtorrent starts -# 2) triggers at 10 second intervals thereafter -# 3) Upon trigger, attempt to load (and start) new *.torrent files found in /home/user/torrents/watch/ -# 4) set a variable named 'custom1' with the value "/home/user/torrents/complete" -# NOTE: if you don't want it to automatically start the torrent, change 'load_start' to 'load' -schedule = watch_directory_1,10,10,"load_start=~/downloads/torrents/watch/*.torrent,d.set_custom1=~/downloads/torrents/complete" - -# insert a method with the alias 'checkdirs1' -# 1) returns true if the current path of the torrent data is not equal to the value of custom1 -# 2) otherwise, returns false -system.method.insert=checkdirs1,simple,"not=\"$equal={d.get_custom1=,d.get_base_path=}\"" - -# insert a method with the alias 'movecheck1' -# 1) returns true if all 3 commands return true ('result of checkdirs1' && 'torrent is 100% done', 'custom1 variable is set') -# 2) otherwise, returns false -system.method.insert=movecheck1,simple,"and={checkdirs1=,d.get_complete=,d.get_custom1=}" - -# insert a method with the alias 'movedir1' -# (a series of commands, separated by ';') -# 1) "set path of torrent to equal the value of custom1"; -# 2) "mv -u <current data path> <custom1 path>"; -# 3) "clear custom1", "stop the torrent","resume the torrent" -# 4) stop the torrent -# 5) start the torrent (to get the torrent to update the 'base path') -system.method.insert=movedir1,simple,"d.set_directory=$d.get_custom1=;execute=mv,-u,$d.get_base_path=,$d.get_custom1=;d.set_custom1=;d.stop=;d.start=" - -# set a key with the name 'move_hashed1' that is triggered by the hash_done event. -# 1) When hashing of a torrent completes, this custom key will be triggered. -# 2) when triggered, execute the 'movecheck1' method and check the return value. -# 3) if the 'movecheck' method returns 'true', execute the 'movedir1' method we inserted above. -# NOTE: 'branch' is an 'if' conditional statement: if(movecheck1){movedir1} -system.method.set_key=event.download.hash_done,move_hashed1,"branch={$movecheck1=,movedir1=}" - - -# -# Do not modify the following parameters unless you know what you're doing. -# -# Hash read-ahead controls how many MB to request the kernel to read -# ahead. If the value is too low the disk may not be fully utilized, -# while if too high the kernel might not be able to keep the read -# pages in memory thus end up trashing. -#hash_read_ahead = 10 - -# Interval between attempts to check the hash, in milliseconds. -#hash_interval = 100 - -# Number of attempts to check the hash while using the mincore status, -# before forcing. Overworked systems might need lower values to get a -# decent hash checking rate. -#hash_max_tries = 10 - -# Max number of files to keep open simultaniously. -#max_open_files = 128 - -# Number of sockets to simultaneously keep open. -#max_open_sockets = <no default> - - -# Example of scheduling commands: Switch between two ip's every 5 -# seconds. -#schedule = "ip_tick1,5,10,ip=torretta" -#schedule = "ip_tick2,10,10,ip=lampedusa" +# Logging: +# Levels = critical error warn notice info debug +# Groups = connection_* dht_* peer_* rpc_* storage_* thread_* tracker_* torrent_* +print = (cat,"Logging to ",(cfg.logfile)) +log.open_file = "log", (cfg.logfile) +log.add_output = "info", "log" -# Remove a scheduled event. -#schedule_remove = "ip_tick1" +# vim: set ts=8 sw=4 tw=0 fenc=utf-8 ft=conf: # |