SABnzbd ist ein kostenloser Open-Source- und webbasierter Usenet-Client zum Herunterladen von binären Inhalten (Bild, Audio, Video, E-Book usw.) im Usenet. Es ist plattformübergreifend und für Linux, BSD, macOS, UNIX, Windows, Synology, QNAP und so weiter verfügbar. Dieses Tutorial zeigt Ihnen, wie Sie SABnzbd unter Debian installieren.
SABnzbd-Funktionen
- Sie können von überall mit einem Webbrowser darauf zugreifen.
- Eine responsive Weboberfläche.
- Mehrere Usenet-Server (Provider) werden unterstützt.
- Mobile Apps sind für Android und iOS verfügbar
- Apps wie Sonarr, Sickrage, CouchPotato und Headphones können in SABnzbd integriert werden und Ihren Downloadprozess automatisieren .
- SABnzbd kann auch RSS-Feeds lesen und verarbeiten, benutzerdefinierte Skripte aktivieren und Sie per E-Mail, Growl, Prowl, Pushover und Pushbullet benachrichtigen.
- NZB (Newz Binary) Indexer-Integration. Eine NZB-Datei ist wie eine Torrent-Datei und ein NZB-Indexer ist wie eine Torrent-Site.
- Und viele mehr
So installieren Sie den SABnzbd-Usenet-Client unter Debian
SABnzbd ist im standardmäßigen Debian-Repository verfügbar. Sie müssen den contrib
aktivieren Komponente, um sie zu installieren.
sudo apt install software-properties-common sudo add-apt-repository contrib sudo apt update sudo apt install sabnzbdplus python-sabyenc par2
Das SABYenc-Modul kann dabei helfen, die Download-Geschwindigkeit auf CPU-begrenzten Geräten zu erhöhen.
Erstellen Sie eine Systemd Service Unit für SABnzbd
Obwohl die sabnzbdplus
Paket stellt ein herkömmliches Init-Skript bereit (/etc/init.d/sabnzbdplus
), fand ich, dass es nicht funktionieren würde. Ich habe den folgenden Befehl ausgeführt, um den Dienst zu starten.
sudo service sabnzbdplus start
Wenn ich die Listening-Ports auf meinem Debian-System mit dem folgenden Befehl aufliste, ist Port 8080 nirgends zu finden (SABnzbd lauscht standardmäßig auf Port 8080.), was darauf hinweist, dass es nicht läuft.
sudo ss -lnpt | grep 8080
Der bessere Weg, SABnzbd zu starten, ist die Verwendung der Systemd-Diensteinheit. Wir können einen Befehlszeilen-Texteditor wie Nano verwenden, um einen Systemd-Dienst für SABnzbd zu erstellen.
sudo nano /etc/systemd/system/sabnzbd.service
Fügen Sie den folgenden Text in die Datei ein.
[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 lauscht standardmäßig auf Port 8080. Wenn dieser Port von einem anderen Prozess auf Ihrem System verwendet wird, wählt SABnzbd automatisch einen anderen Port aus. Ich empfehle, einen Port direkt im ExecStart
auszuwählen Parameter wie unten, der SABnzbd dazu bringt, auf Port 8081 zu lauschen.
ExecStart=/usr/bin/python -OO /usr/bin/sabnzbdplus -s 127.0.0.1:8081 --browser 0
Speichern und schließen Sie die Datei. (Um eine Datei im Nano-Texteditor zu speichern, drücken Sie Ctrl+O
, und drücken Sie dann Enter
bestätigen. Um die Datei zu schließen, drücken Sie Ctrl+X
.)
Laden Sie dann Systemd neu.
sudo systemctl daemon-reload
Beachten Sie, dass SABnzbd keine Root-Rechte benötigt, um ausgeführt zu werden. Daher haben wir in der .service-Datei angegeben, dass SABnzbd als sabnzbd
ausgeführt werden soll Benutzer und Gruppe, die keine Root-Rechte haben. Erstellen Sie das sabnzbd
Systembenutzer und -gruppe mit dem folgenden Befehl. Das Home-Verzeichnis wird zum Speichern der Konfigurationsdatei (/home/sabnzbd/.sabnzbd/sabnzbd.ini) verwendet.
sudo adduser --system --home /home/sabnzbd --group sabnzbd
Jetzt können wir den systemd-Dienst verwenden, um sabnzbd zu starten.
sudo systemctl start sabnzbd
Autostart beim Booten aktivieren.
sudo systemctl enable sabnzbd
Überprüfen Sie jetzt den sabnzbd-Status.
systemctl status sabnzbd
Beispielausgabe:
Starten Sie den Einrichtungsassistenten
Sie können 127.0.0.1:8080/sabnzbd/wizard
eingeben in einem beliebigen Webbrowser, um den Schnellstart-Assistenten zu starten. Wenn Sie SABnzbd auf einem Remote-Debian-Server installiert haben, müssen Sie einen Reverse-Proxy mit Nginx oder Apache einrichten, um auf die Web-Benutzeroberfläche zuzugreifen, was später in diesem Tutorial erklärt wird.
Wähle eine Sprache. Geben Sie im nächsten Bildschirm die Serverdetails Ihres Usenet-Providers ein. Ich verwende NewsDemon, das eine 15-tägige kostenlose Testversion bietet. Diese Serverdetails erhalten Sie von Ihrem Usenet-Provider. Wenn Ihr Usenet SSL unterstützt, stellen Sie sicher, dass SSL aktiviert ist.
Um Inhalte (Bild, Audio, Video, E-Book usw.) aus dem Usenet herunterzuladen, müssen Sie eine NZB füttern Datei an SABnzbd. Die NZB-Datei, die der .torrent-Datei ähnelt, kann von Usenet-Indexseiten wie nzbfinder.ws heruntergeladen werden. Die meisten dieser Websites basieren auf einem Freemium-Modell. Sie haben die Möglichkeit, Ihren eigenen kostenlosen Usenet-Indexer zu erstellen, aber jetzt ist es für einen Usenet-Anfänger eine gute Idee, kostenlose Konten bei diesen Usenet-Indexseiten zu registrieren, um zu sehen, was Ihnen zur Verfügung steht. Wie Sie auf dem Screenshot sehen können, ist die Download-Geschwindigkeit ziemlich schnell. (16,8 MB/s =134,4 Mbit/s)
So ändern Sie den Download-Zielordner
Der standardmäßige Downloadordner ist /home/sabnzbd/Downloads
. Wenn Sie es in ein anderes Verzeichnis ändern möchten, beispielsweise auf Ihre externe Festplatte, klicken Sie auf den Folder
Menü in der SABnzbd-Weboberfläche. Klicken Sie dann auf die Browser-Schaltfläche, um sie zu ändern.
Beachten Sie, dass sabnzbd
Der Benutzer muss über Lese- und Schreibberechtigung für Ihren Download-Zielordner verfügen. Wenn Sie eine externe USB-Festplatte verwenden, können Sie den folgenden Befehl ausführen, um die Berechtigung zu erteilen.
sudo setfacl -R -m u:sabnzbd:rwx /media/linuxbabe/
Meine externe USB-Festplatte ist unter /media/linuxbabe/
gemountet , ändern Sie es nach Bedarf.
Reverse Proxy einrichten
Um über eine Remote-Verbindung (z. B. außerhalb Ihres LAN) unter Verwendung des Domänennamens auf die SABnzbd-Webschnittstelle zuzugreifen, können Sie einen Reverse-Proxy mit Nginx oder Apache einrichten.
Wenn Sie keinen echten Domainnamen haben, empfehle ich, zu NameCheap zu gehen, um einen zu kaufen. Der Preis ist niedrig und sie bieten Whois-Datenschutz lebenslang kostenlos.
Nginx
Installieren Sie Nginx unter Debian.
sudo apt install nginx
Starten Sie den Nginx-Webserver.
sudo systemctl start nginx
Erstellen Sie dann eine neue Serverblockdatei in /etc/nginx/conf.d/
Verzeichnis.
sudo nano /etc/nginx/conf.d/sabnzbd.conf
Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie sabnzbd.your-domain.com
mit Ihrem bevorzugten Domainnamen und vergessen Sie nicht, dafür einen DNS-A-Eintrag zu erstellen. Wenn Sie einen anderen Port verwenden, ändern Sie 8080 in Ihre eigene Portnummer.
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; } }
Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfiguration.
sudo nginx -t
Wenn der Test erfolgreich ist, laden Sie Nginx neu.
sudo systemctl reload nginx
Jetzt können Sie über sabnzbd.your-domain.com
auf die SABnzbd-Webschnittstelle zugreifen . Wenn Sie den folgenden Fehler sehen:
Access denied - Hostname verification failed
Dann müssen Sie die Konfigurationsdatei bearbeiten (/home/sabnzbd/.sabnzbd/sabnzbd.ini
) und fügen Sie sabnzbd.your-domain.com
hinzu auf die weiße Liste.
host_whitelist = sabnzbd.your-domain.com
Starten Sie dann SABnzbd neu.
sudo systemctl restart sabnzbd
Apache
Wenn Sie den Apache-Webserver anstelle von Nginx verwenden, befolgen Sie die nachstehenden Anweisungen, um den Reverse-Proxy einzurichten.
Installieren Sie den Apache-Webserver.
sudo apt install apache2
Um Apache als Reverse-Proxy zu verwenden, müssen wir den proxy
aktivieren Module und wir werden auch das rewrite
aktivieren Modul.
sudo a2enmod proxy proxy_http rewrite
Erstellen Sie dann eine virtuelle Hostdatei für SABnzbd.
sudo nano /etc/apache2/sites-available/sabnzbd.conf
Fügen Sie die folgenden Texte in die Datei ein. Ersetzen Sie sabnzbd.your-domain.com
mit Ihrem tatsächlichen Domainnamen und vergessen Sie nicht, einen DNS-A-Eintrag dafür zu erstellen. Wenn Sie einen anderen Port verwenden, ändern Sie 8080 in Ihre eigene Portnummer.
<VirtualHost *:80> ServerName sabnzbd.your-domain.com ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ </VirtualHost>
Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen virtuellen Host.
sudo a2ensite sabnzbd.conf
Laden Sie Apache neu, damit die Änderungen wirksam werden.
sudo systemctl reload apache2
Jetzt können Sie per Fernzugriff auf SABnzbd zugreifen, indem Sie den Domänennamen eingeben (sabnzbd.your-domain.com
) in der Adressleiste des Browsers. Wenn Sie den folgenden Fehler sehen:
Access denied - Hostname verification failed
Dann müssen Sie die Konfigurationsdatei bearbeiten (/home/sabnzbd/.sabnzbd/sabnzbd.ini
) und fügen Sie sabnzbd.your-domain.com
hinzu auf die weiße Liste.
host_whitelist = sabnzbd.your-domain.com
Starten Sie dann SABnzbd neu.
sudo systemctl restart sabnzbd
HTTPS aktivieren
Um den HTTP-Verkehr zu verschlüsseln, wenn Sie die SABnzbd-Weboberfläche von außerhalb besuchen, können wir HTTPS aktivieren, indem wir ein kostenloses TLS-Zertifikat installieren, das von Let’s Encrypt ausgestellt wurde. Führen Sie den folgenden Befehl aus, um den Let’s Encrypt-Client (certbot) unter Debian zu installieren.
sudo apt install certbot
Wenn Sie Nginx verwenden, müssen Sie auch das Certbot Nginx-Plugin installieren.
sudo apt install python3-certbot-nginx
Führen Sie als Nächstes den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com
Wenn Sie Apache verwenden, müssen Sie das Certbot-Apache-Plugin installieren.
sudo apt install python3-certbot-apache
Führen Sie als Nächstes den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com
Wo:
--nginx
:Verwenden Sie das nginx-Plugin.--apache
:Verwenden Sie das Apache-Plugin.--agree-tos
:Nutzungsbedingungen akzeptieren.--redirect
:HTTPS durch 301-Umleitung erzwingen.--hsts
:Fügen Sie jeder HTTP-Antwort den Strict-Transport-Security-Header hinzu. Erzwingen, dass der Browser immer TLS für die Domäne verwendet. Schützt vor SSL/TLS-Stripping.--staple-ocsp
:Aktiviert OCSP-Heften. Eine gültige OCSP-Antwort wird an das Zertifikat geheftet, das der Server während TLS anbietet.
Das Zertifikat sollte nun abgerufen und automatisch installiert werden.
Einschränken des Zugriffs
Wenn SABnzbd über das öffentliche Internet zugänglich ist, ist es sehr wichtig, einen Benutzernamen und ein Passwort festzulegen, was in Config erfolgen kann> Allgemeines> Sicherheit Abschnitt.