Add rtorrent-init.d and rtorrent.rc
authorDavid Bartley <dtbartle@csclub.uwaterloo.ca>
Mon, 23 Jun 2008 00:52:20 +0000 (20:52 -0400)
committerDavid Bartley <dtbartle@csclub.uwaterloo.ca>
Mon, 23 Jun 2008 00:52:20 +0000 (20:52 -0400)
rtorrent-init.d [new file with mode: 0755]
rtorrent.rc [new file with mode: 0644]

diff --git a/rtorrent-init.d b/rtorrent-init.d
new file mode 100755 (executable)
index 0000000..69d398c
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+. /lib/lsb/init-functions
+
+PATH=$PATH:/bin:/usr/bin:/sbin:/usr/sbin
+NAME=rtorrent
+PIDFILE=/var/run/$NAME.screen
+CHUSER=$NAME
+DAEMON=/usr/bin/rtorrent
+DAEMON_ARGS="-n -o try_import=/etc/rtorrent.rc"
+
+do_start()
+{
+    if [ -s $PIDFILE ] && kill -0 $(cat $PIDFILE) >/dev/null 2>&1; then
+        exit 0
+    fi
+    log_daemon_msg "Starting" $NAME
+    start-stop-daemon --start --quiet --background --pidfile $PIDFILE \
+        --make-pidfile --exec /bin/su -- \
+        $CHUSER -c "/usr/bin/screen -D -m -- $DAEMON $DAEMON_ARGS"
+    log_end_msg 0
+}
+
+do_stop()
+{
+    log_daemon_msg "Stopping" $NAME
+    start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo
+    log_end_msg 0
+}
+
+do_status()
+{
+    if [ -s $PIDFILE ] && kill -0 $(cat $PIDFILE) >/dev/null 2>&1; then
+        exit 0
+    else
+        exit 4
+    fi
+}
+
+case "$1" in
+    start)
+        do_start
+    ;;
+    stop)
+        do_stop
+    ;;
+    restart)
+        do_stop
+        sleep 4
+        do_start
+    ;;
+    status)
+        do_status
+esac
+
+exit 0
diff --git a/rtorrent.rc b/rtorrent.rc
new file mode 100644 (file)
index 0000000..9d6b237
--- /dev/null
@@ -0,0 +1,100 @@
+# 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 = 100
+
+# Same as above but for seeding completed torrents (-1 = same as downloading)
+#min_peers_seed = 10
+#max_peers_seed = 50
+
+# Maximum number of simultanious uploads per torrent.
+#max_uploads = 15
+
+# Global upload and download rate in KiB. "0" for unlimited.
+#download_rate = 0
+#upload_rate = 0
+
+# Default directory to save the downloaded torrents.
+directory = /www/files
+
+# Default session directory. Make sure you don't run multiple instance
+# of rtorrent using the same session directory. Perhaps using a
+# relative path?
+session = /var/lib/rtorrent/session
+
+# Watch a directory for new torrents, and stop those that have been
+# deleted.
+schedule = watch_www_directory,1,5,load_start=/www/files/*.torrent
+schedule = untied_directory,5,5,remove_untied=
+
+# Close torrents when diskspace is low.
+#schedule = low_diskspace,5,60,close_low_diskspace=100M
+
+# 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
+#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
+
+# The ip address the listening socket and outgoing connections is
+# bound to.
+bind = mirror
+
+# Port range to use for listening.
+port_range = 6900-6999
+
+# Start opening ports at a random position within the port range.
+#port_random = 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 = no
+
+# Set whetever the client should try to connect to UDP trackers.
+#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
+
+encryption = allow_incoming,prefer_plaintext
+
+#
+# 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"
+
+# Remove a scheduled event.
+#schedule_remove = "ip_tick1"