====== rTorrent.Заметки ======
* Для чего: программа командной строки для закачки торрентов
* Порт: /usr/ports/net-p2p/rtorrent
* Доп. информация: http://ru.wikibooks.org/wiki/RTorrent
* Веб-морды:
* rutorrent: http://code.google.com/p/rutorrent/
* rtgui: порт /usr/ports/net-p2p/rtgui/
===== Подробнее =====
**1.** Итак, rtorrent и rtgui установлены. Сверяем httpd.conf (обратите внимание на первые две опции):
LoadModule scgi_module libexec/apache22/mod_scgi.so
SCGIMount /RPC2 127.0.0.1:5000
Listen *:80
Alias /torrents "/usr/local/www/rtgui/"
Options none
DirectoryIndex index.php
AllowOverride Limit
Order Deny,Allow
Allow from all
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/"
Options none
AllowOverride Limit
Order Deny,Allow
Allow from all
**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, нужен установленный [[http://www.wiki.itcall.ru/doku.php/doc/sysadmin/free_os/screen|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: {{tag> rtorrent FreeBSD}}
~~DISCUSSION~~