Merge branch 'master' of github.com:rakshasa/rtorrent

This commit is contained in:
rakshasa
2019-06-09 17:10:17 +09:00
3 changed files with 146 additions and 24 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
BUILDING BUILDING
Run "./autogen.sh" to generate the configure scripts if Run "./autogen.sh" to generate the configure scripts if
nessesary. The man page "doc/rtorrent.1" must be generated with necessary. The man page "doc/rtorrent.1" must be generated with
"docbook2man rtorrent.1.xml" if it is missing. "docbook2man rtorrent.1.xml" if it is missing.
Note that rtorrent follows the development of libtorrent closely, and Note that rtorrent follows the development of libtorrent closely, and
+37 -21
View File
@@ -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 # This is an (old) example resource file for rTorrent.
# uncomment the options you wish to enable. # 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. # Maximum and minimum number of peers to connect to per torrent.
# #
#throttle.min_peers.normal.set = 40 #throttle.min_peers.normal.set = 40
#throttle.max_peers.normal.set = 100 #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.min_peers.seed.set = 10
#throttle.max_peers.seed.set = 50 #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 #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_down.max_rate.set_kb = 0
#throttle.global_up.max_rate.set_kb = 0 #throttle.global_up.max_rate.set_kb = 0
@@ -26,7 +40,7 @@
#directory.default.set = ./ #directory.default.set = ./
# Default session directory. Make sure you don't run multiple instance # 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? # relative path?
# #
#session.path.set = ./session #session.path.set = ./session
@@ -35,18 +49,17 @@
# deleted. # deleted.
# #
#schedule2 = watch_directory,5,5,load.start=./watch/*.torrent #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 #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 = 127.0.0.1
#network.local_address.set = rakshasa.no #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. # bound to.
# #
#network.bind_address.set = 127.0.0.1 #network.bind_address.set = 127.0.0.1
@@ -60,8 +73,8 @@
# #
#network.port_random.set = no #network.port_random.set = no
# Check hash for finished torrents. Might be usefull until the bug is # Check hash for finished torrents. Might be useful until the bug is
# fixed that causes lack of diskspace not to be properly reported. # fixed that causes lack of disk-space not to be properly reported.
# #
#pieces.hash.on_completion.set = no #pieces.hash.on_completion.set = no
@@ -69,7 +82,7 @@
# #
#trackers.use_udp.set = yes #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 = ip_tick,0,1800,ip=rakshasa
#schedule2 = bind_tick,0,1800,bind=rakshasa #schedule2 = bind_tick,0,1800,bind=rakshasa
@@ -79,7 +92,7 @@
# #
# The example value allows incoming encrypted connections, starts unencrypted # The example value allows incoming encrypted connections, starts unencrypted
# outgoing connections but retries with encryption if they fail, preferring # 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 # protocol.encryption.set = allow_incoming,enable_retry,prefer_plaintext
@@ -94,19 +107,22 @@
# #
#dht.port.set = 6881 #dht.port.set = 6881
# Enable peer exchange (for torrents not marked private) # Enable peer exchange (for torrents not marked private).
# #
#protocol.pex.set = yes #protocol.pex.set = yes
# Set downlad list layout style. ("full", "compact") # Set download list layout style ("full", "compact").
# #
#ui.torrent_list.layout.set = "full" #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. # 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. # schedule can be used to set permissions on the unix socket.
# #
#scgi_port = 127.0.0.1:5000 #network.scgi.open_port = "127.0.0.1:5000"
#scgi_local = /home/user/rtorrent/rpc.socket #network.scgi.open_local = (cat,(session.path),/rpc.sock)
#schedule = scgi_permission,0,0,"execute.nothrow=chmod,\"g+w,o=\",/home/user/rtorrent/rpc.socket" #schedule2 = socket_chmod, 0, 0, "execute.nothrow=chmod,770,(cat,(session.path),/rpc.sock)"
+106
View File
@@ -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 ###