Новости
- 2009.01.05 15:30 Итоги 2008 года
- 2008.12.24 12:13 ftptop для vsFTPd сервера
- 2008.12.22 14:19 FedoraMD апгрейд сервера - вторая часть
- 2008.12.22 13:10 Почему не работает новый домен?
- 2008.12.20 23:56 OpenStreetMap маршруты и высоты
Rtorrent
ВНИМАНИЕ: команды предваряемые символом '#' должны выполняться с правами root (Суперпользователь). Открыв терминал (или находясь в консоли) с правами обычного пользователя, введите команду $ su - для повышения уровня привелегий. Символы '$' и '#' в начале строки не являются частью команды и не должны вводится. Прочие команды могут выполняться с правами обыкновенного пользователя.
Содержание |
[править] Установка
[править] Подготовка
Ставить rtorrent не просто, но очень просто, как и всё что находится в Fedora Extras:
# yum -y install rtorrent
Также можно найти более новую версию в dag: rtorrent и libtorrent.
[править] Настройка
Создадим файл с настройками:
$ cat <<EOF >>~/.rtorrent.rc port_range = 10000-10005 check_hash = yes directory = /mnt/storage/torrent session = /mnt/storage/torrent tos = default upload_rate = 95 download_rate = 0 EOF
В этом примере, в домашнем каталоге пользователя (не обязательно root, более того - желательно в каталоге пользователя отличного от root) создам файл со следующими настройками:
- проверять хеш торрентов после завершения закачки
- прослушивать свободный порт из диапазона 10000-10005
- использовать сессии, и сохранять торренты и закачки в /mnt/storage/torrent
- установить поле TOS исходящих IP пакетов по умолчанию для системы (но не по умолчанию для rtorrent). Если не определить эту настройку возможны задержки в комбинациями с некоторыми рутерами.
- ограничить отдачу скоростью 95 kb/s
- не ограничить закачку
В список правил iptables добавляем строки (мы же хотим быть подключаемыми):
# iptables -A INPUT -p tcp -m state --state NEW -m multiport --destination-ports 10000:10005 -i $EXTIF -j ACCEPT # iptables -A INPUT -p udp -m state --state NEW -m multiport --destination-ports 10000:10005 -i $EXTIF -j ACCEPT
если наш клиент не имеет внешнего IP, тогда на рутере (а у нас там Linux, верно?) настраиваем DNAT
# iptables -t nat -A PREROUTING --dst $INET_IP -p tcp -m multiport --destination-ports 10000:10005 -j DNAT --to-destination $LANSERV_IP # iptables -t nat -A PREROUTING --dst $INET_IP -p udp -m multiport --destination-ports 10000:10005 -j DNAT --to-destination $LANSERV_IP
В этих примерах: EXTIF - имя устройства "глядящего" наружу. например eth0 INET_IP - внешний IP адрес LANSERV_IP - IP адрес машины на которой запущен rtorrent клиент
[править] Запуск
Теперь можно запускать rtorrent:
$ rtorrent
Управляем клиентом стрелками и: backspace - для добавления torrent'a (работает автозаполнение по Tab) return - то же самое, но торрент остаётся неактивным Ctrl-O Указать иной каталог для торрента. Ctrl-s Запустить закачку (опционально проверив хеш) Ctrl-d Остановить активную закачку, или удалить неактивный торрент. Ctrl-r Перепроверить хеш.
Больше можно узнать в странице man rtorrent или Руководстве пользователя.
Внимание: скорее всего вы не сможете воспользоваться комбинациями клавиш Ctrl-s, Ctrl-q, так как они используются для управлением терминалом. Впрочем есть решение - перед запуском rtorrent (или screen) выполнить команды:
$ stty stop undef $ stty start undef
[править] Удаленное управление
Усложняем задачу: имеем удаленный сервачок (конечно на нем запущен Fedora Core 6), без видеокарты, но с сетевухой и хорошим каналом в интернет - грех подобным не воспользоваться ;) Для организации отключаемых сессий можно воспользоваться dtach или screen (обе можно найти в репо Fedora Core). Мы воспользуемся последним.
$ yum install screen
Хотя предположительно наш сервер не перезагружается, неплохо бы обеспечить запуск rtorrent при запуске системы:
# cat <<EOF >/etc/init.d/rtorrent #!/bin/bash # # Starting rtorrent in a screen session as daemon # Author: Vasile Vsx # # chkconfig: 2345 50 01 # # description: start rtorrent detached # processname: rtorrent # source function library . /etc/rc.d/init.d/functions # Source networking configuration. [ -r /etc/sysconfig/network ] && . /etc/sysconfig/network # Check that networking is up. [ "\${NETWORKING}" = "no" ] && exit 0 if [ -f /etc/sysconfig/rtorrent ]; then . /etc/sysconfig/rtorrent fi if [ -z \$RTORRENT_USER ]; then exit 0 fi RETVAL=0 start() { echo -n "Starting rtorrent: " daemon --user \$RTORRENT_USER /usr/bin/screen -dmS rtorrent /usr/bin/rtorrent \$OPTIONS RETVAL=\$? echo } stop() { echo -n "Stopping rtorrent: " killproc rtorrent -INT RETVAL=\$? echo } restart() { stop start } case "\$1" in start) start ;; stop) stop ;; restart) restart ;; status) status rtorrent ;; *) echo $"Usage: \$0 {start|stop|status|restart}" exit 1 esac exit $RETVAL EOF # chmod +x /etc/init.d/rtorrent # chkconfig --add rtorrent
Определяем пользователя используемого для запуска rtorrent
# cat <<EOF >/etc/sysconfig/rtorrent RTORRENT_USER=username EOF
запускаем и останавливает rtorrent командами:
# /sbin/service rtorrent start
и
# /sbin/service rtorrent stop
Подключаемся к запущенной сессии:
$ screen -r
отключаемся сочетанием клавиш: Ctrl-a d
Также создаем простой скрипт (rt):
$ mkdir ~/bin && cat <<EOF >~/bin/rt #!/bin/sh stty stop undef stty start undef screen -rS rtorrent EOF chmod +x ~/bin/rt
Последнее изменение этой страницы: 16:31, 3 июля 2008. К этой странице обращались 1502 раза.
