rTorrent.Заметки

Подробнее

1. Итак, rtorrent и rtgui установлены. Сверяем httpd.conf (обратите внимание на первые две опции):

LoadModule scgi_module        libexec/apache22/mod_scgi.so
SCGIMount /RPC2 127.0.0.1:5000

Listen *:80

<VirtualHost *:80>

    Alias /torrents "/usr/local/www/rtgui/"

    <Directory "/usr/local/www/rtgui/">
        Options none
        DirectoryIndex index.php
        AllowOverride Limit
        Order Deny,Allow
        Allow from all
    </Directory>
    
    DirectoryIndex index.php index.html index.htm index.shtml index.php3
    AddType application/x-httpd-php .php .php3
    Action  application/x-httpd-php /cgi-bin/php-cgi
    
    Alias /rutorrent "/var/www/rutorrent/"
    
    <Directory "/var/www/rutorrent/">
        Options none
        AllowOverride Limit
        Order Deny,Allow
        Allow from all
    </Directory>
</VirtualHost>

2. Для rtgui выполняем:

mv /usr/local/www/rtgui/config.php.example /usr/local/www/rtgui/config.php

Обращаем внимание на $downloaddir.

3. Копируем стандартный конфиг rtorrent в ~/.rtorrent.rc:

min_peers = 40
max_peers = 100

min_peers_seed = 10
max_peers_seed = 50

max_uploads = 20

# Global upload and download rate in KiB. "0" for unlimited.
download_rate = 9600
upload_rate = 0

# Default directory to save the downloaded torrents.
directory = /var/download/Complete

# 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/download/sessions/

# Watch a directory for new torrents, and stop those that have been
# deleted.
# check every 5 sec folder
schedule = watch_directory,5,5,load_start=/var/download/Auto/*.torrent
schedule = untied_directory,5,5,stop_untied=

# Port range to use for listening.
port_range = 6890-6891

check_hash = yes

use_udp_trackers = yes

encryption = allow_incoming,try_outgoing,enable_retry,prefer_plaintext

dht = auto

dht_port = 6881

peer_exchange = yes

scgi_port = 127.0.0.1:5000

log.execute = /var/log/rtorrent.log

session_save = yes

4. Запускаем:

# rtorrent 

Выходим: Ctrl + Q.

5. Делаем автозапуск rtorrent (сделал через /etc/rc.local, нужен установленный screen):

#!/bin/sh

# rt - screen name
# -d - detach
su - root -c "screen -S rt -d -m -p rt-X rtorrent"

Но лучше написать скрипт запуска/завершения rtorrent в /гsr/local/etc/rc.d:

#!/bin/sh
#
# rtorrent RCng startup script
# by Emanuele Cipolla (mail at emanuelecipolla dot net)
# Shamelessly ripped off the aMule startup script by Gabriele Cecchetti (amule.org forum)
#

# PROVIDE: rtorrent
# REQUIRE: NETWORKING SERVERS
# BEFORE: DAEMON
# KEYWORD: shutdown

#
# Add the following lines to /etc/rc.conf to enable rtorrent at startup
# rtorrent (bool): Set to "NO" by default.
#                Set it to "YES" to enable rtorrent
# rtorrent_user (str): Set to user running rtorrent
#                    (default 'p2p')
# rtorrent_home (str): Set to home directory of user running rtorrent
#                    (default /home/${rtorrent_user})

. /etc/rc.subr

name="rtorrent"
rcvar=`set_rcvar`

load_rc_config $name

[ -z "$rtorrent_enable" ] && rtorrent_enable="NO"
[ -z "$rtorrent_user" ] && rtorrent_user="root"
[ -z "$rtorrent_home" ] && rtorrent_home="/${rtorrent_user}"

required_dirs=${rtorrent_home}
required_files="${rtorrent_home}/.rtorrent.rc"

start_cmd="${name}_start"
stop_cmd="${name}_stop"

rtorrent_start()
{
if [ ! -f /var/run/${name}.run ]
    then
 cd ${rtorrent_home}
 su ${rtorrent_user} -c "/usr/local/bin/screen -dmS rtorrent_init /usr/local/bin/rtorrent"
 touch /var/run/${name}.run
 echo "Started ${name}."
 echo `date` : "Started ${name}." >> /var/log/${name}.log
 else
 echo "${name} seems to be already running -- remove /var/run/${name}.run manually if needed."
 fi
 }
 rtorrent_stop()
 {
 if [ -f /var/run/${name}.run ]
 then
 killall -INT $(echo -n 'ps aux | grep rtorrent | grep -v rtorrent_init') 2>>/var/log/${name}.log >>/var/log/${name}.log
 rm -f /var/run/${name}.run
 echo "Stopped ${name}."
 echo `date` : "Stopped ${name}." >> /var/log/${name}.log
 else
 echo "${name} doesn't seem to be running -- create /var/run/${name}.run if needed."
 fi
   }
 run_rc_command "$1"

Скрипт проверяет наличие rtorrent_enable=«YES» в rc.conf

6 Некоторые Hotkeys

Enter — добавить новый torrent файл. Для упрощения ввода имени файла, можно пользоваться клавишей Tab.
^T — обновить трэкер
^Q — отключает программу, повторное нажатие закрывает программу не посылая трэкеру стоп сигнал
^N|<стрелка вниз> — выбор следующего торрента/адреса
^P|<стрелка вверх> — выбор предыдущего торрента/адреса
^F|<стрелка вправо> — просмотр состояния загрузки/аплоуда торрента
^B|<стрелка влево> — возвращает на предыдущий экран
A|S|D — увеличить скорость загрузки на 1/5/50 кб
Z|X|C — уменьшить скорость загрузки на 1/5/50 кб
a|s|d — увеличить скорость отдачи на 1/5/50 кб
z|x|c — уменьшить скорость отдачи на 1/5/50 кб
1—9 — переключение между различными группами (по состоянию загрузки)
^S — начать закачку
^D — остановить закачку (повторное нажатие удаляет торрент-файл. Данные остаются)
^K — закрыть торрент и его файлы
^E — пересоздать все файлы торрента
^R — перечитать хэш торрента
^O — изменить директорию на загрузку (торрент должен быть закрыт)
+|- — увеличить уменьшить приоритет загрузки торрента
— добавить URL или путь к торренту
L — просмотреть лог (чтобы выйти нужно нажать пробел)
^X — вызвать команду или поменять настройку

TAG: