SABnzbd je bezplatný open-source a webový Usenet klient pro stahování binárního obsahu (obrázky, audio, video, e-knihy atd.) na Usenet. Je to multiplatformní, dostupné pro Linux, BSD, macOS, UNIX, Windows, Synology, QNAP a tak dále. Tento tutoriál vám ukáže, jak nainstalovat SABnzbd na Ubuntu 16.04 a Ubuntu 18.04 .
Funkce SABnzbd:
- Můžete k němu přistupovat odkudkoli pomocí webového prohlížeče.
- Responzivní webové rozhraní.
- Je podporováno více serverů (poskytovatelů) Usenet.
- Mobilní aplikace jsou k dispozici pro Android a iOS
- Aplikace jako Sonarr, Sickrage, CouchPotato a Headphones lze integrovat se SABnzbd a automatizovat proces stahování .
- SABnzbd může také číst a zpracovávat kanály RSS, aktivovat vlastní skripty a upozorňovat vás e-mailem, vrčením, pronásledováním, přehozením a pushbulletem.
- Integrace indexátoru NZB (Newz Binary). Soubor NZB je jako soubor torrent a indexátor NZB je jako torrentový web.
- A mnoho dalších
Jak nainstalovat klienta SABnzbd Usenet na Ubuntu 16.04/18.04
SABnzbd je k dispozici z výchozího úložiště Ubuntu. Můžete tedy otevřít terminál a nainstalovat jej pomocí apt.
sudo apt install sabnzbdplus
SABnzbd se aktivně vyvíjí. Pro instalaci nejnovější stabilní verze (2.3.9 v době psaní tohoto článku) z SABnzbd PPA se doporučuje spustit následující příkazy.
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
Modul SABYenc může pomoci zvýšit rychlost stahování na zařízeních s omezeným CPU. par2-tbb
balíček poskytuje modul Multicore-par2, který výrazně urychlí ověřování a opravy pomocí všech jader ve vašem systému.
Vytvořte jednotku Systemd Service Unit pro SABnzbd
Ačkoli sabnzbdplus
balíček poskytuje tradiční skript Init (/etc/init.d/sabnzbdplus), ale zjistil jsem, že to nebude fungovat. Spustil jsem následující příkaz ke spuštění služby.
sudo service sabnzbdplus start
Pokud uvedu seznam naslouchacích portů na mém systému Ubuntu pomocí následujícího příkazu, port 8080 není nikde k nalezení (SABnzbd ve výchozím nastavení naslouchá na portu 8080.), což znamená, že není spuštěn.
sudo netstat -lnpt | grep 8080
Lepší způsob, jak spustit SABnzbd, je použít servisní jednotku Systemd. K vytvoření služby Systemd pro SABnzbd můžeme použít textový editor příkazového řádku, jako je Nano.
sudo nano /etc/systemd/system/sabnzbd.service
Vložte do souboru následující text.
[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 standardně naslouchá na portu 8080. Pokud tento port používá jiný proces ve vašem systému, pak SABnzbd automaticky vybere jiný port. Doporučuji zvolit port přímo v parametru ExecStart jako níže, díky čemuž bude SABnzbd poslouchat na portu 8081.
ExecStart=/usr/bin/python -OO /usr/bin/sabnzbdplus -s 127.0.0.1:8081 --browser 0
Uložte a zavřete soubor. (Chcete-li uložit soubor v textovém editoru Nano, stiskněte Ctrl+O
a poté stiskněte Enter
potvrdit. Chcete-li soubor zavřít, stiskněte Ctrl+X
.)
Poté znovu načtěte Systemd.
sudo systemctl daemon-reload
Všimněte si, že SABnzbd ke spuštění nevyžaduje oprávnění root. takže jsme v souboru služby uvedli, že SABnzbd by se měl spouštět jako sabnzbd
uživatel a skupina, kteří nemají oprávnění root. Vytvořte sabnzbd
uživatele systému a skupiny pomocí následujícího příkazu. Domovský adresář bude použit pro uložení konfiguračního souboru (/home/sabnzbd/.sabnzbd/sabnzbd.ini).
sudo adduser --system --home /home/sabnzbd --group sabnzbd
Nyní můžeme použít službu systemd ke spuštění sabnzbd.
sudo systemctl start sabnzbd
Povolit automatické spouštění při spouštění.
sudo systemctl enable sabnzbd
Nyní zkontrolujte stav sabnzbd.
systemctl status sabnzbd
Ukázkový výstup:
Spusťte Průvodce nastavením
Můžete zadat 127.0.0.1:8080/sabnzbd/wizard
v libovolném webovém prohlížeči spusťte průvodce rychlým spuštěním.
Vyberte jazyk. Na další obrazovce zadejte podrobnosti o serveru vašeho poskytovatele Usenet. Používám NewsDemon, který nabízí 15denní bezplatnou zkušební verzi. Tyto podrobnosti o serveru můžete získat od svého poskytovatele Usenet. Pokud váš Usenet podporuje SSL, nezapomeňte zkontrolovat SSL.
Abyste mohli stahovat obsah (obrázky, audio, video, e-knihy atd.) z Usenetu, musíte vložit NZB soubor do SABnzbd. Soubor NZB, který je podobný souboru .torrent, lze stáhnout z indexových stránek Usenet, jako je nzbfinder.ws. Většina těchto stránek je založena na modelu freemium. Máte možnost vytvořit si svůj vlastní bezplatný indexer Usenet, ale nyní je pro začátečníka v Usenetu dobrý nápad zaregistrovat si bezplatné účty na těchto indexových serverech Usenet, abyste viděli, co máte k dispozici. Jak můžete vidět ze snímku obrazovky, rychlost stahování je poměrně vysoká. (16,8 MB/s =134,4 Mbit/s)
Jak změnit cílovou složku stahování
Výchozí složka pro stahování je /home/sabnzbd/Downloads
. Pokud jej chcete změnit do jiného adresáře, například na externí pevný disk, klikněte na Folder
menu ve webovém rozhraní SABnzbd. Poté klikněte na tlačítko Prohlížeč a změňte jej.
Všimněte si, že sabnzbd
uživatel musí mít oprávnění ke čtení a zápisu do cílové složky stahování. Pokud používáte externí pevný disk USB, můžete k udělení oprávnění spustit následující příkaz.
sudo setfacl -R -m u:sabnzbd:rwx /media/linuxbabe/
Můj externí pevný disk USB je připojen na /media/linuxbabe/
, změňte jej podle potřeby.
Nastavení zpětného proxy
Pro přístup k webovému rozhraní SABnzbd ze vzdáleného připojení (např. mimo vaši LAN) pomocí názvu domény můžete nastavit reverzní proxy s Nginx nebo Apache.
Pokud nemáte skutečný název domény, doporučuji přejít na NameCheap a koupit si ho. Cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.
Nginx
Nainstalujte Nginx na Ubuntu 16.04 nebo Ubuntu 18.04:
sudo apt install nginx
Spusťte webový server Nginx.
sudo systemctl start nginx
Poté vytvořte nový soubor bloku serveru v /etc/nginx/conf.d/
adresář.
sudo nano /etc/nginx/conf.d/sabnzbd.conf
Do souboru vložte následující text. Nahraďte sabnzbd.your-domain.com
s vaším preferovaným názvem domény a nezapomeňte pro něj vytvořit záznam. Pokud používáte jiný port, změňte 8080 na své vlastní číslo portu.
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; } }
Uložte a zavřete soubor. Poté otestujte konfiguraci Nginx.
sudo nginx -t
Pokud je test úspěšný, znovu načtěte Nginx.
sudo systemctl reload nginx
Nyní můžete přistupovat k webovému rozhraní SABnzbd přes sabnzbd.your-domain.com
. Pokud se zobrazí následující chyba:
Access denied - Hostname verification failed
Poté musíte upravit konfigurační soubor (/home/sabnzbd/.sabnzbd/sabnzbd.ini
) a přidejte sabnzbd.your-domain.com
na bílou listinu.
host_whitelist = sabnzbd.your-domain.com
Poté restartujte SABnzbd.
sudo systemctl restart sabnzbd
Apache
Pokud místo Nginx používáte webový server Apache, nastavte reverzní proxy podle níže uvedených pokynů.
Nainstalujte webový server Apache.
sudo apt install apache2
Chcete-li používat Apache jako reverzní proxy, musíme povolit proxy
modulů a povolíme také rewrite
modul.
sudo a2enmod proxy proxy_http rewrite
Poté vytvořte soubor virtuálního hostitele pro SABnzbd.
sudo nano /etc/apache2/sites-available/sabnzbd.conf
Do souboru vložte následující texty. Nahraďte sabnzbd.your-domain.com
s vaším skutečným názvem domény a nezapomeňte pro něj nastavit záznam A. Pokud používáte jiný port, změňte 8080 na své vlastní číslo portu.
<VirtualHost *:80> ServerName sabnzbd.your-domain.com ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ </VirtualHost>
Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele.
sudo a2ensite sabnzbd.conf
Znovu načtěte Apache, aby se změny projevily.
sudo systemctl reload apache2
Nyní můžete vzdáleně přistupovat k SABnzbd zadáním názvu domény (sabnzbd.your-domain.com
) v adresním řádku prohlížeče. Pokud se zobrazí následující chyba:
Access denied - Hostname verification failed
Poté musíte upravit konfigurační soubor (/home/sabnzbd/.sabnzbd/sabnzbd.ini
) a přidejte sabnzbd.your-domain.com
na bílou listinu.
host_whitelist = sabnzbd.your-domain.com
Poté restartujte SABnzbd.
sudo systemctl restart sabnzbd
Povolit HTTPS
Pro šifrování HTTP provozu, když navštívíte webové rozhraní SABnzbd zvenčí, můžeme povolit HTTPS instalací bezplatného certifikátu TLS vydaného z Let’s Encrypt. Spusťte následující příkaz a nainstalujte klienta Let’s Encrypt (certbot) na Ubuntu.
sudo apt install certbot
Pokud používáte Nginx, musíte si také nainstalovat plugin Certbot Nginx.
sudo apt install python3-certbot-nginx
Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com
Pokud používáte Apache, musíte si nainstalovat plugin Certbot Apache.
sudo apt install python3-certbot-apache
Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com
Kde:
--nginx
:Použijte plugin nginx.--apache
:Použijte plugin Apache.--agree-tos
:Souhlas se smluvními podmínkami.--redirect
:Vynutit HTTPS přesměrováním 301.--hsts
:Ke každé odpovědi HTTP přidejte záhlaví Strict-Transport-Security. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.--staple-ocsp
: Povoluje sešívání OCSP. Platná odpověď OCSP je přišita k certifikátu, který server nabízí během TLS.
Certifikát by nyní měl být získán a automaticky nainstalován.
Omezení přístupu
Pokud je SABnzbd přístupný z veřejného internetu, pak je velmi důležité nastavit uživatelské jméno a heslo, což lze provést v Config> Obecné> Zabezpečení sekce.