GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar SABnzbd Usenet Client en Debian Server/Desktop

SABnzbd es un cliente Usenet gratuito de código abierto y basado en la web para descargar contenido binario (imagen, audio, video, libro electrónico, etc.) en Usenet. Es multiplataforma, disponible para Linux, BSD, macOS, UNIX, Windows, Synology, QNAP, etc. Este tutorial le mostrará cómo instalar SABnzbd en Debian.

Características de SABnzbd

  • Puede acceder desde cualquier lugar con un navegador web.
  • Una interfaz web receptiva.
  • Se admiten varios servidores de Usenet (proveedores).
  • Las aplicaciones móviles están disponibles para Android e iOS
  • Aplicaciones como Sonarr, Sickrage, CouchPotato y Headphones pueden integrarse con SABnzbd y automatizar su proceso de descarga .
  • SABnzbd también puede leer y procesar fuentes RSS, activar secuencias de comandos personalizadas y enviarle notificaciones por correo, gruñir, merodear, empujar y empujar.
  • Integración del indexador NZB (Newz Binary). Un archivo NZB es como un archivo torrent y un indexador NZB es como un sitio torrent.
  • Y muchos más

Cómo instalar el cliente SABnzbd Usenet en Debian

SABnzbd está disponible en el repositorio predeterminado de Debian. Debes habilitar la contrib componente para poder instalarlo.

sudo apt install software-properties-common
sudo add-apt-repository contrib
sudo apt update
sudo apt install sabnzbdplus python-sabyenc par2

El módulo SABYenc puede ayudar a aumentar la velocidad de descarga en dispositivos con CPU limitada.

Crear una unidad de servicio de Systemd para SABnzbd

Aunque el sabnzbdplus El paquete proporciona un script de inicio tradicional (/etc/init.d/sabnzbdplus ), descubrí que no funcionaría. Ejecuté el siguiente comando para iniciar el servicio.

sudo service sabnzbdplus start

Si enumero los puertos de escucha en mi sistema Debian con el siguiente comando, el puerto 8080 no se encuentra en ninguna parte (SABnzbd por defecto escucha en el puerto 8080), lo que indica que no se está ejecutando.

sudo ss -lnpt | grep 8080

La mejor manera de iniciar SABnzbd es usar la unidad de servicio Systemd. Podemos usar un editor de texto de línea de comandos como Nano para crear un servicio Systemd para SABnzbd.

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

Ponga el siguiente texto en el archivo.

[Unit]
Description=SABnzbd Usenet Client
After=network.target

[Service]
Type=simple
User=sabnzbd
Group=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 escucha en el puerto 8080 de forma predeterminada. Si este puerto está siendo utilizado por otro proceso en su sistema, entonces SABnzbd elegirá automáticamente un puerto diferente. Recomiendo elegir un puerto directamente en el ExecStart parámetro como el siguiente, que hará que SABnzbd escuche en el puerto 8081.

ExecStart=/usr/bin/python -OO /usr/bin/sabnzbdplus -s 127.0.0.1:8081 --browser 0

Guarde y cierre el archivo. (Para guardar un archivo en el editor de texto Nano, presione Ctrl+O , luego presione Enter para confirmar. Para cerrar el archivo, presione Ctrl+X .)

Luego recarga Systemd.

sudo systemctl daemon-reload

Tenga en cuenta que SABnzbd no requiere privilegios de root para ejecutarse. así que especificamos en el archivo .service que SABnzbd debe ejecutarse como sabnzbd usuario y grupo, que no tienen privilegios de root. Crea el sabnzbd usuario y grupo del sistema con el siguiente comando. El directorio de inicio se utilizará para guardar el archivo de configuración (/home/sabnzbd/.sabnzbd/sabnzbd.ini).

sudo adduser --system --home /home/sabnzbd --group sabnzbd

Ahora podemos usar el servicio systemd para iniciar sabnzbd.

sudo systemctl start sabnzbd

Habilite el inicio automático en el momento del arranque.

sudo systemctl enable sabnzbd

Ahora compruebe el estado de sabnzbd.

systemctl status sabnzbd

Salida de muestra:

Ejecutar el asistente de configuración

Puede ingresar 127.0.0.1:8080/sabnzbd/wizard en cualquier navegador web para iniciar el asistente de inicio rápido. Si instaló SABnzbd en un servidor Debian remoto, debe configurar un proxy inverso con Nginx o Apache para acceder a la interfaz de usuario web, que se explica más adelante en este tutorial.

Selecciona un idioma. En la siguiente pantalla, ingrese los detalles del servidor de su proveedor de Usenet. Uso NewsDemon, que ofrece 15 días de prueba gratuita. Estos detalles del servidor se pueden obtener de su proveedor de Usenet. Si su Usenet es compatible con SSL, asegúrese de marcar SSL.

Para descargar contenido (imagen, audio, video, libro electrónico, etc.) de Usenet, debe alimentar un NZB archivo a SABnzbd. El archivo NZB, que es similar al archivo .torrent, se puede descargar desde los sitios de índice de Usenet como nzbfinder.ws. La mayoría de estos sitios se basan en un modelo freemium. Tiene la opción de crear su propio indexador de Usenet gratuito, pero ahora, para un principiante de Usenet, es una buena idea registrar cuentas gratuitas en estos sitios de índice de Usenet para ver qué hay disponible para usted. Como puede ver en la captura de pantalla, la velocidad de descarga es bastante rápida. (16,8 MB/s =134,4 Mbit/s)

Cómo cambiar la carpeta de destino de descarga

La carpeta de descarga predeterminada es /home/sabnzbd/Downloads . Si desea cambiarlo a otro directorio, por ejemplo, su disco duro externo, haga clic en Folder menú en la interfaz web de SABnzbd. Luego haga clic en el botón Navegador para cambiarlo.

Tenga en cuenta que sabnzbd el usuario debe tener permiso de lectura y escritura en la carpeta de destino de la descarga. Si usa un disco duro USB externo, puede ejecutar el siguiente comando para otorgar permiso.

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

Mi disco duro USB externo está instalado en /media/linuxbabe/ , cámbielo según corresponda.

Configuración del proxy inverso

Para acceder a la interfaz web de SABnzbd desde una conexión remota (por ejemplo, fuera de su LAN) usando un nombre de dominio, puede configurar un proxy inverso con Nginx o Apache.

Si no tiene un nombre de dominio real, le recomiendo ir a NameCheap para comprar uno. El precio es bajo y brindan protección de privacidad whois gratis de por vida.

Nginx

Instale Nginx en Debian.

sudo apt install nginx

Inicie el servidor web Nginx.

sudo systemctl start nginx

Luego cree un nuevo archivo de bloque de servidor en /etc/nginx/conf.d/ directorio.

sudo nano /etc/nginx/conf.d/sabnzbd.conf

Pegue el siguiente texto en el archivo. Reemplace sabnzbd.your-domain.com con su nombre de dominio preferido y no olvide crear un registro DNS A para él. Si usa un puerto diferente, cambie 8080 a su propio número de puerto.

server {
       listen 80;
       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;
        }
}

Guarde y cierre el archivo. Luego pruebe la configuración de Nginx.

sudo nginx -t

Si la prueba es exitosa, vuelva a cargar Nginx.

sudo systemctl reload nginx

Ahora puede acceder a la interfaz web de SABnzbd a través de sabnzbd.your-domain.com . Si ve el siguiente error:

Access denied - Hostname verification failed

Luego necesita editar el archivo de configuración (/home/sabnzbd/.sabnzbd/sabnzbd.ini ) y agrega sabnzbd.your-domain.com a la lista blanca.

host_whitelist = sabnzbd.your-domain.com

Luego reinicie SABnzbd.

sudo systemctl restart sabnzbd

Apache

Si usa el servidor web Apache en lugar de Nginx, siga las instrucciones a continuación para configurar el proxy inverso.

Instale el servidor web Apache.

sudo apt install apache2

Para usar Apache como proxy inverso, debemos habilitar el proxy módulos y también habilitaremos el rewrite módulo.

sudo a2enmod proxy proxy_http rewrite

Luego cree un archivo de host virtual para SABnzbd.

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

Coloque los siguientes textos en el archivo. Reemplace sabnzbd.your-domain.com con su nombre de dominio real y no olvide crear un registro DNS A para él. Si usa un puerto diferente, cambie 8080 a su propio número de puerto.

<VirtualHost *:80>
    ServerName sabnzbd.your-domain.com

    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

Guarde y cierre el archivo. Luego habilite este servidor virtual.

sudo a2ensite sabnzbd.conf

Vuelva a cargar Apache para que los cambios surtan efecto.

sudo systemctl reload apache2

Ahora puede acceder de forma remota a SABnzbd ingresando el nombre de dominio (sabnzbd.your-domain.com ) en la barra de direcciones del navegador. Si ve el siguiente error:

Access denied - Hostname verification failed

Luego necesita editar el archivo de configuración (/home/sabnzbd/.sabnzbd/sabnzbd.ini ) y agrega sabnzbd.your-domain.com a la lista blanca.

host_whitelist = sabnzbd.your-domain.com

Luego reinicie SABnzbd.

sudo systemctl restart sabnzbd

Habilitar HTTPS

Para cifrar el tráfico HTTP cuando visita la interfaz web de SABnzbd desde el exterior, podemos habilitar HTTPS instalando un certificado TLS gratuito emitido por Let's Encrypt. Ejecute el siguiente comando para instalar el cliente Let's Encrypt (certbot) en Debian.

sudo apt install certbot

Si usa Nginx, también necesita instalar el complemento Certbot Nginx.

sudo apt install python3-certbot-nginx

A continuación, ejecute el siguiente comando para obtener e instalar el certificado TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com

Si usa Apache, entonces necesita instalar el complemento Certbot Apache.

sudo apt install python3-certbot-apache

A continuación, ejecute el siguiente comando para obtener e instalar el certificado TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com

donde:

  • --nginx :use el complemento nginx.
  • --apache :Utilice el complemento de Apache.
  • --agree-tos :Acepto los términos del servicio.
  • --redirect :Forzar HTTPS por redirección 301.
  • --hsts :agregue el encabezado Strict-Transport-Security a cada respuesta HTTP. Obligar al navegador a usar siempre TLS para el dominio. Protege contra la eliminación de SSL/TLS.
  • --staple-ocsp :activa el grapado OCSP. Se grapa una respuesta OCSP válida al certificado que ofrece el servidor durante TLS.

Ahora se debe obtener el certificado e instalarlo automáticamente.

Restringir el acceso

Si se puede acceder a SABnzbd desde la Internet pública, entonces es muy importante establecer un nombre de usuario y una contraseña, lo que se puede hacer en Config> Generales> Seguridad sección.


Debian
  1. Cómo instalar el servidor Xrdp (escritorio remoto) en Debian 10

  2. Cómo instalar el servidor RabbitMQ en Debian 9/8

  3. Cómo instalar el cliente REST de Postman en Debian 11

  4. Cómo instalar el servidor Xrdp en Debian 10

  5. Cómo instalar el servidor Xrdp en Debian 11

Cómo instalar Discourse en el servidor Debian 11 Bullseye

Cómo instalar un servidor FTP en Debian 10

Cómo instalar Go en Debian 11

Cómo instalar Plex Media Server en Debian 11

Cómo instalar un servidor FTP en Debian 11

Cómo instalar Plex Media Server en Debian 10