diff options
| author | Max Audron <audron@cocaine.farm> | 2024-02-07 14:46:29 +0000 |
|---|---|---|
| committer | Max Audron <audron@cocaine.farm> | 2024-02-07 17:27:40 +0000 |
| commit | 44ee565dfcf908df660751351d00caeb2ba39bc8 (patch) | |
| tree | 43a11284abc04d0657901f56e579dd86166814da /modules/tlmp/rtorrent.rc | |
| parent | update authentik (diff) | |
migrate tlmp setup to nixos
Diffstat (limited to 'modules/tlmp/rtorrent.rc')
| -rw-r--r-- | modules/tlmp/rtorrent.rc | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/modules/tlmp/rtorrent.rc b/modules/tlmp/rtorrent.rc new file mode 100644 index 0000000..3353f50 --- /dev/null +++ b/modules/tlmp/rtorrent.rc @@ -0,0 +1,100 @@ +############################################################################# +# 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,"/mnt/media/") +method.insert = cfg.watch, private|const|string, (cat,(cfg.basedir),"watch/") +method.insert = cfg.logs, private|const|string, (cat,"/var/log/rtorrent/") +method.insert = cfg.logfile, private|const|string, (cat,(cfg.logs),"rtorrent-",(system.time),".log") + +# Create instance directories +execute.throw = bash, -c, (cat,\ + "builtin cd \"", (cfg.basedir), "\" ",\ + "&& mkdir -p .session download watch/{load,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.basedir), ".session") +directory.default.set = (cat, (cfg.basedir), "download/") +log.execute = (cat, (cfg.logs), "execute.log") +##log.xmlrpc = (cat, (cfg.logs), "xmlrpc.log") +execute.nothrow = bash, -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 +##network.http.capath.set = "/etc/ssl/certs" +##network.http.ssl_verify_peer.set = 0 +##network.http.ssl_verify_host.set = 0 +##pieces.hash.on_completion.set = no +##keys.layout.set = qwerty + +##view.sort_current = seeding, greater=d.ratio= +schedule2 = monitor_diskspace, 15, 60, ((close_low_diskspace, 1000M)) + +# 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"))) + +# 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" + +# XMLRPC +network.scgi.open_local = /run/rtorrent/rpc.sock +execute.nothrow = chmod,777,/run/rtorrent/rpc.sock + +### END of rtorrent.rc ### |
