GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer le client Usenet SABnzbd sur Ubuntu 16.04/18.04

SABnzbd est un client Usenet gratuit et open-source basé sur le Web pour télécharger du contenu binaire (image, audio, vidéo, e-book, etc.) sur Usenet. Il est multiplateforme, disponible pour Linux, BSD, macOS, UNIX, Windows, Synology, QNAP, etc. Ce tutoriel va vous montrer comment installer SABnzbd sur Ubuntu 16.04 et Ubuntu 18.04 .

Fonctionnalités de SABnzbd :

  • Vous pouvez y accéder de n'importe où avec un navigateur Web.
  • Une interface Web réactive.
  • Plusieurs serveurs Usenet (fournisseurs) sont pris en charge.
  • Les applications mobiles sont disponibles pour Android et iOS
  • Des applications telles que Sonarr, Sickrage, CouchPotato et Headphones peuvent s'intégrer à SABnzbd et automatiser votre processus de téléchargement .
  • SABnzbd peut également lire et traiter les flux RSS, activer des scripts personnalisés et vous avertir par e-mail, growl, prowl, pushover et pushbullet.
  • Intégration de l'indexeur NZB (Newz Binary). Un fichier NZB est comme un fichier torrent et un indexeur NZB est comme un site torrent.
  • Et bien d'autres

Comment installer le client Usenet SABnzbd sur Ubuntu 16.04/18.04

SABnzbd est disponible à partir du référentiel Ubuntu par défaut. Vous pouvez donc ouvrir un terminal et l'installer avec apt.

sudo apt install sabnzbdplus

SABnzbd est activement développé. Il est recommandé d'exécuter les commandes suivantes pour installer la dernière version stable (2.3.9 au moment de la rédaction de cet article) à partir du 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

Le module SABYenc peut aider à augmenter la vitesse de téléchargement sur les appareils à processeur limité. Le par2-tbb fournit le module Multicore-par2 pour accélérer considérablement la vérification et la réparation en utilisant tous les cœurs de votre système.

Créer une unité de service Systemd pour SABnzbd

Bien que le sabnzbdplus package fournit un script Init traditionnel (/etc/init.d/sabnzbdplus), mais j'ai trouvé que cela ne fonctionnerait pas. J'ai exécuté la commande suivante pour démarrer le service.

sudo service sabnzbdplus start

Si je liste les ports d'écoute sur mon système Ubuntu avec la commande suivante, le port 8080 est introuvable (SABnzbd écoute par défaut sur le port 8080.), ce qui indique qu'il ne fonctionne pas.

sudo netstat -lnpt | grep 8080

La meilleure façon de démarrer SABnzbd est d'utiliser l'unité de service Systemd. Nous pouvons utiliser un éditeur de texte en ligne de commande tel que Nano pour créer un service Systemd pour SABnzbd.

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

Mettez le texte suivant dans le fichier.

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

[Service]
Type=simple
User=sabnzbd
Group=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 écoute sur le port 8080 par défaut. Si ce port est utilisé par un autre processus sur votre système, alors SABnzbd choisira automatiquement un port différent. Je recommande de choisir un port directement dans le paramètre ExecStart comme ci-dessous, ce qui fera écouter SABnzbd sur le port 8081.

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

Enregistrez et fermez le fichier. (Pour enregistrer un fichier dans l'éditeur de texte Nano, appuyez sur Ctrl+O , puis appuyez sur Enter confirmer. Pour fermer le fichier, appuyez sur Ctrl+X .)

Rechargez ensuite Systemd.

sudo systemctl daemon-reload

Notez que SABnzbd ne nécessite pas de privilège root pour s'exécuter. nous avons donc spécifié dans le fichier de service que SABnzbd doit s'exécuter en tant que sabnzbd utilisateur et groupe, qui n'ont pas de privilèges root. Créez le sabnzbd utilisateur et groupe système avec la commande suivante. Le répertoire personnel sera utilisé pour enregistrer le fichier de configuration (/home/sabnzbd/.sabnzbd/sabnzbd.ini).

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

Nous pouvons maintenant utiliser le service systemd pour démarrer sabnzbd.

sudo systemctl start sabnzbd

Activer le démarrage automatique au démarrage.

sudo systemctl enable sabnzbd

Vérifiez maintenant le statut de sabnzbd.

systemctl status sabnzbd

Exemple de sortie :

Lancer l'assistant de configuration

Vous pouvez saisir 127.0.0.1:8080/sabnzbd/wizard dans n'importe quel navigateur Web pour lancer l'assistant de démarrage rapide.

Sélectionnez une langue. Dans l'écran suivant, entrez les détails du serveur de votre fournisseur Usenet. J'utilise NewsDemon, qui offre un essai gratuit de 15 jours. Ces détails de serveur peuvent être obtenus auprès de votre fournisseur Usenet. Si votre Usenet prend en charge SSL, assurez-vous de cocher SSL.

Pour télécharger du contenu (image, audio, vidéo, e-book, etc.) depuis Usenet, vous devez alimenter un NZB fichier à SABnzbd. Le fichier NZB, qui est similaire au fichier .torrent, peut être téléchargé à partir de sites d'index Usenet tels que nzbfinder.ws. La plupart de ces sites sont basés sur un modèle freemium. Vous avez la possibilité de créer votre propre indexeur Usenet gratuit, mais maintenant, pour un débutant Usenet, c'est une bonne idée d'enregistrer des comptes gratuits avec ces sites d'indexation Usenet pour voir ce qui est disponible pour vous. Comme vous pouvez le voir sur la capture d'écran, la vitesse de téléchargement est assez rapide. (16,8 Mo/s =134,4 Mbit/s)

Comment changer le dossier de destination de téléchargement

Le dossier de téléchargement par défaut est /home/sabnzbd/Downloads . Si vous souhaitez le déplacer vers un autre répertoire, par exemple, votre disque dur externe, cliquez sur le Folder menu dans l'interface Web de SABnzbd. Cliquez ensuite sur le bouton Navigateur pour le modifier.

Notez que le sabnzbd l'utilisateur doit avoir une autorisation de lecture et d'écriture sur votre dossier de destination de téléchargement. Si vous utilisez un disque dur USB externe, vous pouvez exécuter la commande suivante pour accorder l'autorisation.

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

Mon disque dur USB externe est monté sur /media/linuxbabe/ , modifiez-le comme il convient.

Configuration du proxy inverse

Pour accéder à l'interface Web SABnzbd à partir d'une connexion à distance (par exemple, en dehors de votre réseau local) à l'aide d'un nom de domaine, vous pouvez configurer un proxy inverse avec Nginx ou Apache.

Si vous n'avez pas de vrai nom de domaine, je vous recommande d'aller sur NameCheap pour en acheter un. Le prix est bas et ils offrent une protection de la confidentialité whois gratuite à vie.

Nginx

Installez Nginx sur Ubuntu 16.04 ou Ubuntu 18.04 :

sudo apt install nginx

Démarrez le serveur Web Nginx.

sudo systemctl start nginx

Créez ensuite un nouveau fichier de bloc de serveur dans /etc/nginx/conf.d/ répertoire.

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

Collez le texte suivant dans le fichier. Remplacez sabnzbd.your-domain.com avec votre nom de domaine préféré et n'oubliez pas de créer un enregistrement A pour celui-ci. Si vous utilisez un autre port, remplacez 8080 par votre propre numéro de port.

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;
        }
}

Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.

sudo nginx -t

Si le test réussit, rechargez Nginx.

sudo systemctl reload nginx

Vous pouvez maintenant accéder à l'interface Web de SABnzbd via sabnzbd.your-domain.com . Si vous voyez l'erreur suivante :

Access denied - Hostname verification failed

Ensuite, vous devez modifier le fichier de configuration (/home/sabnzbd/.sabnzbd/sabnzbd.ini ) et ajoutez sabnzbd.your-domain.com à la liste blanche.

host_whitelist = sabnzbd.your-domain.com

Redémarrez ensuite SABnzbd.

sudo systemctl restart sabnzbd

Apache

Si vous utilisez le serveur Web Apache plutôt que Nginx, suivez les instructions ci-dessous pour configurer le proxy inverse.

Installez le serveur Web Apache.

sudo apt install apache2

Pour utiliser Apache comme proxy inverse, nous devons activer le proxy modules et nous activerons également la rewrite module.

sudo a2enmod proxy proxy_http rewrite

Créez ensuite un fichier d'hôte virtuel pour SABnzbd.

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

Mettez les textes suivants dans le fichier. Remplacez sabnzbd.your-domain.com avec votre nom de domaine réel et n'oubliez pas de définir un enregistrement A pour celui-ci. Si vous utilisez un autre port, remplacez 8080 par votre propre numéro de port.

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

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

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.

sudo a2ensite sabnzbd.conf

Rechargez Apache pour que les modifications prennent effet.

sudo systemctl reload apache2

Vous pouvez désormais accéder à distance à SABnzbd en saisissant le nom de domaine (sabnzbd.your-domain.com ) dans la barre d'adresse du navigateur. Si vous voyez l'erreur suivante :

Access denied - Hostname verification failed

Ensuite, vous devez modifier le fichier de configuration (/home/sabnzbd/.sabnzbd/sabnzbd.ini ) et ajoutez sabnzbd.your-domain.com à la liste blanche.

host_whitelist = sabnzbd.your-domain.com

Redémarrez ensuite SABnzbd.

sudo systemctl restart sabnzbd

Activer HTTPS

Pour chiffrer le trafic HTTP lorsque vous visitez l'interface Web SABnzbd de l'extérieur, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let's Encrypt. Exécutez la commande suivante pour installer le client Let's Encrypt (certbot) sur Ubuntu.

sudo apt install certbot

Si vous utilisez Nginx, vous devez également installer le plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.

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

Si vous utilisez Apache, vous devez installer le plugin Certbot Apache.

sudo apt install python3-certbot-apache

Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.

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

Où :

  • --nginx  :Utilisez le plug-in nginx.
  • --apache :Utilisez le plug-in Apache.
  • --agree-tos  :acceptez les conditions d'utilisation.
  • --redirect  :Forcer HTTPS par redirection 301.
  • --hsts  : ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Protège contre le SSL/TLS Stripping.
  • --staple-ocsp  : Active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur propose pendant TLS.

Le certificat devrait maintenant être obtenu et installé automatiquement.

Restreindre l'accès

Si SABnzbd est accessible depuis l'Internet public, il est très important de définir un nom d'utilisateur et un mot de passe, ce qui peut être fait dans Config> Général> Sécurité rubrique.


Ubuntu
  1. Comment installer Docker sur Ubuntu 18.04

  2. Comment installer Apache sur Ubuntu 18.04

  3. Comment installer PostgreSQL 11/10 sur Ubuntu 18.04/16.04 et Linux Mint 19/18

  4. Vin 6.15 est sorti ! Comment l'installer dans Ubuntu 20.04/21.04/18.04

  5. Comment installer Flatpak sur Ubuntu 20.04/18.04

Comment installer l'éditeur Lightzone Photo sur Ubuntu 20.04/18.04

Comment installer WordPress sur le serveur Web Lighttpd - Ubuntu 20.04/18.04

Comment installer le client Zoom sur Ubuntu 20.04

Comment installer le client IRC Lounge sur Ubuntu 20.04

Comment installer Plex Media Server sur Ubuntu 20.04/18.04

Comment installer Jenkins sur Ubuntu 20.04/18.04