Найти тему
Руки не для скуки

Домашний сервер - это просто. Часть 9: Torrent-клиент. Transmission/Deluge

Оглавление

Часть 1: Предыстоия и настоящее.
Часть 2: Подготовка среды. Установка и первоначальная настройка Debian 12
Часть 3: Носители информации. RAID. Создание файловой структуры.
Часть 4: Установка компонентов WEB-сервера. Let’s Encrypt.
Часть 5: Samba и Webdav
Часть 6: Home Assistant Supervised
Часть 7: NEXTCLOUD - персональное облако.
Часть 8: Медиа-сервер. MiniDLNA/PLEX
Часть 9: Torrent-клиент. Transmission/Deluge
Часть 10: Яндекс-Диск
Часть 11: Переезд на новое железо.

Ниже я привожу порядок установки двух распространенных торрент-клиентов – Transmission и Deluge. Более популярным и простым является Transmission, однако его минималистичность сподвигла меня на поиск чего-то более похожего на привычный Utorrent. Попробовал несколько, но меньше всего проблем при установке вызвал Deluge. Выбирать вам.

9.1.Установка Transmission

Устанавливаем transmission-daemon:

sudo apt install transmission-daemon -y

При установке демон создаст пользователя и группу debian-transmission.

Добавляем в исключения UFW порт 8123/tcpнеобходимый для работы Transmission:

sudo ufw allow 9091/tcp


Останавливаем службу для настройки:

sudo systemctl stop transmission-daemon.service


Проверяем статус:

sudo systemctl status transmission-daemon.service


Создаём каталог в котором будем хранить скачанные файлы:

sudo mkdir /mnt/disk_d/Kino/Downloaded


Делаем пользователя debian-transmission владельцем каталога

sudo chown debian-transmission:debian-transmission /mnt/disk_d/Kino/Downloaded

Предоставляем полные права всем пользователям (потом измените в соответствии со своими необходимостями):

sudo sudo chmod -R 777 /mnt/disk_d/Kino/Downloaded

Добавляем себя и root в группу debian-transmission:

sudo usermod -aG debian-transmission andrey

sudo usermod -aG debian-transmission root


Открываем конфигурацию службы:

nano /etc/transmission-daemon/settings.json

Вносим изменения.

В download-dir прописываете папку, в которую будут сохраняться скаченные файлы.

В rpc-username и rpc-password, естественно, указываете свои данные.

В rpc-whitelist после 127.0.0.1 указываете шаблон своей локальной сети

"download-dir": "/mnt/raid_md0/Kino/Downloaded",
"bind-address-ipv4": "192.168.2.11",
"rpc-port": 9091,
"rpc-username": "andrey",
"rpc-password": "пароль",
"rpc-whitelist": "127.0.0.1,192.168.2.*",

Запускаем службу:

sudo systemctl start transmission-daemon.service

Проверяем:

http://192.168.2.11:9091

9.2.Установка Deluge

Добавляем в исключения UFW порт 8123/tcp необходимый для работы Deluge:

sudo ufw allow 8112/tcp

Ставим пакеты:

sudo apt install -y deluged deluge-web deluge-console deluge-common

Создаём пользователя:

sudo useradd -m deluge

Меняем права на каталог

sudo chmod -R 777 /home/deluge/

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

sudo mkdir /mnt/raid_md0/Kino/Downloaded
sudo chown deluge:deluge /mnt/
raid_md0/Kino/Downloaded
sudo sudo chmod -R 777 /mnt/
raid_md0/Kino/Downloaded

Добавляем себя и root в группу deluge:

sudo usermod -aG deluge andrey
sudo usermod -aG deluge root


Создаем два файла для запуска сервисов.

Сам демон deluged:

nano /etc/systemd/system/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

И сохраняем (Ctrl +O).

Веб-интерфейс:

nano /etc/systemd/system/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

И сохраняем (Ctrl +O).

Для демона указан «Umask=000» - это дает доступ к загруженным файлам любому пользователю в системе (можно забирать через Samba/(s)Ftp/Nginx/NextCloud и т.д).

Включаем запуск служб при загрузке сервера:

sudo systemctl enable deluged.service
sudo systemctl enable deluge-web.service


Запускаем созданные службы:

sudo systemctl start deluged.service
sudo systemctl start deluge-web.service

Проверяем:

http://192.168.2.11:8112

Пароль по умолчанию: deluge

Меняем его в пункте Interface на свой. Apply, OK.

Чтобы при подключении через веб-интерфейс каждый раз не задавался вопрос к какому серверу Deluge нужно подключаться, делаем следующее:

Останавливаем сервис:

sudo systemctl stop deluge-web.service

Открываем hostlist.conf:

nano /home/deluge/.config/deluge/hostlist.conf

Копируем выделенную строчку:

-2

Закрываем.

Открываем web.conf:

nano /home/deluge/.config/deluge/web.conf

Заменяем

"default_daemon": "",

на

"default_daemon": " f6eb9ca5109d40d98be8eaf14a759ef3",

Запускаем сервис:

sudo systemctl start deluge-web.service

Перезагружаем сервер:

reboot

Проверяем:

http://192.168.2.11:8112

9.3. Создание файла конфигурации виртуального хоста

Создаем файл конфигурации:

nano /etc/apache2/sites-available/torrent.475cloud.conf

Добавляем в него:

<VirtualHost *:80>
ServerName torrent.475cloud.ru
ServerAlias www.torrent.475cloud.ru
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName torrent.475cloud.ru
ServerAlias www.torrent.475cloud.ru
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains>
</IfModule>
ProxyPass / http://127.0.0.1:8112/
ProxyPassReverse / http://127.0.0.1:8112/
</VirtualHost>

В зависимости от того какой torrent-клиент вы выбрали, в строчках «ProxyPass» и «ProxyPassReverse» укажите порт либо 9091 – для Transmission либо 8112 для Deluge.

И сохраняем (Ctrl +O).

Включаем сайт (в /etc/apache2/sites-enabled создается ссылка на файл конфигурации виртуального хоста):

sudo a2ensite torrent.475cloud.conf

Проверяем синтаксис конфигурации:

sudo apachectl configtest

Утилита apachectl выведет Syntax OK, если ошибок в файле нет.

Перезапускаем Apache:

sudo systemctl restart apache2

9.4.Установка сертификата Let’s Encrypt

Устанавливаем SSL-сертификат:

sudo certbot --apache -d torrent.475cloud.ru -d www.torrent.475cloud.ru

Перезапускаем Apache:

sudo systemctl restart apache2

После перезапуска Apache можно получить доступ к torrent-клиенту, используя web-адрес:

https://torrent.475cloud.ru

Не забудьте указать папку в которую вы будете качать:

/mnt/raid_md0/Kino/Downloaded

-3

Часть 1: Предыстоия и настоящее.
Часть 2: Подготовка среды. Установка и первоначальная настройка Debian 12
Часть 3: Носители информации. RAID. Создание файловой структуры.
Часть 4: Установка компонентов WEB-сервера. Let’s Encrypt.
Часть 5: Samba и Webdav
Часть 6: Home Assistant Supervised
Часть 7: NEXTCLOUD - персональное облако.
Часть 8: Медиа-сервер. MiniDLNA/PLEX
Часть 9: Torrent-клиент. Transmission/Deluge
Часть 10: Яндекс-Диск
Часть 11: Переезд на новое железо.