SABnzbd è un client Usenet gratuito e basato sul Web per scaricare contenuti binari (immagine, audio, video, e-book, ecc.) su Usenet. È multipiattaforma, disponibile per Linux, BSD, macOS, UNIX, Windows, Synology, QNAP e così via. Questo tutorial ti mostrerà come installare SABnzbd su Ubuntu 16.04 e Ubuntu 18.04 .
Caratteristiche di SABnzbd:
- Puoi accedervi da qualsiasi luogo con un browser web.
- Un'interfaccia web reattiva.
- Sono supportati più server Usenet (provider).
- Le app mobili sono disponibili per Android e iOS
- App come Sonarr, Sickrage, CouchPotato e Headphones possono integrarsi con SABnzbd e automatizzare il processo di download .
- SABnzbd può anche leggere ed elaborare feed RSS, attivare script personalizzati e inviare notifiche tramite posta, ringhio, preda, pushover e pushbullet.
- Integrazione dell'indicizzatore NZB (Newz Binary). Un file NZB è come un file torrent e un indicizzatore NZB è come un sito torrent.
- E molti altri
Come installare il client Usenet SABnzbd su Ubuntu 16.04/18.04
SABnzbd è disponibile dal repository Ubuntu predefinito. Quindi puoi aprire un terminale e installarlo con apt.
sudo apt install sabnzbdplus
SABnzbd è in fase di sviluppo attivo. Si consiglia di eseguire i seguenti comandi per installare l'ultima versione stabile (2.3.9 al momento della stesura di questo articolo) dal 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
Il modulo SABYenc può aiutare ad aumentare la velocità di download su dispositivi limitati dalla CPU. Il par2-tbb
Il pacchetto fornisce il modulo Multicore-par2 per velocizzare notevolmente la verifica e la riparazione utilizzando tutti i core del sistema.
Crea un'unità di servizio Systemd per SABnzbd
Sebbene il sabnzbdplus
Il pacchetto fornisce uno script Init tradizionale (/etc/init.d/sabnzbdplus), ma ho scoperto che non avrebbe funzionato. Ho eseguito il seguente comando per avviare il servizio.
sudo service sabnzbdplus start
Se elenco le porte di ascolto sul mio sistema Ubuntu con il seguente comando, la porta 8080 non si trova da nessuna parte (SABnzbd per impostazione predefinita è in ascolto sulla porta 8080.) che indica che non è in esecuzione.
sudo netstat -lnpt | grep 8080
Il modo migliore per avviare SABnzbd è utilizzare l'unità di servizio Systemd. Possiamo utilizzare un editor di testo a riga di comando come Nano per creare un servizio Systemd per SABnzbd.
sudo nano /etc/systemd/system/sabnzbd.service
Inserisci il seguente testo nel file.
[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 è in ascolto sulla porta 8080 per impostazione predefinita. Se questa porta viene utilizzata da un altro processo sul sistema, SABnzbd sceglierà automaticamente una porta diversa. Consiglio di scegliere una porta direttamente nel parametro ExecStart come di seguito, che farà ascoltare SABnzbd sulla porta 8081.
ExecStart=/usr/bin/python -OO /usr/bin/sabnzbdplus -s 127.0.0.1:8081 --browser 0
Salva e chiudi il file. (Per salvare un file nell'editor di testo Nano, premi Ctrl+O
, quindi premi Enter
per confermare. Per chiudere il file, premi Ctrl+X
.)
Quindi ricarica Systemd.
sudo systemctl daemon-reload
Si noti che SABnzbd non richiede il privilegio di root per l'esecuzione. quindi abbiamo specificato nel file di servizio che SABnzbd dovrebbe essere eseguito come sabnzbd
utente e gruppo, che non hanno privilegi di root. Crea il sabnzbd
utente e gruppo di sistema con il comando seguente. La directory home verrà utilizzata per salvare il file di configurazione (/home/sabnzbd/.sabnzbd/sabnzbd.ini).
sudo adduser --system --home /home/sabnzbd --group sabnzbd
Ora possiamo usare il servizio systemd per avviare sabnzbd.
sudo systemctl start sabnzbd
Abilita l'avvio automatico all'avvio.
sudo systemctl enable sabnzbd
Ora controlla lo stato di sabnzbd.
systemctl status sabnzbd
Esempio di output:
Avvia la procedura guidata di configurazione
Puoi inserire 127.0.0.1:8080/sabnzbd/wizard
in qualsiasi browser web per avviare la procedura guidata di avvio rapido.
Seleziona una lingua. Nella schermata successiva, inserisci i dettagli del server del tuo provider Usenet. Uso NewsDemon, che offre 15 giorni di prova gratuita. Questi dettagli del server possono essere ottenuti dal tuo provider Usenet. Se la tua Usenet supporta SSL, assicurati di controllare SSL.
Per scaricare contenuti (immagine, audio, video, e-book, ecc.) da Usenet, devi alimentare un NZB file a SABnzbd. Il file NZB, che è simile al file .torrent, può essere scaricato da siti di indicizzazione Usenet come nzbfinder.ws. La maggior parte di questi siti si basa su un modello freemium. Hai la possibilità di creare il tuo indicizzatore Usenet gratuito, ma ora per un principiante Usenet, è una buona idea registrare account gratuiti con questi siti di indicizzazione Usenet per vedere cosa è disponibile per te. Come puoi vedere dallo screenshot, la velocità di download è abbastanza veloce. (16,8 MB/s =134,4 Mbit/s)
Come modificare la cartella di destinazione del download
La cartella di download predefinita è /home/sabnzbd/Downloads
. Se desideri cambiarlo in un'altra directory, ad esempio il tuo disco rigido esterno, fai clic su Folder
menu nell'interfaccia web di SABnzbd. Quindi fare clic sul pulsante Browser per modificarlo.
Nota che il sabnzbd
l'utente deve disporre dell'autorizzazione di lettura e scrittura per la cartella di destinazione del download. Se utilizzi un disco rigido USB esterno, puoi eseguire il comando seguente per concedere l'autorizzazione.
sudo setfacl -R -m u:sabnzbd:rwx /media/linuxbabe/
Il mio disco rigido USB esterno è montato su /media/linuxbabe/
, modificalo come appropriato.
Configurazione del proxy inverso
Per accedere all'interfaccia web di SABnzbd da una connessione remota (ad es. al di fuori della tua LAN) utilizzando il nome di dominio, puoi configurare il proxy inverso con Nginx o Apache.
Se non hai un vero nome di dominio, ti consiglio di andare su NameCheap per acquistarne uno. Il prezzo è basso e offrono protezione della privacy a chi è gratuita per tutta la vita.
Nginx
Installa Nginx su Ubuntu 16.04 o Ubuntu 18.04:
sudo apt install nginx
Avvia il server web Nginx.
sudo systemctl start nginx
Quindi crea un nuovo file di blocco del server in /etc/nginx/conf.d/
directory.
sudo nano /etc/nginx/conf.d/sabnzbd.conf
Incolla il seguente testo nel file. Sostituisci sabnzbd.your-domain.com
con il tuo nome di dominio preferito e non dimenticare di creare un record per esso. Se utilizzi una porta diversa, cambia 8080 con il tuo numero di porta.
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; } }
Salva e chiudi il file. Quindi testa la configurazione di Nginx.
sudo nginx -t
Se il test ha esito positivo, ricarica Nginx.
sudo systemctl reload nginx
Ora puoi accedere all'interfaccia Web di SABnzbd tramite sabnzbd.your-domain.com
. Se viene visualizzato il seguente errore:
Access denied - Hostname verification failed
Quindi è necessario modificare il file di configurazione (/home/sabnzbd/.sabnzbd/sabnzbd.ini
) e aggiungi sabnzbd.your-domain.com
alla lista bianca.
host_whitelist = sabnzbd.your-domain.com
Quindi riavvia SABnzbd.
sudo systemctl restart sabnzbd
Apache
Se utilizzi il server Web Apache anziché Nginx, segui le istruzioni seguenti per configurare il proxy inverso.
Installa il server web Apache.
sudo apt install apache2
Per utilizzare Apache come proxy inverso, dobbiamo abilitare il proxy
moduli e abiliteremo anche la rewrite
modulo.
sudo a2enmod proxy proxy_http rewrite
Quindi crea un file host virtuale per SABnzbd.
sudo nano /etc/apache2/sites-available/sabnzbd.conf
Inserisci i seguenti testi nel file. Sostituisci sabnzbd.your-domain.com
con il tuo nome di dominio effettivo e non dimenticare di impostare un record A per esso. Se utilizzi una porta diversa, cambia 8080 con il tuo numero di porta.
<VirtualHost *:80> ServerName sabnzbd.your-domain.com ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ </VirtualHost>
Salva e chiudi il file. Quindi abilita questo host virtuale.
sudo a2ensite sabnzbd.conf
Ricarica Apache per rendere effettive le modifiche.
sudo systemctl reload apache2
Ora puoi accedere da remoto a SABnzbd inserendo il nome del dominio (sabnzbd.your-domain.com
) nella barra degli indirizzi del browser. Se viene visualizzato il seguente errore:
Access denied - Hostname verification failed
Quindi è necessario modificare il file di configurazione (/home/sabnzbd/.sabnzbd/sabnzbd.ini
) e aggiungi sabnzbd.your-domain.com
alla lista bianca.
host_whitelist = sabnzbd.your-domain.com
Quindi riavvia SABnzbd.
sudo systemctl restart sabnzbd
Abilita HTTPS
Per crittografare il traffico HTTP quando visiti l'interfaccia web SABnzbd dall'esterno, possiamo abilitare HTTPS installando un certificato TLS gratuito emesso da Let's Encrypt. Esegui il comando seguente per installare il client Let's Encrypt (certbot) su Ubuntu.
sudo apt install certbot
Se usi Nginx, devi anche installare il plugin Certbot Nginx.
sudo apt install python3-certbot-nginx
Quindi, esegui il comando seguente per ottenere e installare il certificato TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com
Se usi Apache, devi installare il plugin Certbot Apache.
sudo apt install python3-certbot-apache
Quindi, esegui il comando seguente per ottenere e installare il certificato TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com
Dove:
--nginx
:usa il plugin nginx.--apache
:usa il plugin Apache.--agree-tos
:Accetta i termini di servizio.--redirect
:Forza HTTPS tramite reindirizzamento 301.--hsts
: Aggiungi l'intestazione Strict-Transport-Security a ogni risposta HTTP. Forzare il browser a utilizzare sempre TLS per il dominio. Difende dallo stripping SSL/TLS.--staple-ocsp
: Abilita la pinzatura OCSP. Una risposta OCSP valida viene pinzata al certificato offerto dal server durante TLS.
Il certificato dovrebbe ora essere ottenuto e installato automaticamente.
Limitazione dell'accesso
Se SABnzbd è accessibile dalla rete Internet pubblica, è molto importante impostare un nome utente e una password, operazione che può essere eseguita in Config> Generale> Sicurezza sezione.