Сервер загрузки

Материал из wolfram
Перейти к навигации Перейти к поиску

В данном разделе опишу методы получения информации из интернета на сервер, в частности хранилище NAS.

Torrent серверы - начинал с transmission, потом использовал deluge. Сейчас остановился на qBitorrent. Мне кажется он более современный. Настроек побольше в Веб интерфейсе.

Установка и настройка qBittorrent Enhanced Edition

Эта инструкция описывает процесс установки qBittorrent Enhanced Edition через PPA-репозиторий на Ubuntu или других Debian-based системах, настройку системного пользователя, прав доступа, запуск службы и подключение к веб-интерфейсу. Инструкция ориентирована на использование версии без графического интерфейса (nox).

Предварительные требования

  • Система на базе Ubuntu/Debian с доступом к терминалу.
  • Права суперпользователя (sudo).
  • Подключение к интернету для загрузки пакетов.

Добавление PPA-репозитория и установка

qBittorrent Enhanced Edition — это форк стандартного qBittorrent с дополнительными функциями. Установка выполняется через официальный PPA-репозиторий для получения актуальной версии.

Выполните следующие команды:

sudo add-apt-repository ppa:poplite/qbittorrent-enhanced
sudo apt update
sudo apt install qbittorrent-enhanced-nox
Пояснения
  • add-apt-repository добавляет PPA-репозиторий с пакетами qBittorrent Enhanced Edition.
  • apt update обновляет список пакетов, чтобы система видела новый репозиторий.
  • qbittorrent-enhanced-nox — версия без графического интерфейса, предназначенная для серверов.

Настройка пользователя qbtuser

При установке создаётся системный пользователь qbtuser, от имени которого работает qBittorrent. Однако у него изначально отсутствует домашняя директория, что требует ручной настройки.

Выполните команды:

sudo mkdir /home/qbtuser
sudo chown qbtuser:qbtuser /home/qbtuser
sudo chmod 700 /home/qbtuser
sudo usermod -d /home/qbtuser qbtuser
Пояснения
  • mkdir /home/qbtuser создаёт домашнюю директорию.
  • chown qbtuser:qbtuser назначает владельцем директории пользователя и группу qbtuser.
  • chmod 700 ограничивает доступ к директории только для владельца.
  • usermod -d /home/qbtuser qbtuser привязывает директорию как домашнюю для пользователя.

Проверка настроек пользователя

Убедитесь, что пользователь настроен корректно:

getent passwd qbtuser

Ожидаемый результат:

qbtuser:x:107:110::/home/qbtuser:/usr/sbin/nologin
Пояснения
  • Если до команды usermod выполнить проверку, домашняя директория будет /nonexistent.
  • Поле /home/qbtuser подтверждает успешную привязку директории.
  • /usr/sbin/nologin указывает, что это системный пользователь без возможности входа в оболочку.

Проверка идентификаторов пользователя

Идентификаторы пользователя и группы важны для настройки прав доступа, особенно при использовании контейнеров.

Выполните:

id qbtuser

Ожидаемый результат:

uid=107(qbtuser) gid=110(qbtuser) groups=110(qbtuser)
Пояснения
  • uid=107 — идентификатор пользователя.
  • gid=110 — идентификатор группы.
  • Эти значения пригодятся для настройки контейнеров (например, Docker) или прав доступа к файлам.

Запуск и проверка службы

Запустите службу qBittorrent и проверьте её состояние:

sudo systemctl start qbittorrent-enhanced-nox
sudo systemctl status qbittorrent-enhanced-nox
Пояснения
  • systemctl start запускает службу.
  • systemctl status отображает статус и логи. В логах можно найти временные логин и пароль для веб-интерфейса.

Подключение к веб-интерфейсу

qBittorrent управляется через веб-интерфейс.

  1. Откройте браузер и перейдите по адресу:
    http://<ip-адрес-машины>:8080
  2. Введите логин и пароль из логов (по умолчанию: логин — admin, пароль — adminadmin).
  3. Смените логин и пароль в настройках веб-интерфейса для повышения безопасности.
Пояснения
  • Замените <ip-адрес-машины> на IP сервера. Для локальной машины используйте localhost.
  • Порт 8080 можно изменить в конфигурации qBittorrent.

Настройка автозапуска

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

sudo systemctl enable qbittorrent-enhanced-nox
Пояснения
  • Команда создаёт ссылки для автоматического запуска службы.

Proxy

dns

Сначала создадим новое CNAME для нашего веб интерфейса. На сайте dns.he.net, залогинимся, перейдем к настройкам нашего домена, и там нажмем New CNAME, там впишем

Name: qb.mywolfram.ru

Hostname: host.mywolfram.ru

TTL (Time to live): 30 минут

Сервер Nginx

Переходим на наш сервер nginx

На сервере нужно создать файл с настройками для нашего proxy:

nano /etc/nginx/sites-enabled/qb.mywolfram.ru

Пропишем туда следующее:

server {
        listen      80;
        server_name qb.mywolfram.ru;
        return 301 https:qb.mywolfram.ru;
}

server {
        listen 443;
        server_name qb.mywolfram.ru;
        ssl_certificate /etc/letsencrypt/live/qb.mywolfram.ru/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/qb.mywolfram.ru/privkey.pem; # managed by Certbot

        location / {
                proxy_pass http://192.168.1.215:8080;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}
nginx -t
systemctl restart nginx
certbot --nginx -d qb.mywolfram.ru

После чего проверить файл конфигурации, не на заменял ли чего certbot:

nano /etc/nginx/sites-enabled/qb.mywolfram.ru

Если что то заменил, то вписываем наши данные.


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

Jackett

Штука для поиска на торрентах.

База огромная, во всех можно подключиться в учетке.

Используется для других сервисов

Установим.

Переходим в домашний каталог например:

cd /home/vova

Скачиваем релизный архив Jackett на Githab.

можно wget можно winscp, как удобно.

Распаковываем архив:

tar -xvf Jackett.....tar.gz

Переходим в папку:

cd ./Jackett/

Запускаем установщик:

sudo ./install_service_systemd.sh

Сервер поднят. А вы думали там все сложно? Конечно же да!

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

http://ЛОКАЛЬНЫЙ_АДРЕСС_МАШИНЫ:9117

Начинаем добавлять наши торренты. Но мы неминуемо наткнёмся на проблемы. А именно то, что живем в России. А значит 90 процентов трекеров недоступны, без обходных путей.

TOR

monitorrent

Штука чтобы мониторить выбранную раздачу на торренте и обновлять файл торрента, если что то меняется.

Подготовить систему.

Подготовка

Поставить python и pip

apt install python3
apt install python3-pip

Версия Убунты 20

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

Создать папку для загрузки и распаковки

mkdir /root/monitorrent
cd /root/monitorrent

Установка monitorrent

Скачать архив. Находится это все на гитхабе, вот страничка. Лучше взять последнюю версию, не ту что в мануале, надеюсь установка не изменится. На случай если изменится, файл конкретной той версии с корой работаем на облаке. ТОЛЬКО на 20.04

wget https://github.com/werwolfby/monitorrent/releases/download/1.2.0/monitorrent-1.2.0.zip

Распаковывавшем архив unzip, если его нет ставим

apt install unzip
unzip monitorrent-1.2.0.zip

Теперь запустить установку со скрипта requirements.txt

pip install -r requirements.txt

В инструкции указана установка: playwright --with-deps install firefox но при выполнении команды в том виде как на инструкции ничего не работает.

Установил без аргумента --with-deps

python -m playwright install firefox
playwright install firefox

Затем можно сделать тестовый запуск

python3 server.py

Перейти по адресу машины с портом 6687

http://0.0.0.0:6687

Ввести пароль: monitorrent

И самое главное его поменять, как оказалось без его смены все это нормально не работает, но может я ошибаюсь.


Автозапуск monitorrent

Теперь нужно озаботится автозапуском данной утилиты.

Это делать лучше через службу systemctl

создаём файл для запуска службы

nano /etc/systemd/system/monitorrent.service

В него вписываю следующие дела, сохраняем

[Unit]
Description=Monitorrent
After=network.target

[Service]
ExecStart=/usr/bin/python3 /root/monitorrent/server.py
Restart=always
RestartSec=10
WorkingDirectory=/root/monitorrent/
User=root
Group=root
KillMode=process

[Install]
WantedBy=multi-user.target

Перезагружаю демона

systemctl --system daemon-reload

Включаю автозапуск службы

systemctl enable monitorrent

Запускаю

systemctl start monitorrent

VPN

Готово, теперь сталкиваемся с проблемой. У нас в стране заблокированы все те торренты которые перечислены в списке.

Кто то может это решить поиском или покупкой прокси.

Но у меня есть Машина в Oracle в германии, и мост до неё. Поэтому я просто поставлю WG на эту машину и пущу весь трафик через германию.

Ставлю WG

apt install wireguard

Прописываю пути в конфиг

nano /etc/wireguard/wg0.conf
[Interface]
PrivateKey = oEVmbQsTk1dfD9oOdpYcfqre/CYHlJdJlKGybbk/BEM=
Address = 10.49.0.2/32
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
#DNS = 172.16.154.105

[Peer]
PublicKey = xu0FBJ3aqvshpV+ExHcR7mXyNOeod0j/5lMITPmhxjs=
PresharedKey = ab4Ha9BKzKGVRtOTtulehtGABtCb0B6lpus4K/TAcmM=
AllowedIPs = 0.0.0.0/0
Endpoint = 152.70.160.135:54321

Запускаю службу

wg-quick up wg0

и включаю автозапуск

systemctl enable wg-quick@wg0.service


если не стартует WG с ошибкой line 32: resolvconf: command not found

apt install openresolv

В общем то вот и весь сервер. Работает себе и работает. Есть пить не просит.