Настройка торрент-клиента deluge на удаленном сервере
 Все последующие шаги описываются на примере Fedora, но могут быть адаптированы под любой другой дистрибутив.
Все последующие шаги описываются на примере Fedora, но могут быть адаптированы под любой другой дистрибутив.
Установка
Установка - это самое простое, что может быть.
$ sudo dnf install deluge-daemon deluge-console
Ставим консольный клиент, а так же cli для него.
Пока все. Клиент готов к работе. Его уже можно включить и пользоваться.
$ sudo systemctl enable deluge-daemon  
$ sudo systemctl start deluge-daemon
Но в такой конфигурации есть много проблем:
- отсутствие логов
- неправильное распределение по портам сервера
Вам это надо? :)
Логи
Сразу после установки демон готов к запуску. Но та конфигурация, которую предлагают поставщики дистрибутива - она не совсем удачна. В ней отсутсвует логирование происходящего.
Для этого нам надо поставить logrotate.
$ sudo dnf install logrotate
Сконфигурировать его для поддержки новых правил ротации. Для этого создадим файл /etc/logrotate.d/deluge примерно следующего содержания
/var/log/deluge/*.log {  
 rotate 4  
 weekly  
 missingok  
 notifempty  
 compress  
 delaycompress  
 sharedscripts  
 postrotate  
 initctl restart deluged >/dev/null 2>&1 || true  
 initctl restart deluge-web >/dev/null 2>&1 || true  
 endscript  
}
А так же папку для хранения логов. И дадим ей нужные права.
$ sudo mkdir /var/log/deluge/  
$ sudo chown deluge:deluge /var/log/deluge
Теперь осталось включить поддержку логов для демона.
Создаем новое описание демона для systemd в /etc/systemd/system/deluged.service
[Unit]  
Description=Deluge Bittorrent Client Daemon  
After=network.target
[Service]  
Type=simple  
User=deluge  
Group=deluge  
UMask=007
ExecStart=/usr/bin/deluged -d -l /var/log/deluge/daemon.log -L warning
Restart=always  
TimeoutStopSec=300
[Install]  
WantedBy=multi-user.target
Отлично. Осталось настроить iptables и сам deluge.
Настройка iptables
В ряде случаем достаточно просто открыть нужные порты
$ sudo iptables -A INPUT -p tcp --dport 56881:56889 -j ACCEPT  
$ sudo iptables -A INPUT -p udp --dport 56881:56889 -j ACCEPT
Но в некоторых конфигурациях могут наблюдаться проблемы с механизмом conntrack, который помечает ряд пакетов как invalid (особенно это касается dht трафика).
Поэтому стоит отключить conntrack для всех соединения deluge.
$ sudo iptables -t raw -I PREROUTING -p udp --dport 56881:57200 -j NOTRACK  
$ sudo iptables -t raw -I OUTPUT -p udp --sport 56881:57200 -j NOTRACK  
$ sudo iptables -t raw -I PREROUTING -p tcp --dport 56881:57200 -j NOTRACK  
$ sudo iptables -t raw -I OUTPUT -p tcp --sport 56881:57200 -j NOTRACK  
$ sudo iptables -I INPUT -p icmp --icmp-type 3 -j ACCEPT  
$ sudo iptables -I INPUT -p icmp --icmp-type 4 -j ACCEPT  
$ sudo iptables -I INPUT -p icmp --icmp-type 11 -j ACCEPT  
$ sudo iptables -I INPUT -p icmp --icmp-type 12 -j ACCEPT
В любом случае тепень надо сохранить конфигарцию iptables.
$ sudo /usr/libexec/iptables/iptables.init save
Локальная авторизация
Чтобы мы могли успешно пользоваться deluge-console локальная авторизация должна быть включена для нашего пользователя.
Т.е. должен быть файл ~/.config/deluge/auth содержащий строку логина-пароля
localclient:тут_длинный_хеш:10
Скопировать этот файл можно из каталога /var/lib/deluge/.config/deluge
$ sudo cat /var/lib/deluge/.config/deluge/auth >> ~/.config/deluge/auth
Запуск и гонфигурирование демона
$ sudo systemctl enable deluged  
$ sudo systemctl start deluged
Тем самым мы запустили демона, конфиг которого был описан ранее.
Осталось его настроить.
$ deluge-console
Вбиваем следующий набор команд
Заставляем deluge слушать только определенный диапазон портов (который был открыт ранее)
config -s listen_ports (56881, 56891)
Принудительно заставляем демон выходить только через определенный набор портов
config -s outgoing_ports (56890, 57200)
Все
Теперь все. Каталог, в который будут сохраняться торренты - /var/lib/deluge/Downloads
Дополнительные ссылки:
https://wiki.archlinux.org/index.php/Deluge
Категории: HowTo