Сервер загрузки: различия между версиями
Владимир (обсуждение | вклад) |
Владимир (обсуждение | вклад) |
||
| (не показано 5 промежуточных версий этого же участника) | |||
| Строка 3: | Строка 3: | ||
Torrent серверы - начинал с transmission, потом использовал deluge. Сейчас остановился на qBitorrent. Мне кажется он более современный. Настроек побольше в Веб интерфейсе. | Torrent серверы - начинал с transmission, потом использовал deluge. Сейчас остановился на qBitorrent. Мне кажется он более современный. Настроек побольше в Веб интерфейсе. | ||
== qBittorrent == | == Установка и настройка qBittorrent Enhanced Edition == | ||
Эта инструкция описывает процесс установки '''qBittorrent Enhanced Edition''' через PPA-репозиторий на Ubuntu или других Debian-based системах, настройку системного пользователя, прав доступа, запуск службы и подключение к веб-интерфейсу. Инструкция ориентирована на использование версии без графического интерфейса (nox). | |||
=== | === Предварительные требования === | ||
* Система на базе Ubuntu/Debian с доступом к терминалу. | |||
* Права суперпользователя (sudo). | |||
* Подключение к интернету для загрузки пакетов. | |||
=== | === Добавление PPA-репозитория и установка === | ||
qBittorrent Enhanced Edition — это форк стандартного qBittorrent с дополнительными функциями. Установка выполняется через официальный PPA-репозиторий для получения актуальной версии. | |||
Выполните следующие команды:<source lang="bash"> | |||
sudo add-apt-repository ppa:poplite/qbittorrent-enhanced | |||
sudo apt update | |||
sudo apt install qbittorrent-enhanced-nox | |||
</source> | |||
; Пояснения | |||
: | |||
=== Proxy | * <code>add-apt-repository</code> добавляет PPA-репозиторий с пакетами qBittorrent Enhanced Edition. | ||
* <code>apt update</code> обновляет список пакетов, чтобы система видела новый репозиторий. | |||
* <code>qbittorrent-enhanced-nox</code> — версия без графического интерфейса, предназначенная для серверов. | |||
=== Настройка пользователя qbtuser === | |||
При установке создаётся системный пользователь <code>qbtuser</code>, от имени которого работает qBittorrent. Однако у него изначально отсутствует домашняя директория, что требует ручной настройки. | |||
Выполните команды:<source lang="bash"> | |||
sudo mkdir /home/qbtuser | |||
sudo chown qbtuser:qbtuser /home/qbtuser | |||
sudo chmod 700 /home/qbtuser | |||
sudo usermod -d /home/qbtuser qbtuser | |||
</source> | |||
; Пояснения | |||
: | |||
* <code>mkdir /home/qbtuser</code> создаёт домашнюю директорию. | |||
* <code>chown qbtuser:qbtuser</code> назначает владельцем директории пользователя и группу <code>qbtuser</code>. | |||
* <code>chmod 700</code> ограничивает доступ к директории только для владельца. | |||
* <code>usermod -d /home/qbtuser qbtuser</code> привязывает директорию как домашнюю для пользователя. | |||
=== Проверка настроек пользователя === | |||
Убедитесь, что пользователь настроен корректно:<source lang="bash"> | |||
getent passwd qbtuser | |||
</source>Ожидаемый результат:<source lang="bash"> | |||
qbtuser:x:107:110::/home/qbtuser:/usr/sbin/nologin | |||
</source> | |||
; Пояснения | |||
: | |||
* Если до команды <code>usermod</code> выполнить проверку, домашняя директория будет <code>/nonexistent</code>. | |||
* Поле <code>/home/qbtuser</code> подтверждает успешную привязку директории. | |||
* <code>/usr/sbin/nologin</code> указывает, что это системный пользователь без возможности входа в оболочку. | |||
=== Проверка идентификаторов пользователя === | |||
Идентификаторы пользователя и группы важны для настройки прав доступа, особенно при использовании контейнеров. | |||
Выполните:<source lang="bash"> | |||
id qbtuser | |||
</source>Ожидаемый результат:<source lang="bash"> | |||
uid=107(qbtuser) gid=110(qbtuser) groups=110(qbtuser) | |||
</source> | |||
; Пояснения | |||
: | |||
* <code>uid=107</code> — идентификатор пользователя. | |||
* <code>gid=110</code> — идентификатор группы. | |||
* Эти значения пригодятся для настройки контейнеров (например, Docker) или прав доступа к файлам. | |||
=== Запуск и проверка службы === | |||
Запустите службу qBittorrent и проверьте её состояние:<source lang="bash"> | |||
sudo systemctl start qbittorrent-enhanced-nox | |||
sudo systemctl status qbittorrent-enhanced-nox | |||
</source> | |||
; Пояснения | |||
: | |||
* <code>systemctl start</code> запускает службу. | |||
* <code>systemctl status</code> отображает статус и логи. В логах можно найти временные логин и пароль для веб-интерфейса. | |||
=== Подключение к веб-интерфейсу === | |||
qBittorrent управляется через веб-интерфейс. | |||
# Откройте браузер и перейдите по адресу: | |||
#: <code>http://<ip-адрес-машины>:8080</code> | |||
# Введите логин и пароль из логов (по умолчанию: логин — <code>admin</code>, пароль — <code>adminadmin</code>). | |||
# Смените логин и пароль в настройках веб-интерфейса для повышения безопасности. | |||
; Пояснения | |||
: | |||
* Замените <code><ip-адрес-машины></code> на IP сервера. Для локальной машины используйте <code>localhost</code>. | |||
* Порт <code>8080</code> можно изменить в конфигурации qBittorrent. | |||
=== Настройка автозапуска === | |||
Включите автозапуск службы при загрузке системы:<source lang="bash"> | |||
sudo systemctl enable qbittorrent-enhanced-nox | |||
</source> | |||
; Пояснения | |||
: | |||
* Команда создаёт ссылки для автоматического запуска службы. | |||
== Настройка монтирования каталога с хоста в LXC-контейнер с ремаппингом прав == | |||
Эта часть инструкции описывает настройку монтирования каталога с хоста в непривилегированный LXC-контейнер с использованием '''bindfs''' для ремаппинга прав доступа. Это необходимо, чтобы файлы, создаваемые в контейнере (например, qBittorrent), на хосте принадлежали пользователю и группе с ID <code>0:0</code> (root), а в контейнере соответствовали пользователю <code>qbtuser</code> (UID=107, GID=110). | |||
=== Предварительные требования === | |||
* Хостовая система с установленным Proxmox VE или другим LXC-хостом. | |||
* Непривилегированный LXC-контейнер (в примере — ID 108). | |||
* Каталог на хосте (например, <code>/mnt/meganas/media</code>), который нужно монтировать в контейнер. | |||
* Установленный qBittorrent Enhanced Edition в контейнере (см. [[Сервер загрузки#Установка и настройка qBittorrent Enhanced Edition|предыдущий раздел]]). | |||
* Ремаппинг пользователей: на хосте UID=100107 и GID=100110 соответствуют UID=107 и GID=110 в контейнере. | |||
=== Установка bindfs на хосте === | |||
Для ремаппинга прав доступа используется утилита '''bindfs''', которая позволяет монтировать каталог с изменением UID/GID. | |||
Выполните на хосте:<source lang="bash"> | |||
apt install bindfs | |||
</source>Проверьте версию для подтверждения установки:<source lang="bash"> | |||
bindfs --version | |||
</source> | |||
; Пояснения | |||
: | |||
* <code>bindfs</code> позволяет монтировать каталог с изменением владельца и прав доступа без изменения исходных файлов. | |||
* Установка выполняется на хосте, а не в контейнере. | |||
=== Проверка каталога на хосте === | |||
Перед настройкой убедитесь, что каталог на хосте имеет корректные права и владельца (<code>0:0</code>). | |||
Выполните:<source lang="bash"> | |||
ls -ln /mnt/meganas/media/ | |||
</source>Пример вывода:<source lang="bash"> | |||
drwxrwxrwx+ 1 0 0 110 апр 7 09:17 Anime | |||
drwxrwxrwx+ 1 0 0 98 дек 22 17:00 education | |||
drwxrwxrwx+ 1 0 0 14 апр 11 19:18 Film | |||
drwxrwxrwx+ 1 0 0 62 дек 22 17:05 Home | |||
drwxrwxrwx+ 1 0 0 28 окт 18 2023 Series | |||
drwxrwxrwx+ 1 0 0 444 апр 13 21:53 torrents | |||
drwxrwxrwx+ 1 0 0 82 дек 22 16:59 'Восстановленое AI' | |||
drwxrwxrwx+ 1 0 0 564 окт 21 09:30 Изображения | |||
drwxrwxrwx+ 1 0 0 138 апр 7 2024 Музыка | |||
drwxrwxrwx+ 1 0 0 1948 мар 26 20:36 шара | |||
</source> | |||
; Пояснения | |||
: | |||
* Все подкаталоги принадлежат <code>0:0</code> (root:root), что соответствует требованиям для монтирования в другие контейнеры. | |||
* Права <code>drwxrwxrwx</code> обеспечивают полный доступ, что упрощает работу. | |||
=== Настройка bindfs для ремаппинга === | |||
Создайте точку монтирования для bindfs на хосте:<source lang="bash"> | |||
mkdir /bindfs/217 | |||
</source>Выполните монтирование с ремаппингом:<source lang="bash"> | |||
bindfs --map=0/100107:@0/@100110 --perms=0775 /mnt/meganas/media /bindfs/217 | |||
</source> | |||
; Пояснения | |||
: | |||
* <code>--map=0/100107:@0/@100110</code> указывает, что UID=0 и GID=0 на хосте будут отображаться как UID=100107 и GID=100110 в точке монтирования. | |||
* <code>--perms=0775</code> задаёт права доступа для смонтированного каталога (чтение/запись для владельца и группы, чтение/выполнение для остальных). | |||
* Исходный каталог <code>/mnt/meganas/media</code> монтируется в <code>/bindfs/217</code>. | |||
Проверьте результат:<source lang="bash"> | |||
ls -ln /bindfs/217 | |||
</source>Ожидаемый вывод:<source lang="bash"> | |||
drwxrwxr-x+ 1 100107 100110 110 апр 7 09:17 Anime | |||
drwxrwxr-x+ 1 100107 100110 98 дек 22 17:00 education | |||
drwxrwxr-x+ 1 100107 100110 14 апр 11 19:18 Film | |||
drwxrwxr-x+ 1 100107 100110 62 дек 22 17:05 Home | |||
drwxrwxr-x+ 1 100107 100110 28 окт 18 2023 Series | |||
drwxrwxr-x+ 1 100107 100110 444 апр 13 21:53 torrents | |||
drwxrwxr-x+ 1 100107 100110 82 дек 22 16:59 'Восстановленое AI' | |||
drwxrwxr-x+ 1 100107 100110 564 окт 21 09:30 Изображения | |||
drwxrwxr-x+ 1 100107 100110 138 апр 7 2024 Музыка | |||
drwxrwxr-x+ 1 100107 100110 1948 мар 26 20:36 шара | |||
</source> | |||
; Пояснения | |||
: | |||
* Все файлы и папки теперь отображаются с UID=100107 и GID=100110, что соответствует ремаппингу для контейнера. | |||
=== Настройка LXC-контейнера === | |||
Чтобы каталог стал доступен в контейнере, обновите его конфигурацию. | |||
Остановите контейнер:<source lang="bash"> | |||
pct stop 108 | |||
</source>Отредактируйте конфигурационный файл:<source lang="bash"> | |||
nano /etc/pve/lxc/108.conf | |||
</source>Добавьте строку для монтирования:<source lang="bash"> | |||
mp0: /bindfs/217,mp=/nas | |||
</source> | |||
; Пояснения | |||
: | |||
* <code>mp0</code> — точка монтирования. | |||
* <code>/bindfs/217</code> — каталог на хосте. | |||
* <code>mp=/nas</code> — путь, где каталог будет доступен в контейнере. | |||
Запустите контейнер:<source lang="bash"> | |||
pct start 108 | |||
</source>Войдите в контейнер для проверки:<source lang="bash"> | |||
pct enter 108 | |||
</source>Проверьте каталог в контейнере:<source lang="bash"> | |||
ls -ln /nas | |||
</source>Ожидаемый вывод:<source lang="bash"> | |||
drwxrwxr-x+ 1 107 110 110 апр 7 09:17 Anime | |||
drwxrwxr-x+ 1 107 110 98 дек 22 17:00 education | |||
drwxrwxr-x+ 1 107 110 14 апр 11 19:18 Film | |||
drwxrwxr-x+ 1 107 110 62 дек 22 17:05 Home | |||
drwxrwxr-x+ 1 107 110 28 окт 18 2023 Series | |||
drwxrwxr-x+ 1 107 110 444 апр 13 21:53 torrents | |||
drwxrwxr-x+ 1 107 110 82 дек 22 16:59 'Восстановленое AI' | |||
drwxrwxr-x+ 1 107 110 564 окт 21 09:30 Изображения | |||
drwxrwxr-x+ 1 107 110 138 апр 7 2024 Музыка | |||
drwxrwxr-x+ 1 107 110 1948 мар 26 20:36 шара | |||
</source> | |||
; Пояснения | |||
: | |||
* В контейнере каталог отображается с UID=107 и GID=110, что соответствует пользователю <code>qbtuser</code>. | |||
* Благодаря ремаппингу в LXC, UID=100107 (хост) преобразуется в UID=107 (контейнер). | |||
=== Настройка qBittorrent для использования каталога === | |||
В веб-интерфейсе qBittorrent (доступном по <code>http://<ip-контейнера>:8080</code>): | |||
# Перейдите в раздел '''Настройки''' → '''Загрузки'''. | |||
# Укажите путь для сохранения файлов, например, <code>/nas/torrents</code>. | |||
# Сохраните изменения. | |||
; Пояснения | |||
: | |||
* Все файлы, сохранённые qBittorrent в <code>/nas/torrents</code>, будут принадлежать <code>qbtuser</code> (UID=107, GID=110) в контейнере. | |||
* На хосте эти файлы будут принадлежать <code>root</code> (UID=0, GID=0), что упрощает их использование в других контейнерах. | |||
=== Дополнительные рекомендации === | |||
* '''Автоматизация bindfs''': Чтобы монтирование выполнялось автоматически, добавьте строку в <code>/etc/fstab</code>: | |||
nano /etc/fstab | |||
Вставим строку:<source lang="bash"> | |||
bindfs#/mnt/meganas/media /bindfs/217 fuse --map=0/100107:@0/@100110,--perms=0775 0 0 | |||
</source> | |||
* | |||
После этого проверить правильность составления <code>/etc/fstab</code>: | |||
findmnt --verify | |||
Должен появится вывод похожий на этот:<syntaxhighlight> | |||
[W] your fstab has been modified, but systemd still uses the old version; | |||
use 'systemctl daemon-reload' to reload | |||
0 parse errors, 0 errors, 1 warning | |||
</syntaxhighlight>Это говори об отсутствии ошибок и одном предупреждении, сообщающем о том что нужно перезапустить службу <code>daemon-reload</code>: | |||
systemctl daemon-reload | |||
После чего нужно отмонтировать наш тестовый каталог: | |||
umount /bindfs/217 | |||
И выполнить монтирование с помощью <code>fstab</code>: | |||
mount -a | |||
=== Итог === | |||
Каталог с хоста теперь доступен в LXC-контейнере по пути <code>/nas</code> с правильным ремаппингом прав. qBittorrent может использовать этот каталог для загрузки файлов, и все изменения на хосте будут принадлежать <code>root</code> (UID=0, GID=0), что упрощает совместное использование с другими контейнерами. Настройка завершена, и вы можете продолжить работу с торрентами. | |||
== Proxy == | |||
==== dns ==== | ==== dns ==== | ||
Текущая версия от 16:34, 13 апреля 2025
В данном разделе опишу методы получения информации из интернета на сервер, в частности хранилище 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 управляется через веб-интерфейс.
- Откройте браузер и перейдите по адресу:
http://<ip-адрес-машины>:8080
- Введите логин и пароль из логов (по умолчанию: логин —
admin, пароль —adminadmin). - Смените логин и пароль в настройках веб-интерфейса для повышения безопасности.
- Пояснения
- Замените
<ip-адрес-машины>на IP сервера. Для локальной машины используйтеlocalhost. - Порт
8080можно изменить в конфигурации qBittorrent.
Настройка автозапуска
Включите автозапуск службы при загрузке системы:
sudo systemctl enable qbittorrent-enhanced-nox
- Пояснения
- Команда создаёт ссылки для автоматического запуска службы.
Настройка монтирования каталога с хоста в LXC-контейнер с ремаппингом прав
Эта часть инструкции описывает настройку монтирования каталога с хоста в непривилегированный LXC-контейнер с использованием bindfs для ремаппинга прав доступа. Это необходимо, чтобы файлы, создаваемые в контейнере (например, qBittorrent), на хосте принадлежали пользователю и группе с ID 0:0 (root), а в контейнере соответствовали пользователю qbtuser (UID=107, GID=110).
Предварительные требования
- Хостовая система с установленным Proxmox VE или другим LXC-хостом.
- Непривилегированный LXC-контейнер (в примере — ID 108).
- Каталог на хосте (например,
/mnt/meganas/media), который нужно монтировать в контейнер. - Установленный qBittorrent Enhanced Edition в контейнере (см. предыдущий раздел).
- Ремаппинг пользователей: на хосте UID=100107 и GID=100110 соответствуют UID=107 и GID=110 в контейнере.
Установка bindfs на хосте
Для ремаппинга прав доступа используется утилита bindfs, которая позволяет монтировать каталог с изменением UID/GID.
Выполните на хосте:
apt install bindfs
Проверьте версию для подтверждения установки:
bindfs --version
- Пояснения
bindfsпозволяет монтировать каталог с изменением владельца и прав доступа без изменения исходных файлов.- Установка выполняется на хосте, а не в контейнере.
Проверка каталога на хосте
Перед настройкой убедитесь, что каталог на хосте имеет корректные права и владельца (0:0).
Выполните:
ls -ln /mnt/meganas/media/
Пример вывода:
drwxrwxrwx+ 1 0 0 110 апр 7 09:17 Anime
drwxrwxrwx+ 1 0 0 98 дек 22 17:00 education
drwxrwxrwx+ 1 0 0 14 апр 11 19:18 Film
drwxrwxrwx+ 1 0 0 62 дек 22 17:05 Home
drwxrwxrwx+ 1 0 0 28 окт 18 2023 Series
drwxrwxrwx+ 1 0 0 444 апр 13 21:53 torrents
drwxrwxrwx+ 1 0 0 82 дек 22 16:59 'Восстановленое AI'
drwxrwxrwx+ 1 0 0 564 окт 21 09:30 Изображения
drwxrwxrwx+ 1 0 0 138 апр 7 2024 Музыка
drwxrwxrwx+ 1 0 0 1948 мар 26 20:36 шара
- Пояснения
- Все подкаталоги принадлежат
0:0(root:root), что соответствует требованиям для монтирования в другие контейнеры. - Права
drwxrwxrwxобеспечивают полный доступ, что упрощает работу.
Настройка bindfs для ремаппинга
Создайте точку монтирования для bindfs на хосте:
mkdir /bindfs/217
Выполните монтирование с ремаппингом:
bindfs --map=0/100107:@0/@100110 --perms=0775 /mnt/meganas/media /bindfs/217
- Пояснения
--map=0/100107:@0/@100110указывает, что UID=0 и GID=0 на хосте будут отображаться как UID=100107 и GID=100110 в точке монтирования.--perms=0775задаёт права доступа для смонтированного каталога (чтение/запись для владельца и группы, чтение/выполнение для остальных).- Исходный каталог
/mnt/meganas/mediaмонтируется в/bindfs/217.
Проверьте результат:
ls -ln /bindfs/217
Ожидаемый вывод:
drwxrwxr-x+ 1 100107 100110 110 апр 7 09:17 Anime
drwxrwxr-x+ 1 100107 100110 98 дек 22 17:00 education
drwxrwxr-x+ 1 100107 100110 14 апр 11 19:18 Film
drwxrwxr-x+ 1 100107 100110 62 дек 22 17:05 Home
drwxrwxr-x+ 1 100107 100110 28 окт 18 2023 Series
drwxrwxr-x+ 1 100107 100110 444 апр 13 21:53 torrents
drwxrwxr-x+ 1 100107 100110 82 дек 22 16:59 'Восстановленое AI'
drwxrwxr-x+ 1 100107 100110 564 окт 21 09:30 Изображения
drwxrwxr-x+ 1 100107 100110 138 апр 7 2024 Музыка
drwxrwxr-x+ 1 100107 100110 1948 мар 26 20:36 шара
- Пояснения
- Все файлы и папки теперь отображаются с UID=100107 и GID=100110, что соответствует ремаппингу для контейнера.
Настройка LXC-контейнера
Чтобы каталог стал доступен в контейнере, обновите его конфигурацию.
Остановите контейнер:
pct stop 108
Отредактируйте конфигурационный файл:
nano /etc/pve/lxc/108.conf
Добавьте строку для монтирования:
mp0: /bindfs/217,mp=/nas
- Пояснения
mp0— точка монтирования./bindfs/217— каталог на хосте.mp=/nas— путь, где каталог будет доступен в контейнере.
Запустите контейнер:
pct start 108
Войдите в контейнер для проверки:
pct enter 108
Проверьте каталог в контейнере:
ls -ln /nas
Ожидаемый вывод:
drwxrwxr-x+ 1 107 110 110 апр 7 09:17 Anime
drwxrwxr-x+ 1 107 110 98 дек 22 17:00 education
drwxrwxr-x+ 1 107 110 14 апр 11 19:18 Film
drwxrwxr-x+ 1 107 110 62 дек 22 17:05 Home
drwxrwxr-x+ 1 107 110 28 окт 18 2023 Series
drwxrwxr-x+ 1 107 110 444 апр 13 21:53 torrents
drwxrwxr-x+ 1 107 110 82 дек 22 16:59 'Восстановленое AI'
drwxrwxr-x+ 1 107 110 564 окт 21 09:30 Изображения
drwxrwxr-x+ 1 107 110 138 апр 7 2024 Музыка
drwxrwxr-x+ 1 107 110 1948 мар 26 20:36 шара
- Пояснения
- В контейнере каталог отображается с UID=107 и GID=110, что соответствует пользователю
qbtuser. - Благодаря ремаппингу в LXC, UID=100107 (хост) преобразуется в UID=107 (контейнер).
Настройка qBittorrent для использования каталога
В веб-интерфейсе qBittorrent (доступном по http://<ip-контейнера>:8080):
- Перейдите в раздел Настройки → Загрузки.
- Укажите путь для сохранения файлов, например,
/nas/torrents. - Сохраните изменения.
- Пояснения
- Все файлы, сохранённые qBittorrent в
/nas/torrents, будут принадлежатьqbtuser(UID=107, GID=110) в контейнере. - На хосте эти файлы будут принадлежать
root(UID=0, GID=0), что упрощает их использование в других контейнерах.
Дополнительные рекомендации
- Автоматизация bindfs: Чтобы монтирование выполнялось автоматически, добавьте строку в
/etc/fstab:
nano /etc/fstab
Вставим строку:
bindfs#/mnt/meganas/media /bindfs/217 fuse --map=0/100107:@0/@100110,--perms=0775 0 0
После этого проверить правильность составления /etc/fstab:
findmnt --verify
Должен появится вывод похожий на этот:
[W] your fstab has been modified, but systemd still uses the old version;
use 'systemctl daemon-reload' to reload
0 parse errors, 0 errors, 1 warningЭто говори об отсутствии ошибок и одном предупреждении, сообщающем о том что нужно перезапустить службу daemon-reload:
systemctl daemon-reload
После чего нужно отмонтировать наш тестовый каталог:
umount /bindfs/217
И выполнить монтирование с помощью fstab:
mount -a
Итог
Каталог с хоста теперь доступен в LXC-контейнере по пути /nas с правильным ремаппингом прав. qBittorrent может использовать этот каталог для загрузки файлов, и все изменения на хосте будут принадлежать root (UID=0, GID=0), что упрощает совместное использование с другими контейнерами. Настройка завершена, и вы можете продолжить работу с торрентами.
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
В общем то вот и весь сервер. Работает себе и работает. Есть пить не просит.