SABnzbd — это бесплатное приложение для Usenet с открытым исходным кодом, обладающее веб-интерфейсом, предназначенное для загрузки бинарных файлов (фото, аудио, видео, электронные книги и прочее) с Usenet. Этот кроссплатформенный клиент поддерживает такие операционные системы, как Linux, BSD, macOS, UNIX, Windows, а также устройства Synology и QNAP. В данном руководстве представлена инструкция по установке SABnzbd на Debian.
Содержание статьи
Возможности SABnzbd
- Доступ к нему возможен из любой точки с помощью веб-браузера.
- Интерфейс веб-сайта, адаптированный под разные устройства.
- Поддерживается несколько провайдеров Usenet.
- Мобильные приложения для платформ Android и iOS уже доступны.
- Программы вроде Sonarr, Sickrage, CouchPotato и Headphones способны взаимодействовать с SABnzbd, что позволяет автоматизировать процесс загрузки.
- SABnzbd способен не только считывать и обрабатывать RSS-каналы, но и запускать индивидуальные скрипты, а также отправлять уведомления по электронной почте и через сервисы такие как Growl, Prowl, Pushover и Pushbullet.
- Интеграция с индексаторами NZB (Newz Binary). Файл NZB напоминает торрент-файл, а индексатор NZB функционирует подобно торрент-сайту.
- И еще множество других вещей.
Установка клиента Usenet SABnzbd на Debian
SABnzbd можно найти в официальном репозитории Debian. Для его установки требуется активировать компонент contrib.
sudo apt install software-properties-common sudo add-apt-repository contrib sudo apt update sudo apt install sabnzbdplus python-sabyenc par2
Модуль SABYenc способен повысить скорость загрузки на устройствах с низкой производительностью процессора.
Разработка системного сервиса для SABnzbd
Хотя пакет sabnzbdplus включает стандартный скрипт инициализации (/etc/init. d/sabnzbdplus), я заметил, что он не функционирует. Я использовал следующую команду для запуска службы.
sudo service sabnzbdplus start
При выполнении команды для отображения активных портов на моей системе Debian порт 8080 не будет обнаружен (поскольку SABnzbd по умолчанию использует именно этот порт), что свидетельствует о его неработоспособности.
sudo ss - lnpt | grep 8080
Оптимальным способом запуска SABnzbd является использование системного сервиса Systemd. Мы можем воспользоваться текстовым редактором в командной строке, например Nano, для создания сервиса для SABnzbd.
sudo nano /etc/systemd/system/sabnzbd.service
Поместите следующий текст в документ.
[Unit] Description=SABnzbd Usenet Client After=network. target [Service] Type=simple Пользователь=sabnzbd Группа=sabnzbd ExecStart=/usr/bin/python - OO /usr/bin/sabnzbdplus --browser 0 ExecStop=/usr/bin/pkill sabnzbdplus Restart=always SyslogIdentifier=SABnzbd Usenet Client [Install] WantedBy=multi-user. target
SABnzbd по умолчанию работает на порту 8080. Если этот порт уже занят каким-либо процессом, SABnzbd автоматически подберёт альтернативный порт. Рекомендуется явно указать порт в параметре ExecStart, как указано ниже, чтобы SABnzbd функционировал на порту 8081.
ExecStart=/usr/bin/python - OO /usr/bin/sabnzbdplus - s 127.0.0.1:8081 --browser 0
Закройте и сохраните документ. (Для сохранения файла в текстовом редакторе Nano нажмите Ctrl+O, затем Enter для подтверждения. Чтобы выйти из редактора, используйте комбинацию Ctrl+X.)
После этого выполните перезагрузку Systemd.
sudo systemctl daemon-reload
Учтите, что для работы SABnzbd не нужны привилегии суперпользователя, поэтому в файле.service мы указали, что SABnzbd должен запускаться от имени пользователя и группы sabnzbd, у которых нет прав root. Создайте системного пользователя и группу sabnzbd, выполнив следующую команду. Домашний каталог будет использоваться для хранения конфигурационного файла (/home/sabnzbd/.sabnzbd/sabnzbd. ini).
sudo adduser --system --home /home/sabnzbd --group sabnzbd
Теперь у нас есть возможность задействовать сервис systemd для запуска sabnzbd.
sudo systemctl start sabnzbd
Активируйте автоматический запуск при загрузке системы.
sudo systemctl enable sabnzbd
Теперь убедитесь в состоянии sabnzbd.
Запуск конфигурационного мастера
Для запуска мастера быстрого старта, введите 127.0.0.1:8080/sabnzbd/wizard в любом веб-браузере. Если SABnzbd установлен на удалённом сервере Debian, потребуется настроить обратный прокси с помощью Nginx или Apache для доступа к веб-интерфейсу, что будет подробно описано далее в этом руководстве.

Выберите необходимый язык. На следующем шаге введите информацию о сервере вашего Usenet-поставщика. Я предпочитаю NewsDemon, который предоставляет 15-дневный бесплатный тестовый период. Информацию о сервере можно найти у вашего Usenet-поставщика. Если ваш Usenet поддерживает SSL, обязательно активируйте эту опцию.

Чтобы загрузить контент (изображения, аудио, видео, электронные книги и т. д.) с Usenet, вам потребуется файл NZB, который нужно загрузить в SABnzbd. Этот файл, аналогичный. torrent, можно получить на индексных сайтах Usenet, таких как nzbfinder. ws. Большинство из этих ресурсов функционируют по модели freemium. Вы можете создать свой собственный бесплатный индексатор Usenet, но для тех, кто только начинает знакомство с Usenet, будет разумно зарегистрировать бесплатные аккаунты на таких индексных сайтах, чтобы узнать о доступных возможностях. На скриншоте видно, что скорость загрузки довольно впечатляющая: 16,8 МБ/с (134,4 Мбит/с).

Как установить новую папку для загрузок?
Стандартная папка для загрузок — /home/sabnzbd/Downloads. Если вы хотите установить другую директорию, например, внешний жесткий диск, откройте меню «Папка» в веб-интерфейсе SABnzbd. Затем нажмите на кнопку «Обзор», чтобы выбрать новую папку.

Учтите, что для работы пользователя sabnzbd необходимы права на чтение и запись в папке, куда будут сохраняться загрузки. Если вы используете внешний USB-накопитель, выполните следующую команду, чтобы установить необходимые разрешения.
sudo setfacl - R - m u:sabnzbd:rwx /media/linuxbabe/
Внешний USB жесткий диск подключен по адресу /media/linuxbabe/. При необходимости измените путь.
Конфигурация реверсивного прокси-сервера
Для того чтобы иметь возможность доступа к веб-интерфейсу SABnzbd из удаленной сети (например, за пределами вашей локальной сети) через доменное имя, вам следует настроить обратный прокси-сервер, используя Nginx или Apache.
Если у вас отсутствует действительное доменное имя, настоятельно рекомендую обратить внимание на NameCheap для его приобретения. Стоимость весьма доступная, и они предлагают бесплатную защиту whois на протяжении всего срока использования. Установите Nginx на операционную систему Debian.
sudo apt install nginx
Запустите сервер Nginx для работы в веб-пространстве.
sudo systemctl start nginx
После этого создайте новый файл конфигурации сервера в папке /etc/nginx/conf.d/.
sudo nano /etc/nginx/conf.d/sabnzbd.conf
Поместите данный текст в файл. Замените sabnzbd. your-domain.com на доменное имя, которое вы выбрали, и обязательно создайте для него A-запись в DNS. Если у вас используется другой порт, измените 8080 на нужный вам номер порта.
server < listen 80; listen [::]:80; server_name sabnzbd. your-domain.com Расположение /< proxy_pass http://127.0.0.1:8080; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; >>
Сохраните файл и закройте его. После этого убедитесь в правильности конфигурации Nginx.
sudo nginx - t
После успешного тестирования перезапустите Nginx.
sudo systemctl reload nginx
Теперь у вас есть возможность войти в веб-интерфейс SABnzbd по адресу sabnzbd. your-domain.com. В случае появления следующей ошибки:
Access denied - Hostname verification failed
В таком случае вам следует внести изменения в файл конфигурации (/home/sabnzbd/.sabnzbd/sabnzbd. ini) и добавить sabnzbd. your-domain.com в список разрешённых адресов.
host_whitelist = sabnzbd. your-domain.com
После этого перезапустите SABnzbd.
sudo systemctl restart sabnzbd
Если вы работаете с веб-сервером Apache вместо Nginx, выполните приведённые ниже шаги для настройки обратного прокси.
Настройте веб-сервер Apache.
sudo apt install apache2
Для того чтобы настроить Apache в роли обратного прокси, необходимо активировать прокси-модули и модуль для перезаписи.
sudo a2enmod proxy proxy_http rewrite
После этого настройте виртуальный хост для SABnzbd.
sudo nano /etc/apache2/sites-available/sabnzbd.conf
Поместите указанный текст в файл. Замените sabnzbd. your-domain.com на ваше реальное доменное имя и не забудьте настроить A-запись DNS. Если вы используете другой порт, измените 8080 на нужный вам номер порта.
ServerName sabnzbd.your-domain.com ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/
Сохраните изменения и закройте файл. После этого активируйте данный виртуальный хост.
sudo a2ensite sabnzbd.conf
Чтобы изменения начали действовать, перезапустите Apache.
sudo systemctl reload apache2
Теперь у вас есть возможность удаленно подключаться к SABnzbd, просто введя доменное имя (sabnzbd. your-domain.com) в строку браузера. Если появится следующая ошибка:
Access denied -Hostname verification failed
В таком случае вам следует внести изменения в файл конфигурации (/home/sabnzbd/.sabnzbd/sabnzbd. ini) и добавить sabnzbd. your-domain.com в список разрешённых адресов.
host_whitelist = sabnzbd.your-domain.com
После этого перезапустите SABnzbd.
sudo systemctl restart sabnzbd
Активация HTTPS
Для шифрования HTTP-трафика при доступе к веб-интерфейсу SABnzbd с внешних источников можно активировать HTTPS, получив бесплатный TLS-сертификат от Let’s Encrypt. Чтобы установить клиента Let’s Encrypt (certbot) на Debian, выполните следующую команду.
sudo apt install certbot
При работе с Nginx вам потребуется установить плагин Certbot, предназначенный для этой системы.
sudo apt install python3-certbot-nginx
После этого выполните команду для получения и установки сертификата TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email -d sabnzbd.your-domain.com
При использовании Apache необходимо установить плагин Certbot для этого веб-сервера.
sudo apt install python3-certbot-apache
После этого выполните команду для получения и установки сертификата TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email -d sabnzbd. your-domain.com
- —nginx: Применить плагин для nginx.
- —apache : Применять плагин Apache.
- —согласие-с-условиями : Принять условия использования.
- —перенаправление: Обязательно применять HTTPS с помощью 301 перенаправления.
- —hsts: Включить заголовок Strict-Transport-Security в каждый ответ HTTP. Это заставляет браузер всегда применять TLS для данного домена, предотвращая атаки типа SSL/TLS Stripping.
- —staple-ocsp: Активирует OCSP Stapling. Актуальный ответ OCSP присоединяется к сертификату, который сервер предоставляет во время TLS-соединения.
Сертификат необходимо получить и установить автоматически.

Если SABnzbd доступен из публичного Интернета, то очень важно установить имя пользователя и пароль, что можно сделать в разделе Конфигурация > Общие >Защита. Надеюсь, этот гайд оказался полезным для вас при установке SABnzbd на Debian.

