Установка клиента SABnzbd Usenet на Ubuntu 16.04/18.04

SABnzbd — это бесплатный, открытый веб-клиент для Usenet, предназначенный для загрузки бинарных файлов, таких как изображения, аудио, видео и электронные книги. Он работает на различных платформах, включая Linux, BSD, macOS, UNIX, Windows, а также на устройствах Synology и QNAP. В этом руководстве будет описан процесс установки SABnzbd на Ubuntu 16.04 и 18.04.

  • Вы можете открыть его из любой локации, используя веб-браузер.
  • Удобный и отзывчивый интерфейс веб-приложения.
  • Поддержка множества Usenet-серверов (провайдеров).
  • Приложения доступны для устройств на Android и iOS.
  • Программы, такие как Sonarr, Sickrage, CouchPotato и Headphones, способны взаимодействовать с SABnzbd для автоматизации процесса загрузки.
  • SABnzbd способен обрабатывать RSS-ленты, выполнять пользовательские скрипты и отправлять уведомления через электронную почту, growl, prowl, pushover и pushbullet.
  • Интеграция NZB индексаторов (Newz Binary). Файл NZB аналогичен торрент-файлу, а NZB индексатор выполняет функции, схожие с торрент-трекером.
  • А также многое другое.

Установка клиента SABnzbd Usenet на Ubuntu 16.04/18.04

SABnzbd можно установить прямо из стандартного репозитория Ubuntu, воспользовавшись терминалом и командой apt.

sudo apt install sabnzbdplus

SABnzbd находится в активной разработке. Для установки последней стабильной версии (2.3.9 на момент создания данного текста) рекомендуется выполнить следующие команды, используя PPA SABnzbd.

sudo add-apt-repository ppa:jcfp/nobetas sudo add-apt-repository ppa:jcfp/sab-addons sudo apt update sudo apt install sabnzbdplus python-sabyenc par2-tbb

Модуль SABYenc способен повысить скорость загрузки на устройствах с ограниченными возможностями процессора. Пакет par2-tbb включает модуль Multicore-par2, который существенно ускоряет процесс проверки и восстановления, задействуя все ядра системы.

Разработка службы Systemd для SABnzbd.

Несмотря на то что пакет sabnzbdplus включает стандартный Init-скрипт (/etc/init. d/sabnzbdplus), я заметил, что он не функционирует. Я использовал следующую команду для запуска службы.

sudo service sabnzbdplus start

При использовании следующей команды для отображения активных портов на моей системе Ubuntu, я не увижу порт 8080, что означает, что SABnzbd, который по умолчанию использует этот порт, не запущен.

sudo netstat - lnpt | grep 8080

Оптимальный способ запуска SABnzbd — это использование службы Systemd. Для создания службы Systemd для SABnzbd можно воспользоваться текстовым редактором командной строки, например, Nano.

Читайте также:  Установка TeamViewer на Ubuntu 16.04 Xenial Xerus

sudo nano /etc/systemd/system/sabnzbd.service

Сохраните следующий текст в документе.

[Unit] Description=SABnzbd Usenet Client After=network. target [Service] Type=simple Пользователь=sabnzbd Группа=sabnzbd ExecStart=/usr/bin/python3 - 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 не нужны права суперпользователя. В связи с этим в файле службы указано, что 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.

systemctl status sabnzbd

Начните работу с Мастером Настройки.

Введите 127.0.0.1:8080/sabnzbd/wizard в адресную строку вашего браузера для открытия мастера начальной настройки.

Для установки SABnzbd на Ubuntu выполните следующие шаги.

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

Sabnzbd и Newsdemon

Чтобы загрузить контент (например, изображение, аудио, видео или электронную книгу) с Usenet, вам нужно будет передать файл NZB в программу SABnzbd. Файл NZB, аналогичный. torrent, можно получить на сайтах индексаторов Usenet, таких как nzbfinder. ws. Большинство этих ресурсов функционирует по модели freemium. Вы можете создать свой собственный бесплатный индексатор Usenet, но для новичков будет разумнее зарегистрироваться на нескольких индексирующих сайтах, чтобы ознакомиться с доступными материалами. Как видно на скриншоте, скорость загрузки впечатляющая (16.8 МБ/с = 134.4 Мбит/с).

Скорость загрузки через SABnzbd с сервиса NewsDemon

Как изменить папку, в которую будут сохраняться загрузки.

Папка для загрузок по умолчанию расположена по адресу /home/sabnzbd/Downloads. Чтобы изменить её на другую директорию, например, на внешний жесткий диск, откройте меню «Папка» в веб-интерфейсе SABnzbd. После этого нажмите кнопку «Обзор», чтобы выбрать новую папку.

Читайте также:  Как собрать данные о системе Ubuntu и ее характеристиках

Изменение папки назначения загрузок в sabnzbd

Имейте в виду, что для загрузки пользователь sabnzbd должен обладать правами на чтение и запись в целевой папке. Если вы используете внешний USB-накопитель, вы можете выполнить следующую команду для предоставления необходимых прав.

sudo setfacl - R - m u:sabnzbd:rwx /media/linuxbabe/

Мой внешний USB-накопитель подключен в /media/linuxbabe/, при необходимости вы можете изменить этот путь.

Конфигурация реверс-прокси

Для того чтобы получить возможность доступа к веб-интерфейсу SABnzbd из удаленного соединения (например, из-за пределов вашей локальной сети) через доменное имя, можно настроить обратный прокси, используя Nginx или Apache.

Если у вас еще нет действительного доменного имени, советую заглянуть на сайт NameCheap для его приобретения. Там доступные цены, и они предлагают бесплатную защиту конфиденциальности whois на весь срок использования.

Nginx

Установите Nginx на Ubuntu версии 16.04 или 18.04.

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-запись. Если вы используете другой порт, измените 8080 на свой номер порта.

server { listen 80; server_name sabnzbd. your-domain.com; location / { 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

Если вы предпочитаете веб-сервер Apache вместо Nginx, воспользуйтесь приведёнными ниже рекомендациями для конфигурации обратного прокси.

Установите сервер Apache для веб-хостинга.

sudo apt install apache2

Для настройки Apache в качестве обратного прокси необходимо активировать модули прокси, а также модуль для переписывания URL.

sudo a2enmod proxy proxy_http rewrite

Далее следует создать файл виртуального хоста для SABnzbd.

Читайте также:  Как установить приложение для обмена сообщениями qTox на Linux

sudo nano /etc/apache2/sites-available/sabnzbd.conf

Поместите следующий текст в файл. Замените sabnzbd. your-domain.com на ваше реальное доменное имя и убедитесь, что для него установлена A-запись. Если вы используете другой порт, замените 8080 на нужный вам номер порта.

ServerName sabnzbd. your-domain.comProxyPass / 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) на Ubuntu.

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.

Сертификат теперь необходимо получить и установить автоматически.

SSL сертификат для SABnzbd

Запрет на доступ

Если SABnzbd доступен из публичного Интернета, то очень важно установить имя пользователя и пароль, что можно сделать в разделе Config > General >Безопасность.

Заключение

Это всё! Надеюсь, этот урок был полезен для установки SABnzbd на Ubuntu 16.04/18.04. Как обычно, если вы сочли эту информацию полезной, подпишитесь на нашу бесплатную рассылку, чтобы получать ещё больше советов и рекомендаций.