GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie den SABnzbd Usenet Client auf Debian Server/Desktop

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.


Debian
  1. So installieren Sie den Xrdp-Server (Remote Desktop) unter Debian 10

  2. So installieren Sie RabbitMQ Server unter Debian 9/8

  3. So installieren Sie den Postman-REST-Client in Debian 11

  4. So installieren Sie Xrdp-Server unter Debian 10

  5. So installieren Sie Xrdp-Server unter Debian 11

So installieren Sie Discourse auf dem Debian 11 Bullseye-Server

So installieren Sie den FTP-Server unter Debian 10

So installieren Sie Go unter Debian 11

So installieren Sie Plex Media Server unter Debian 11

So installieren Sie den FTP-Server unter Debian 11

So installieren Sie Plex Media Server unter Debian 10