diff --git a/doc/rtorrent.rc b/doc/rtorrent.rc index d0c17cf4..aef9bd80 100644 --- a/doc/rtorrent.rc +++ b/doc/rtorrent.rc @@ -1,22 +1,36 @@ -# 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. +############################################################################# +# This is an (old) 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. +# +# See 'rtorrent.rc-example' for a newer, basic configuration. +# +# Sample: https://github.com/rakshasa/rtorrent/wiki/CONFIG-Template +# Complete: https://rtorrent-docs.readthedocs.io/en/latest/cmd-ref.html +# Useful: https://rtorrent-docs.readthedocs.io/en/latest/use-cases.html +# Manual: https://rtorrent-docs.readthedocs.io/en/latest/ +# Convert: https://github.com/rakshasa/rtorrent/wiki/rTorrent-0.9-Comprehensive-Command-list-(WIP) +# Handbook: https://media.readthedocs.org/pdf/rtorrent-docs/latest/rtorrent-docs.pdf +# File: https://github.com/rakshasa/rtorrent/blob/master/doc/rtorrent.rc +############################################################################# # Maximum and minimum number of peers to connect to per torrent. # #throttle.min_peers.normal.set = 40 #throttle.max_peers.normal.set = 100 -# Same as above but for seeding completed torrents (-1 = same as downloading) +# Same as above but for seeding completed torrents. +# "-1" = same as downloading. # #throttle.min_peers.seed.set = 10 #throttle.max_peers.seed.set = 50 -# Maximum number of simultanious uploads per torrent. +# Maximum number of simultaneous uploads per torrent. # #throttle.max_uploads.set = 15 -# Global upload and download rate in KiB. "0" for unlimited. +# Global upload and download rate in KiB. +# "0" for unlimited. # #throttle.global_down.max_rate.set_kb = 0 #throttle.global_up.max_rate.set_kb = 0 @@ -26,7 +40,7 @@ #directory.default.set = ./ # Default session directory. Make sure you don't run multiple instance -# of rtorrent using the same session directory. Perhaps using a +# of rTorrent using the same session directory. Perhaps using a # relative path? # #session.path.set = ./session @@ -35,18 +49,17 @@ # deleted. # #schedule2 = watch_directory,5,5,load.start=./watch/*.torrent -#schedule2 = untied_directory,5,5,stop_untied= -# Close torrents when diskspace is low. +# Close torrents when disk-space is low. # #schedule2 = low_diskspace,5,60,close_low_diskspace=100M -# The ip address reported to the tracker. +# The IP address reported to the tracker. # #network.local_address.set = 127.0.0.1 #network.local_address.set = rakshasa.no -# The ip address the listening socket and outgoing connections is +# The IP address the listening socket and outgoing connections is # bound to. # #network.bind_address.set = 127.0.0.1 @@ -60,8 +73,8 @@ # #network.port_random.set = no -# 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. Might be useful until the bug is +# fixed that causes lack of disk-space not to be properly reported. # #pieces.hash.on_completion.set = no @@ -69,7 +82,7 @@ # #trackers.use_udp.set = yes -# Alternative calls to bind and ip that should handle dynamic ip's. +# Alternative calls to bind and IP that should handle dynamic IP's. # #schedule2 = ip_tick,0,1800,ip=rakshasa #schedule2 = bind_tick,0,1800,bind=rakshasa @@ -79,7 +92,7 @@ # # 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 +# plain-text to RC4 encryption after the encrypted handshake. # # protocol.encryption.set = allow_incoming,enable_retry,prefer_plaintext @@ -87,26 +100,29 @@ # 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.mode.set = auto -# UDP port to use for DHT. +# UDP port to use for DHT. # #dht.port.set = 6881 -# Enable peer exchange (for torrents not marked private) +# Enable peer exchange (for torrents not marked private). # #protocol.pex.set = yes -# Set downlad list layout style. ("full", "compact") +# Set download list layout style ("full", "compact"). # #ui.torrent_list.layout.set = "full" -# SCGI Connectivity (for alternative rtorrent interfaces, XMLRPC) +# Run rTorrent as a daemon, controlled via XMLRPC. # +#system.daemon.set = false + +# SCGI Connectivity (for alternative rtorrent interfaces, XMLRPC) # Use a IP socket with scgi_port, or a Unix socket with scgi_local. # schedule can be used to set permissions on the unix socket. # -#scgi_port = 127.0.0.1:5000 -#scgi_local = /home/user/rtorrent/rpc.socket -#schedule = scgi_permission,0,0,"execute.nothrow=chmod,\"g+w,o=\",/home/user/rtorrent/rpc.socket" +#network.scgi.open_port = "127.0.0.1:5000" +#network.scgi.open_local = (cat,(session.path),/rpc.sock) +#schedule2 = socket_chmod, 0, 0, "execute.nothrow=chmod,770,(cat,(session.path),/rpc.sock)" diff --git a/doc/rtorrent.rc-example b/doc/rtorrent.rc-example new file mode 100644 index 00000000..4a115a98 --- /dev/null +++ b/doc/rtorrent.rc-example @@ -0,0 +1,106 @@ +############################################################################# +# A minimal rTorrent configuration that provides the basic features +# you want to have in addition to the built-in defaults. +# +# See https://github.com/rakshasa/rtorrent/wiki/CONFIG-Template +# for an up-to-date version. +############################################################################# + +# Instance layout (base paths) +method.insert = cfg.basedir, private|const|string, (cat,"/home/USERNAME/rtorrent/") +method.insert = cfg.download, private|const|string, (cat,(cfg.basedir),"download/") +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") +method.insert = cfg.session, private|const|string, (cat,(cfg.basedir),".session/") +method.insert = cfg.watch, private|const|string, (cat,(cfg.basedir),"watch/") + +# Create instance directories +execute.throw = sh, -c, (cat,\ + "mkdir -p \"",(cfg.download),"\" ",\ + "\"",(cfg.logs),"\" ",\ + "\"",(cfg.session),"\" ",\ + "\"",(cfg.watch),"/load\" ",\ + "\"",(cfg.watch),"/start\" ") + +# Listening port for incoming peer traffic (fixed; you can also randomize it) +network.port_range.set = 50000-50000 +network.port_random.set = no + +# Tracker-less torrent and UDP tracker support +# (conservative settings for 'private' trackers, change for 'public') +dht.mode.set = disable +protocol.pex.set = no +trackers.use_udp.set = no + +# Peer settings +throttle.max_uploads.set = 100 +throttle.max_uploads.global.set = 250 + +throttle.min_peers.normal.set = 20 +throttle.max_peers.normal.set = 60 +throttle.min_peers.seed.set = 30 +throttle.max_peers.seed.set = 80 +trackers.numwant.set = 80 + +protocol.encryption.set = allow_incoming,try_outgoing,enable_retry + +# 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 = 4M + +# Basic operational settings (no need to change these) +session.path.set = (cat, (cfg.session)) +directory.default.set = (cat, (cfg.download)) +log.execute = (cat, (cfg.logs), "execute.log") +##log.xmlrpc = (cat, (cfg.logs), "xmlrpc.log") +execute.nothrow = sh, -c, (cat, "echo >",\ + (session.path), "rtorrent.pid", " ", (system.pid)) + +# Other operational settings (check & adapt) +encoding.add = utf8 +system.umask.set = 0027 +system.cwd.set = (directory.default) +network.http.dns_cache_timeout.set = 25 +schedule2 = monitor_diskspace, 15, 60, ((close_low_diskspace, 1000M)) +##pieces.hash.on_completion.set = no +##view.sort_current = seeding, greater=d.ratio= +##keys.layout.set = qwerty +##network.http.capath.set = "/etc/ssl/certs" +##network.http.ssl_verify_peer.set = 0 +##network.http.ssl_verify_host.set = 0 + +# Some additional values and commands +method.insert = system.startup_time, value|const, (system.time) +method.insert = d.data_path, simple,\ + "if=(d.is_multi_file),\ + (cat, (d.directory), /),\ + (cat, (d.directory), /, (d.name))" +method.insert = d.session_file, simple, "cat=(session.path), (d.hash), .torrent" + +# Watch directories (add more as you like, but use unique schedule names) +schedule2 = watch_start, 10, 10, ((load.start_verbose, (cat, (cfg.watch), "start/*.torrent"))) +schedule2 = watch_load, 11, 10, ((load.verbose, (cat, (cfg.watch), "load/*.torrent"))) + +# Run the rTorrent process as a daemon in the background +# (and control via XMLRPC sockets) +#system.daemon.set = true +#network.scgi.open_local = (cat,(session.path),rtorrent.sock) +#execute.nothrow = chmod,770,(cat,(session.path),rtorrent.sock) + +# 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" +##log.add_output = "tracker_debug", "log" + +### END of rtorrent.rc ###