Установка Deluge BitTorrent в Ubuntu Server. Deluge - изучаем и пробуем Автозапуск демона Deluged от имени пользователя «deluge»

21.05.2022 Apple

Расскажите мне, как сделать, чтобы apf-firewall был закрыт для большинства портов, но работала samba в локалке, и торрент-клиент, например Deluge.
Дистрибутив: Debian Jessie
Ядро: 3.14-2-amd64
Режим, в котором фаервол через 5 минут отключается, выключен. Настраивал, как написано тут: https://www.debian.org/releases/slink/i386/ch-init-config.ru.html Vuurmuur не предлагать - это кривая каличная утилита, да ещё и бородатая.

Ну, как вариант, можете аргументировать, почему на домашнем ПК firewall не нужен.

Deluge отлючает интернет (WiFi)

Привет всем. Пытаюсь чтонить скачать через Deluge - торрент трекер в xubuntu 14.04.1, и у меня выключается секунд через 15 интернет-соединение, точнее просто тупо интернет-недоступен, deluge тоже перестает качать. Приходится перезагружать WiFi и потом опять ждать 10-15 секунд. Что-то кароче не доброе. Может кто знает, как все-таки решить проблемку.

deluge и рутрекер

автостарт службы в opensuse 13.1

Ничего не понимаю. Установил Deluge, скачал скрипт, закинул в init.d, создал симлинк в rc5.d в YAST - управление службами(service manager) служба появилась ставлю ей Enabled, сохраняю захожу снова, а оно снова Disabled. Что за? Запускается нормально без глюков, а с системой стартовать не хочет.

UPnP в Transmission работает, в Deluge и qBittorrent - не работает.

На роутере (федоро19-роутер) для UPnP стоит linux-igd, дефолт.

На клиенте запускаю Transmission, на роутере в iptables -L видны проброшенные порты, логи linux-igd красноречивы. Гуд.

На клиенте запускаю qBittorrent или Deluge (upnp включил, конечно) - порты не пробрасываются, входящих соединений нет, iptables на роутере молчит, логи linux-igd молчат. Бэд.

До этого замечал, что с роутерами-коробочками (типа asus, tp-link) - transmission наоборот не работает с UPnP, а qBittorrent работает.

Что крутить? Или скажите хотябы: «УМВР, linux-igd и qBittorrent (или Deluge).»

Deleted (28.02.14 13:25:31)

Торрент клиент для высокой нагрузки

Хочу поинтересоваться у хардкорщиков с 1000+ активных раздач, какой клиент нынче оптимален для такого сценария. Рассматриваю только серверные и демонические клиенты с адекватными системными требованиями.

Особо интересует потребление памяти и процессора, устойчивость к нетривиальным торрентам (длинные имена файлов), устойчивость к ошибкам и их последствиям при скачивании, группировка раздач вместо цельного списка.

Пока под наблюдением Transmission, Deluge, qBittorent. Но косяки есть у всех. qBittorent не имеет нормальной морды для клиент-серверного взаимодействия (может уже допилили, не нашел), не понимает длинных имен (больше чем позволяет ФС).. Deluge (особенно гуй) начинает тупить именно на 100+ торрентах, частые косяки с перехешированием (раньше точно были). Transmission лепит все раздачи в линейный список без всякой группировки, что в указанных масштабах будет «внушать», не понимает длинных имен.

Deluge тупит с колонками

Колонки загружено, отдано и некоторые другие не отображаются как их не отмечай. Те, которые стоят по умолчанию (например #,имя,размер,состояние) спокойно включаются и выключаются. Что делать? Может это в конфигах пофиксить можно? Вот только я не знаю в каком файле искать.
Если вдруг это извечный баг deluge, который не фиксится, то подскажите альтернативы. Я частично знаком с ними. Из тех, что знаю и визуально понравился - kTorrent например. Но у меня третьегном, а держать тяжелые либы кед говорят плохо.

Deluge как сделать так чтоб автоматически запускался от пользователя torrent в arch-линуксе

Автозапуск демона Deluged от имени пользователя «deluge»

Имеется сервер с debian 7.2. Система инициализации systemd.

Требуется: запускающийся, при запуске системы, deluged от пользователя «deluge», доступ к демону через windows GUI по стандартному порту 58846.

Доступ к папке с торрентами разрешен пользователю deluge, cмонтирована с помощью самбаклиента в /mnt.

Установил deluged, deluge-console. Разрешил удаленный доступ. Создал deluged.service, поместил в него скрипт с официального вики :

Description=Deluge Bittorrent Client Daemon After=network.target User=deluge Type=simple ExecStart=/usr/bin/deluged -d WantedBy=multi-user.target

adduser --disabled-password --system --home /home/deluge --group deluge

echo "deluge:pass:10" >> ~/.config/deluge/auth

Врубаю deluged.service:

systemctl daemon-reload systemctl enable deluged.service systemctl start deluged.service

Демон запускается, работает, порт занимает. Но пускать через виндовый GUI не хочет. Меняю в deluged.service пользователя на root - пускает.

Что я делаю не так? Права какие-нибудь нужны пользователю deluge?

демон deluged не выгружается

В deluge указываю выйти&остановить демон или сначала останавливаю из меню. Жду какое то время. И всё равно он активный в топе. На обычный kill не реагирует, только со страпоном. Ваши идеи? Package: deluge

Deluge и мистика

Вот только что сейчас случилось нечто странное. Слушаю я интернет-радио. И вдруг оно начинает лагать. Смотрю на график скорости. Вижу, что что-то выжрало почти всю полосу. Начинаю смотреть порты, выключать разные демоны. Смотрю скорость, которую отжирает deluge через deluge-console. Рапортаруемая скорость и близко не стоит с отжираемой. Iftop говорит, что соединений много и не с портом демона deluge. Отключаю все же deluge. Скорость резко упала. Ради эксперимента включил и выключил демон пару раз. Трафик явно корелировал с включением/выключением демона. Что это было?!

Как в Deluge удалять.torrent после добавления?

Ищу новую торрентокачалку

Обязанности:
- работать круглосуточно демоном;
- иметь визуальный интерфейс для добавления/удаления торрентов, который бы коннектился к демону;
- возможность настройки приёма соединений от клиентов через юникс-сокет и/или конкретный диапазон сетевых интерфейсов или IP адресов этих интерфейсов;
- многопользовательская аутентификация, желательно с ограничением доступа;
- не иметь проблем с гуёвым интерфейсом;
- клиенты должны уметь получать и показывать инфу в классическом полном табличном виде;
- клиент-сервер не должен быть реализован на протоколе http(s);
- быть нативной под линукс.

Краткая история, чем я пользовался до этого:
Давным-давно пользовался vuze aka azureus - не понравился интерфейс.

Потом был deluge, которым я пользовался успешно до тех пор, пока после очередной пересборки мира вылезли пихтонопроблемы. Интерфейс делюжа близок к идеалу, имейте это в виду.

Тогда я решил попробовать rtorrent, который освоил, хоть и замучился перетаскивать все открытые закачки с делюжа на него. rtorrent классный, но с ним могу работать только я, а есть ещё остальная семья.

Поэтому после rtorrent я снова попробовал делюж, но там опять были пихтонопроблемы. Тогда я создал тред, аналогичный этому и пересел на transmission-daemon и transmission-remote-gtk. Последний достал тем, что в меню добавления торрента он не позволяет нормально выбрать папку, заставляя вдабливать каждый путь руками. Последние версии переползли на gtk+3 чем окончательно
подтвердили моё желание с него слезть. Нет, я не против gtk3 как такового, просто я считаю, что gtk - это сраный глюкодром, да и для третьей версии у меня даже темы не поставлено.

Сегодня поставил делюж. В этот раз и сервер и клиент заработали, был приятно удивлён упрощением организации аутентификации (раньше надо было пароли через консоль генерить, сейчас плейнтекст в файле), но разочаровало отсутствие вменяемой настройки интерфейса, на котором делюж слушает соединения. Делюж умеет в две крайности - либо он слушает локалхост, либо на 0.0.0.0. Однако ж меня ждал её один сюрприз - когда я попытался добавить файл, я обнаружил, что диалог выбора файла практически никогда не работает правильно, за исключением того случая, когда путь находится в позиции последнего выбранного. // Уж не по этой ли причине аналогичный элемент у трансмишена выполнен в виде убогой вбивалки?

Deleted (23.01.13 20:31:28)

Сортировать на добавлению.

Deluge не переносит файлы завершённых закачек

Используется Deluge 1.3.5 из репозитария. Дистрибутив - archlinux x86_64. Задаю в настройках каталог для скачивания и каталог для завершённых раздач. Не работает. Подключал также плагин AutoAdd, в котором тоже есть подобная настройка - не переносит и всё тут. Торренты начинают качаться, как только.torrent-файл появляется в нужном каталоге.

Пробовал использовать как демона, так и «классический интерфейс» - разницы никакой. Пробовал даже удалить deluge, все его настройки, и поставить заново - не работает, из AUR"а тоже собирал, безрезультатно. Права на каталог для завершённых закачек уже 777 поставил, не помогает, проблема не в этом. Когда-то очень давно всё работало, а потом как-то, я даже не заметил. когда, перестало.

Кто-нибудь встречался с подобной проблемой? И как её побороть? Использовать transmission не предлагать.

Deluge в связке ПК-Ubuntu + Server-NAS4Free (FreeBSD)

постараюсь выразиться правильно и доходчиво. Ввиду того, что Transmission Remote GUI каряво работает на Ubuntu 12.10 (лично у меня) решил сотворить подобие этого другим софтом. Выбор пал на Deluge . Нашел инструкцию http://dev.deluge-torrent.org/wiki/UserGuide/ThinClient Сделал Installing Deluge On FreeBSD

В пункте Private IP : вписал IP локальный сервера (NAS) допустим для примера он 192.168.68.68

ifconfig | grep -e "inet addr" | grep -v "192.168.68.68" | cut -f2 -d":" | cut -f1 -d" "

Deluge добавление расширения для незавершенных файлов

приоритеты файлов в торенте, закачка

Имеется торент файл, в нем имеется структура каталогов, файлы именуются по их хешу. На компьютере у меня уже имеются некоторые файлы. Надо расставить приоритет «0» на файлы в торенте, которые присутствуют. Язык python, библиотека для торента - libtorrent от rasterbar. Покопался в исходниках deluge(он написан на python и использует эту же библиотеку). буду получать торент файл или magnet-ссылку, но это не суть.

Почему переход именно на KTorrent?
KTorrent лишён вышеприведённых недостатков Deluge, при этом по функционалу и отзывчивости не уступает. Памяти потребляет примерно столько же, несмотря на kde"шные библиотеки. Что же касается других торрент-клиентов, то они не дотягивают до функционала Deluge и KTorrent. Лишь qBittorrent мог стать альтернативой, но он забанен на pornolab"е и всё-таки создаёт пустые каталоги (с «пустыми» файлами проблема решена).

Итак, изучая регулярные выражения и консольные юникс-утилиты, написал скрипт для переноса делюговских закачек и раздач. Хотелось бы обратить внимание на тройку вещей:

  • Статус неотмеченных для закачки файлов в мультифайловых раздачах не перенесётся (т.е. по умолчанию будут все отмечены).
  • Когда запустите KTorrent, то все перенесённые раздачи/закачки будут остановлены и нужно будет их перехешировать, выделяя каждую раздачу и нажимая SHIFT+C (более быстрого способа не нашёл. В некоторых торрент-клиентах достаточно нажать «стартовать все», но KTorrent в этом случае будет перезакачивать, а не перехешировать).
  • Работоспособность проверялась на Ubuntu 12.04, Deluge 1.3.5, KTorrent 4.1.3

#!/bin/bash #Deluge2KTorrent script #written by takiz aka dadd printf "%s\n" "...ждите..."; #отсеиваем пути к файлам из torrents.state и фиксим русскую кодировку egrep "^S.\/" ~/.config/deluge/state/torrents.state | sed -e "s/^..//;s/.$/\//;s/\//#/g" > paths; t=`cat paths`; printf "%b\n" $t > paths; #отсеиваем названия торрентов и удаляем дублирующиеся по одному из каждой пары egrep "{22,99}" ~/.config/deluge/state/torrents.state | sed -e "s/^..//;s/.$//" | perl -ne "print unless $U{$_};$U{$_}=1;" > torrents; #создаём временный файл скрипта для создания каталогов и запускаем printf "%b\n" "#!/bin/bash\nmkdir ~/.kde/share/apps/ktorrent/tor{1..100500}" > temp1.sh; chmod 774 temp1.sh; strok=`sed -n "$=" torrents`; sed -i -e "s/100500/"$strok"/" temp1.sh; ./temp1.sh; #создаём скрипт копирования и запускаем printf "%s\n" "#!/bin/bash" > temp2.sh; chmod 774 temp2.sh; cat torrents | awk "{print $0".torrent ~/.kde/share/apps/ktorrent/tor"NR"/torrent"}" | sed "s/^/cp ~\/\.config\/deluge\/state\//" >> temp2.sh; ./temp2.sh; sleep 10; #создаём шаблон stats printf "%b\n" "AUTOSTART=0\nOUTPUTDIR=" > stats; #создаём stats файлы с путями a=2; while read f2; do sed -e "1,/.*/{n;s/\(.*\)/\1$f2/}" stats >stats$a; a=$(($a + 1)); done < paths; sed -i -e "s/#/\//g" stats*; #добавляем в скрипт копирования пути stats и запускаем cat temp2.sh | awk "{sub(/\~\/[^ ]*\.torrent/, "stats"NR)}1" | sed "s/\/torrent/\/stats/;s/cp st/mv st/" > tmpfile; mv tmpfile temp2.sh; chmod 774 temp2.sh; ./temp2.sh; sleep 5; #удаляем временные файлы rm paths torrents stats temp1.sh temp2.sh; printf "%s\n" "ok";

Проверьте баг в Deluge

Скорее всего, касается только Fedora.

1. Качаем.torrent
2. Указываем любую папку для загрузки.
3. Ждем окончания скачивания.
4. Что бы ни указали в п.2, видим свои файлы в /home/username/

Запилю багрепорт, если проявляется еще хоть у кого-то, если нет - ищу проблему у себя.
P.S. проблема появилась, как мне кажется, после долгожданного обновления до 1.3.5.

Установка

Чтобы получить последнюю версию добавляем PPA репозиторий:

Sudo apt-get update
sudo apt-get install python-software-properties sudo add-apt-repository ppa:deluge-team/ppa

Обновляем список пакетов:

Sudo apt-get update

Устанавливаем клиента, консоль и демона:

Sudo apt-get install deluge-common deluge-console deluged

Если хотим веб-интерфейс ставим и его:

Sudo apt-get install deluge-webui

Все! Запускаем демона:


Настройка

Что бы включить удаленный доступ запускаем консоль:

Deluge-console

И выполняем комманды:

Config -s allow_remote True
config allow_remote

Выходим из консоли:

Добавляем пользователя для удаленного доступа (эти данные никак не связаны с вашим linux пользователем) и указываем права доступа:

Echo "username:password:level" >> ~/.config/deluge/auth

Подробнее по правам доступа .

И перезапускаем демона:

Pkill deluged
deluged

Если хотим чтобы deluge запускался вмести с системой необходимо создать скрипты которые будут это делать.

Создаем конфиг:

Sudo vim /etc/default/deluge-daemon

Вставляем туда этот код, обязательно в DELUGED_USER должен быть указан пользователь от имени которого будет работать демон:

# Configuration for /etc/init.d/deluge-daemon

# The init.d script will only run if this variable non-empty.
DELUGED_USER=""

# Should we run at startup?
RUN_AT_STARTUP="YES"

Создаем скрипт запуска:

Sudo vim /etc/init.d/deluge-daemon

И пишем в него:

#!/bin/sh
### BEGIN INIT INFO
# Provides: deluge-daemon
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Daemonized version of deluge and webui.
# Description: Starts the deluge daemon with the user specified in
# /etc/default/deluge-daemon.
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Deluge Daemon"
NAME1="deluged"
NAME2="deluge"
DAEMON1=/usr/bin/deluged
DAEMON1_ARGS="-d" # Consult `man deluged` for more options
DAEMON2=/usr/bin/deluge-web
DAEMON2_ARGS="" # Consult `man deluge-web` for more options
PIDFILE1=/var/run/$NAME1.pid
PIDFILE2=/var/run/$NAME2.pid
UMASK=022 # Change this to 0 if running deluged as its own user
PKGNAME=deluge-daemon
SCRIPTNAME=/etc/init.d/$PKGNAME

# Exit if the package is not installed
[ -x "$DAEMON1" -a -x "$DAEMON2" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$PKGNAME ] && . /etc/default/$PKGNAME

# Load the VERBOSE setting and other rcS variables
[ -f /etc/default/rcS ] && . /etc/default/rcS

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

if [ -z "$RUN_AT_STARTUP" -o "$RUN_AT_STARTUP" != "YES" ]
then
log_warning_msg "Not starting $PKGNAME, edit /etc/default/$PKGNAME to start it."
exit 0
fi

if [ -z "$DELUGED_USER" ]
then
log_warning_msg "Not starting $PKGNAME, DELUGED_USER not set in /etc/default/$PKGNAME."
exit 0
fi

#
# Function that starts the daemon/service
#
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --exec $DAEMON1 \
--chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK --test > /dev/null
RETVAL1="$?"
start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --exec $DAEMON2 \
--chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK --test > /dev/null
RETVAL2="$?"
[ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] || return 1

Start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --make-pidfile --exec $DAEMON1 \
--chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON1_ARGS
RETVAL1="$?"
sleep 2
start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --make-pidfile --exec $DAEMON2 \
--chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON2_ARGS
RETVAL2="$?"
[ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] || return 2
}

#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred

Start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE2
RETVAL2="$?"
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE1
RETVAL1="$?"
[ "$RETVAL1" = "2" -o "$RETVAL2" = "2" ] && return 2

Rm -f $PIDFILE1 $PIDFILE2

[ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] && return 0 || return 1
}

case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME1"
do_start
case "$?" in

esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME1"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME1"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac

Устанавливаем права на выполнение для root:

Sudo chmod 755 /etc/init.d/deluge-daemon

Добавляем скрипт в автозагрузку и выгрузку:

Sudo update-rc.d deluge-daemon defaults

Ну и проверяем сделанную работу.

Я повысился до 12.04, и Потоп сломался. Я хочу удалить его, а затем добавить его снова. Как удалить Deluge?

  1. Пробовал: Поиск в программном центре Ubuntu
    Ошибка: кнопка читает «Установить» (но она уже установлена!)
  2. Пробовал: sudo apt-get remove --purge deluge
    Failed: Output read Removing deluge... но я все еще могу найти его, когда я ищу свою тире

Если sudo apt-get remove --purge deluge удалось, то пакет deluge был успешно удален.

Если пункты меню все еще отображаются в тире, это не обязательно означает, что программа все еще установлена, только ссылки на нее остаются где-то. Возможно, тире хранит свой собственный кеш того, что находится в вашем меню, и требуется некоторое время, чтобы понять, что было сделано изменение.

Не стесняйтесь идти вперед и переустанавливайте потоп, чтобы увидеть, работает ли он.

Для дальнейшего использования вы должны искать dotfiles в ~/ или в ~/config которые относятся к Deluge. Это наиболее вероятное место для хранения данных для вашей учетной записи. Попробуйте очистить или переименовать это. Это может решить вашу оригинальную проблему (вместо того, чтобы повторно установить его).

Вы попробовали полное удаление с помощью диспетчера синаптических пакетов?

Установить синаптический синаптический sudo apt-get install synaptic

У меня была та же проблема, что и удаление потопа. Я понял, что у меня установлена ​​версия GTK, поэтому просто удалить deluge не удалось. Я использовал sudo apt-get remove --purge deluge-gtk

В соответствии с ОП с использованием sudo apt-get remove --purge deluge является правильным способом

Если вы установили из исходных файлов или вам нужно найти оставшиеся файлы Deluge, в руководстве по виджетам Deluge есть сведения: RemovingFromSystem

Наиболее вероятная причина, по которой она все еще появляется в Dash, связана с остаточным файлом deluge.desktop .

Вы можете использовать locate deluge который быстро отобразит каждый файл / папку с именем потоп, и вы сможете определить, действительно ли приложение было удалено.

Если вы установили Deluge из исходного кода, вам придется вручную удалить файлы. Основная папка приложения потопа обычно устанавливается в папке сайта python или в папке dist-packages, которая должна быть видна на выходе из указанной выше команды. Вам также необходимо удалить двоичные файлы потопа из / usr / local / bin / или / usr / bin / .

Как упоминает neon_overload, если у вас возникли проблемы с Deluge, резервное копирование и удаление старой конфигурации может помочь исправить проблемы с обновлением. Расположение по умолчанию: ~/.config/deluge

Sudo apt-get remove --purge deluge

Очевидно, вы понимаете, что при поиске «Потопа» вы все равно получите его на экране.

Это оставшиеся файлы потопа – чтобы полностью удалить их из вашей системы,

Sudo apt autoremove deluge

Поиск и отсутствие потопа появятся ….. Магия

На сервере BitTorrent клиент Deluge и управлять им через web-интерфейс(WebUI). К сожалению WebUI поддерживает не все возможности Deluge. Особенно в плане плагинов, большую часть которых невозможно сконфигурировать через WebUI. К счастью графический (GTK UI) интерфейс Deluge позволяет соединяться с клиентом удалённого сервера и управлять им с той же лёгкостью, с которой управляется локальный клиент.
Мы имеем: Удалённый сервер (в локальной сети) под управлением Debian 7 и установленным на него демоном Deluge в паре с WebUI, а так же домашний компьютер под управлением Linux Mint 14 (Ubuntu 12.10). Процесс установки серверной части мы опустим, так как он подробно расписан в , посвящённой Deluge. Переходим к настройкам и установке клиентской части на домашний ПК.
Стоит заметить, что наличие WebUI на сервере не обязательно, но лишним он не будет, если вы планируете подключаться к Deluge не только из дома. В связи с этим начать настройки можно тремя способами, предварительно установив GTK UI на локальный компьютер:
aptitude install deluge deluge-gtk
После запускаем демон на сервере и задаём логин и пароль для удалённого доступа. Команду нужно выполнить от имени пользователя, от которого работает Deluge Daemon.
echo "username:password:level" >> ~/.config/deluge/auth
Где «username» - пользователь, «password» - пароль, а «levil» - уровень доступа. Пользователь и пароль могут быть произвольными. Необязательно, чтоб они совпадали с именем пользователя, от которого работает демон. Демон при этом должен быть запущен.
Уровни доступа:

  • 1 - только чтение.
  • 5 - пользователь.
  • 10 - Администратор.
1. Первый способ подразумевает наличие WebUI на сервере. В настройках необходимо включить удалённый доступ к демону, дабы дать нам возможность соединяться с Deluge удалённо.

2. Во втором способе мы используем Deluge Console. Для этого её нужно установить на сервер.
aptitude install deluge-console
Запускаем консоль
deluge-console
В ней командуем:
config -s allow_remote True config allow_remote
Выходим из консоли:
exit
Все действия с консолью так же нужно выполнять от имени пользователя, от которого работает Deluge.
Перезагружаем демон:
/etc/init.d/deluge-daemon restart
3. В третьем способе мы используем SSH-туннель от домашнего компьютера к серверу. В этом случае включать удалённый доступ на стороне сервера необязательно. Открываем локальный терминал и пишем следующее:
ssh -fNL 127.0.0.2:58846:localhost:58846 server
Где «server» - ip-адрес нашего сервера. Мы используем 127.0.0.2 вместо localhost, так что клиент знает, что мы соединяемся с удалённым демоном. Если у вас вылетает ошибка «bind: Can"t assign requested address», то выполняем следующую команду (добавляем алиас к локальной петле):
sudo ifconfig lo0 add 127.0.0.2
После чего повторяем предыдущую команду.
Далее запускам GTK UI на локальном компьютере и в настройках интерфейса снимаем галку напротив Классического Режима (Classic Mode), после чего перезапускам UI. Теперь при старте GTK UI мы видим всплывающее окно Менеджера Соединений. Удаляем из списка локальный демон и прописываем адрес удалённого. В зависимости от способа, выбранного ранее, в поле Hostname прописываем либо ip нашего сервера, где располагается Deluge, либо, в случае ssh-туннеля, 127.0.0.2. Порт не трогаем, если не меняли порт демона во время конфигурации серверной части. Имя пользователя и пароль - указываем данные, которые мы задавали в файле ~/.config/deluge/auth.


На этом всё. Если всё сделано правильно, то мы смелом можем соединяться с демоном через локальный GTK UI, в котором нам будет доступно всё то, чем мы не могли воспользоваться через WebUI.
На скриншоте показано два соединения. Первое - удалённое, требующее включённой ранее опции, разрешающей удалённый доступ к демону. Второе - соединение, использующее ssh-туннель. Зелёные галочки означают, что соединения доступны.


Важно! Версии серверной и клиентской части программ должны быть той же линейки. Например, у меня на сервере версия программы - 1.3.3, на домашнем компьютере - 1.3.5. Это нормально. Если на сервере поднята версия 1.2.Х, а на ПК 1.3.Х (или наоборот), то даже если конструкция заработает (что мало вероятно), проблемы неизбежны.

Все последующие шаги описываются на примере 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

Description=Deluge Bittorrent Client Daemon After=network.target 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 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

$ 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

Тем самым мы запустили демона, конфиг которого был описан ранее.