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 Debian.
Fonctionnalités 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 Debian
SABnzbd est disponible depuis le référentiel Debian par défaut. Vous devez activer la contrib
composant afin de l'installer.
sudo apt install software-properties-common sudo add-apt-repository contrib sudo apt update sudo apt install sabnzbdplus python-sabyenc par2
Le module SABYenc peut aider à augmenter la vitesse de téléchargement sur les appareils à processeur limité.
Créer une unité de service Systemd pour SABnzbd
Bien que le sabnzbdplus
package fournit un script Init traditionnel (/etc/init.d/sabnzbdplus
), j'ai trouvé que ça ne marcherait 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 Debian 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 ss -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/python -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 ExecStart
paramètre comme ci-dessous, 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 .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. Si vous avez installé SABnzbd sur un serveur Debian distant, vous devez configurer un proxy inverse avec Nginx ou Apache afin d'accéder à l'interface utilisateur Web, ce qui est expliqué plus loin dans ce didacticiel.
Sélectionnez une langue. Dans l'écran suivant, entrez les détails du serveur de votre fournisseur Usenet. J'utilise NewsDemon, qui offre 15 jours d'essai gratuit. 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 Debian.
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 DNS A pour celui-ci. Si vous utilisez un autre port, remplacez 8080 par votre propre numéro de port.
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; } }
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 créer un enregistrement DNS 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 Debian.
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.