Удобный и безопасный torrent-клиент Deluge. Установка на Ubuntu Server.

Торренты прочно вошли в нашу жизнь как удобное средство обмена файлами через сеть интернет. Однако, рано или поздно встаёт вопрос, насколько безопасно это использование и рационально ли мы используем для этого компьютер. Торрент-обмен строится на базе пиринговой сети, о которой я упоминал в другой своей статье – о клиенте и сервере, а пользователь использует клиентское приложение, которое и выполняет всю работу по файловому обмену. Весь вопрос безопасности сводится к тому, кем изготовлено это приложение и насколько качественно оно сделано. Если на компьютере, где установлен торрент-клиент, находится какая-либо конфиденциальная информация (личные файлы, семейные фотографии, сканы документов), то я не считаю установку торрент-клиента на такой компьютер хотя бы сколько-нибудь безопасной. Гораздо было бы удобнее разместить торрент-клиента на отдельном компьютере или виртуальной машине, давать удаленно задачи на файловый обмен и забирать готовые файлы по мере выполнения. Об этом речь в этой статье, а устанавливать будем софт на Ubuntu 22.04 Server. В качестве клиента будет использоваться веб-интерфейс.

Сначала устанавливаем сам сервер Deluge и его вспомогательный веб-сервис:

sudo apt-get install deluged deluge-web

В Ubuntu 22.04 вместе с установкой Deluge не происходит автоматического формирования файлов настройки сервиса, по этому их нужно создать вручную. Для этого нужно открыть необходимый каталог:

cd /etc/systemd/system

Теперь создадим сначала файла deluged.service:

sudo nano deluged.service

и наполним его следующим содержимым:

[Unit]
Description=Deluge Bittorrent Client Daemon
Documentation=man:deluged
After=network-online.target

[Service]
Type=simple
User=deluge
Group=deluge
UMask=000
ExecStart=/usr/bin/deluged -d
Restart=on-failure
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

После этого создадим файл deluge-web.service:

sudo nano deluge-web.service

Со следующим содержимым:

[Unit]
Description=Deluge Bittorrent Client Web Interface
Documentation=man:deluge-web
After=network-online.target deluged.service
Wants=deluged.service

[Service]
Type=simple
User=deluge
Group=deluge
UMask=022
ExecStart=/usr/bin/deluge-web -d
Restart=on-failure

[Install]
WantedBy=multi-user.target

Проверьте, действительно ли исполняемые файлы находятся по этому пути (ну кто его знает куда их в следующий раз запихнут):


/usr/bin/deluged

/usr/bin/deluge-web

Если вдруг оказалось, что там их нет, то найдём их, для этого сначала возвратимся в корневой каталог и запустим поиск:

cd /

find / -name deluged

Лично у меня с этим проблем не возникло:

Теперь нужно создать пользователя, того самого, которого указали в настройках сервиса (это был пользователь deluge). От его имени будет выполняться сервис. Создаётся он просто:

sudo adduser deluge

Пароль вводится любой, он всё равно нам вряд ли понадобится, в конце выражаем согласие игреком:

Далее включаем и запускаем работу сервисов:

sudo systemctl enable deluged.service

sudo systemctl enable deluge-web.service

sudo systemctl start deluged.service

sudo systemctl start deluge-web.service

Теперь открываем браузер и вводим путь к вашему Ubuntu серверу с Deluge. У меня это 192.168.1.24 (не забываем указать специальный порт интерфейса):

Пароль входа – это НЕ тот пароль, который вы ставили для пользователя deluge. Это пароль по-умолчанию, который тоже deluge.

На вопрос не хочу ли я сменить этот пароль, лично я отвечаю “Нет”, т.к. кроме меня в сети никто файлы качать не будет, и админить их тоже:

Далее появится окно выбора сервера. Нужно кликнуть (выбрать) по одной единственной строке и далее по кнопке “Start Daemon”:

Сервис веб состыкуется с сервисом deluged (это почему-то обозначается как старт демона) и теперь можно подключиться (нажать кнопку Connect – она станет доступна):

Появится рабочее окно списка торрентов:

Теперь, когда мы убедились, что всё работает, нужно донастроить сервер. Добавлять вручную торренты дело заморочное, по этому хорошо бы каталог, куда мы сразу записывали торрент-файлы (файлы с расширением .torrent) и хорошо бы иметь доступ к папке с уже скачанными файлами, но об этом позже. А пока создадим два каталога внутри домашнего каталога deluge:

sudo mkdir /home/deluge/data

sudo mkdir /home/deluge/torrents

Первая – для данных, вторая для торрент-файлов

Установим хозяина владельца на папки:

sudo chown deluge:deluge /home/deluge/data

sudo chown deluge:deluge /home/deluge/torrents

и проверим, всё ли норм:

Теперь объясню зачем это сделано именно так. Дело в том, что Deluge я устанавливаю на чистый виртуальный свежеустановленный Ubuntu server с минимальными настройками, в частности – 16 ГБ жесткого диска. Конечно, такого размера не хватит практически ни на что. Для того чтобы иметь много пространства, я подключу физический старый дряхлых жесткий диск и прокину его внутрь этой виртуальной. Делаю я так, потому что мне для торрентов жалко нового диска, и рано или поздно он своё отслужит, и когда накроется, я не хочу снова устанавливать Ubuntu, Deluge, Samba и т.п., я просто хочу прокинуть новый такой же старый и дряхлых (извиняюсь за каламбур) жесткий диск и продолжить сразу же работу. Вопрос будет только в том, чтобы перемонтировать этот диск в папку /home/deluge/data и проблема будет решена. Вот для чего я создал папку data – туда будет монтироваться диск большого объёма. Для торрент-файлов такой подход будет избыточным – это небольшие файлики, содержащие только управляющую информацию на закачку.

После подключения диска для готовых файлов к виртуальной (или физической) машине (это не имеет значения), на нём хорошо бы переопределить разделы и отформатировать, но сначала я его найду в списке устройств:

cd /dev

ls -al | grep sd

В результате система покажет какие диски у нас присутствуют:

Вот этот sdb без номера и есть наш новый старый дряхлый диск…хотя вру, у меня это новый виртуальный, новее некуда…на старом дряхлом физическом)))

Я дам ему один единственный раздел всего объёма:

sudo fdisk /dev/sdb

Введем сначала команду n и всё “отэнтерим”, проверим разделы командой p, а затем введем команду w для сохранения и выхода:

Да, диск я взял новый не такой уж и большой – 64 ГБ (не оказалось свободного места на датасторе перед написанием статьи), но это не так критично )).

Проверим, что нового появилось в дисках:

Всё верно – появился диск sdb1. Это как раз и есть наш раздел, но прежде чем сможем его использовать, нужно его отформатировать. Для этого я буду использовать следующую команду (опять отэнтерив вопросы):

sudo mkfs.ext4 /dev/sdb1

Получим результат:

Убедимся, что всё прошло ровно командой blkid:

Видим, что диск sdb1 имеет идентификатор и признак файловой системы ext4.

Создадим на диск папку, куда будем при загрузке системы монтировать этот диск:

sudo mkdir /torrents-disk

Добавим в файл /etc/fstab новую строку:

UUID=51a19ac1-7b9e-4553-ab29-9c99eae704f9 /torrents-disk ext4

Должно получиться как-то так:

Сохраним файл в новом виде и перезагрузим машину командой reboot.

После загрузки проверим всё ли мы сделали правильно командой:

df -h /torrents-disk

Должно получиться как-то так:

Информация свидетельствует о том, что при загрузке системы диск автоматически примонтировался успешно.

Создадим внутри каталога /torrents-disk каталог data:

sudo mkdir /torrents-disk/data

Примонтируем его в папку /home/deluge/data (если вы ещё не забыли зачем мы его вообще в систему добавили):

sudo mount -o bind /torrents-disk/data /home/deluge/data

Убеждаемся, что и папка /home/deluge/data ссылается теперь на наш “большой” диск:

Теперь, возможно у вас возник вопрос,- почему я прямо в fstab не примонтировал диск внутрь /home/deluge. Ответ прост – мне так удобнее в обслуживании, и ещё диск этот может мне понадобиться не только для торрентов, и захочу отдельную папку его примонтировать в другую совсем не связанную с торрент-сервисом. Если 2-3 ТБ, пусть он старый, но использовать его для торрентов, как-то неправдоподобно и бессмысленно. Я такой объем торрентов точно не буду вводить в обмен, по этому буду разделять диск с ещё другими сервисами, какими – потом решу.

Вторую команду монтирования тоже хорошо бы запихнуть куда-нибудь для автоматического выполнения при загрузке системы. Запихну-ка я её в rc.local. Однако, если мы посмотрим внимательно на свежий Ubuntu 22.04, там этого файла нет, а сервис находится в полной отключке))). Исправим это недоразумение)).

Создадим файл /etc/rc.local:

sudo nano /etc/rc.local

Содержимое его будет такое:

#!/bin/sh -e

mount -o bind /torrents-disk/data /home/deluge/data

exit

Сохраним его и дадим права и установим как исполняемый:

chmod 0744 /etc/rc.local

Создадим файл настройки сервиса:

sudo nano /etc/systemd/system/rc-local.service

Должно получиться так:

Включим, стартанём и проверим сервис rc-local.service:

sudo systemctl enable rc-local.service

sudo systemctl start rc-local.service

sudo systemctl status rc-local.service

Должно быть так:

Давайте перезагрузим наш сервачок и убедимся, что после ребута он будет делать ровно то, что должен. Проверим папку /home/deluge/data:

Теперь создадим три каталога внутри /torrents-disk/data.

sudo mkdir /torrents-disk/data/downloads

sudo mkdir /torrents-disk/data/downloaded

sudo mkdir /torrents-disk/data/autouploads

downloads будет хранить торренты пока они находятся в процессе закачки (до конца незакачанные торренты)

downloaded будет хранить файлы, которые полностью закачены и готовы к употреблению, так сказать

autouploads будет хранить торрент файлы .torrents. В эту папку мы будем сохранять задания на закачку, т.е. сами торренты.

На каталог autouploads нужно дать все права, чтобы гостевой пользователь мог туда сохранять торренты:

sudo chmod 0777 /torrents-disk/data/autouploads

На папку /torrents-disk/data и всех, которые внутри устанавливаем владельца:

sudo chown -R deluge:deluge /torrents-disk/data

Теперь организуем сетевой доступ к папке с торрентами и к папке с готовыми загруженными файлами. Делать я это буду путём установки в систему сервиса Samba:

sudo apt-get install samba

Настроим чтобы сервис мог видеть наши папки, для этого отредактируем необходимый файл:

sudo nano /etc/samba/smb.conf

В конец файла допишем:

[autouploads]
comment = Auto uploads
browseable = yes
path = /torrents-disk/data/autouploads
guest ok = yes
read only = no
create mask = 0777

[downloaded]
comment = Downloaded
browseable = yes
path = /torrents-disk/data/downloaded
guest ok = yes
read only = yes
create mask = 0700

Должно получиться так:

В папку autouploads можно будет писать файлы, а из папки downloaded можно будет только читать файлы (оно и логично).

Перезапустим сервис Samba:

sudo /etc/init.d/smbd restart

Проверим, что по сети стал доступен сам сервер \\192.168.1.24\ (вместо моего IP тут будет IP вашего), а папка autouploads доступна для записи (я просто создал тестовый файл):

Попробуем сохранить туда торрент файл:

Файл торрента действительно сохранился в сетевой папке, однако, ожидать его закачки ещё рановато. Нужно настроить сам Deluge и привязать его к нашим каталогам. Откроем эти настройки в веб-интерфейсе:

Сразу же видим, что папка загрузки указано неверно. В Линуксе имеет значение заглавная буква имен или нет. Правильный каталог не Downloads, а downloads. Также сами каталоги находятся внутри /home/deluge/data. Укажем и остальные каталоги и нажмем кнопку Apply:

Переходим в раздел Plugins и добавляем новый плагин AutoAdd. Он нужен чтобы Deluge автоматически забирал файлы из каталога с торрентами (где у нас уже ожидает по крайней мере один файл с торрентом), потом также нажимаем Apply:

Переходим во вновь появившийся раздел AutoAdd и добавляем папку слежения за торрентами, а затем кнопку Add и опять-таки кнопку Apply:

После этого окно закрывается и торрент сразу же начинает скачиваться:

Файл скачался и мы можем его теперь скопировать из папки (по факту это оказался не просто один файл, а сразу каталог с несколькими файлами):

Статья создана El Vinto, 2023 (Исходник на сайте https://elvinto.ru)

Добавить комментарий