如何在Ubuntu 16.04 / 18.04上安装SABnzbd Usenet客户端
萨布兹 是一个免费的基于Web的开源和基于Usenet的客户端,用于在Usenet上下载二进制内容(图像,音频,视频,电子书等)。 它是跨平台的,可用于Linux,BSD,macOS,UNIX,Windows,Synology,QNAP等。 本教程将向您展示 如何在Ubuntu 16.04和Ubuntu 18.04上安装SABnzbd。
SABnzbd功能:
- 您可以使用Web浏览器从任何地方访问它。
- 响应式Web界面。
- 支持多个Usenet服务器(提供程序)。
- 移动应用可用于Android和iOS
- Sonarr,Sickrage,CouchPotato和Headphones之类的应用程序可以与SABnzbd和 自动化您的下载过程。
- SABnzbd还可以阅读和处理RSS feed,激活自定义脚本,并通过邮件,咆哮,徘徊,推翻和推弹通知您。
- NZB(纽兹二进制)索引器集成。 NZB文件就像种子文件,而NZB索引器就像种子网站。
- 还有很多
如何在Ubuntu 16.04 / 18.04上安装SABnzbd Usenet客户端
可从默认的Ubuntu存储库中获得SABnzbd。 因此,您可以打开一个终端并使用apt安装它。
sudo apt install sabnzbdplus
SABnzbd正在积极开发中。 建议运行以下命令以从SABnzbd PPA安装最新的稳定版本(在撰写本文时为2.3.9)。
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
SABYenc模块可以帮助提高CPU受限设备上的下载速度。 的 par2-tbb
软件包提供了Multicore-par2模块,通过使用系统上的所有内核来显着加快验证和修复速度。
为SABnzbd创建系统服务单元
虽然 sabnzbdplus
软件包提供了传统的Init脚本(/etc/init.d/sabnzbdplus),但我发现它不起作用。 我运行以下命令来启动服务。
sudo service sabnzbdplus start
如果使用以下命令列出了Ubuntu系统上的侦听端口,则找不到8080端口(默认情况下,SABnzbd侦听8080端口),这表明该端口未运行。
sudo netstat -lnpt | grep 8080
启动SABnzbd的更好方法是使用Systemd服务单元。 我们可以使用命令行文本编辑器(例如Nano)来为SABnzbd创建Systemd服务。
sudo nano /etc/systemd/system/sabnzbd.service
将以下文本放入文件中。
[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侦听端口8080。 如果系统上的另一个进程正在使用此端口,则SABnzbd将自动选择其他端口。 我建议直接在ExecStart参数中选择一个端口,如下所示,这将使SABnzbd侦听端口8081。
ExecStart=/usr/bin/python -OO /usr/bin/sabnzbdplus -s 127.0.0.1:8081 --browser 0
保存并关闭文件。 (要在Nano文本编辑器中保存文件,请按 Ctrl+O
,然后按 Enter
确认。 要关闭文件,请按 Ctrl+X
)
然后重新加载Systemd。
sudo systemctl daemon-reload
请注意,SABnzbd不需要root特权即可运行。 因此我们在服务文件中指定了SABnzbd应该作为 sabnzbd
用户和组,没有root特权。 创建 sabnzbd
系统用户和组,使用以下命令。 主目录将用于保存配置文件(/home/sabnzbd/.sabnzbd/sabnzbd.ini)。
sudo adduser --system --home /home/sabnzbd --group sabnzbd
现在,我们可以使用systemd服务启动sabnzbd。
sudo systemctl start sabnzbd
在启动时启用自动启动。
sudo systemctl enable sabnzbd
现在检查sabnzbd的状态。
systemctl status sabnzbd
样本输出:
启动安装向导
您可以输入 127.0.0.1:8080/sabnzbd/wizard
在任何网络浏览器中启动快速启动向导。
选择一种语言。 在下一个屏幕中,输入Usenet提供程序的服务器详细信息。 我使用NewsDemon,它提供15天的免费试用期。 这些服务器详细信息可以从Usenet提供商处获得。 如果您的Usenet支持SSL,请确保检查SSL。
为了从Usenet下载内容(图像,音频,视频,电子书等),您需要提供 新西兰银行 文件到SABnzbd。 NZB文件类似于.torrent文件,可以从Usenet索引网站(例如nzbfinder.ws)下载。 这些站点大多数基于免费增值模式。 您可以选择构建自己的免费Usenet索引器,但是现在对于Usenet初学者,最好在这些Usenet索引站点中注册免费帐户,以查看可用的内容。 从屏幕截图中可以看到,下载速度非常快。 (16.8 MB /秒= 134.4兆位/秒)
如何更改下载目标文件夹
默认的下载文件夹是 /home/sabnzbd/Downloads
。 如果要将其更改为另一个目录(例如,外部硬盘驱动器),请单击 Folder
SABnzbd Web界面中的菜单。 然后单击浏览器按钮进行更改。
请注意 sabnzbd
用户需要对您的下载目标文件夹具有读写权限。 如果使用外部USB硬盘驱动器,则可以运行以下命令来授予权限。
sudo setfacl -R -m u:sabnzbd:rwx /media/linuxbabe/
我的外部USB硬盘驱动器安装在 /media/linuxbabe/
,请适当更改。
设置反向代理
要使用域名从远程连接(例如,LAN外部)访问SABnzbd Web界面,可以使用Nginx或Apache设置反向代理。
如果您没有真实域名,建议您到NameCheap购买。 价格低廉,终身免费提供Whois隐私保护。
Nginx的
在Ubuntu 16.04或Ubuntu 18.04上安装Nginx:
sudo apt install nginx
启动Nginx Web服务器。
sudo systemctl start nginx
然后在中创建一个新的服务器阻止文件 /etc/nginx/conf.d/
目录。
sudo nano /etc/nginx/conf.d/sabnzbd.conf
将以下文本粘贴到文件中。 更换 sabnzbd.your-domain.com
使用您的首选域名,不要忘记为其创建A记录。 如果使用其他端口,请将8080更改为您自己的端口号。
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; } }
保存并关闭文件。 然后测试Nginx配置。
sudo nginx -t
如果测试成功,请重新加载Nginx。
sudo systemctl reload nginx
现在您可以通过以下方式访问SABnzbd Web界面 sabnzbd.your-domain.com
。 如果看到以下错误:
Access denied - Hostname verification failed
然后您需要编辑配置文件(/home/sabnzbd/.sabnzbd/sabnzbd.ini
)并添加 sabnzbd.your-domain.com
进入白名单。
host_whitelist = sabnzbd.your-domain.com
然后重新启动SABnzbd。
sudo systemctl restart sabnzbd
阿帕奇
如果使用Apache Web服务器而不是Nginx,请按照以下说明设置反向代理。
安装Apache Web服务器。
sudo apt install apache2
要将Apache用作反向代理,我们需要启用 proxy
模块,我们还将启用 rewrite
模块。
sudo a2enmod proxy proxy_http rewrite
然后为SABnzbd创建一个虚拟主机文件。
sudo nano /etc/apache2/sites-available/sabnzbd.conf
将以下文本放入文件中。 更换 sabnzbd.your-domain.com
使用您的实际域名,不要忘记为其设置A记录。 如果使用其他端口,请将8080更改为您自己的端口号。
<VirtualHost *:80> ServerName sabnzbd.your-domain.com ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ </VirtualHost>
保存并关闭文件。 然后启用此虚拟主机。
sudo a2ensite sabnzbd.conf
重新加载Apache以使更改生效。
sudo systemctl reload apache2
现在,您可以通过输入域名来远程访问SABnzbd(sabnzbd.your-domain.com
)在浏览器地址栏中。 如果看到以下错误:
Access denied - Hostname verification failed
然后您需要编辑配置文件(/home/sabnzbd/.sabnzbd/sabnzbd.ini
)并添加 sabnzbd.your-domain.com
进入白名单。
host_whitelist = sabnzbd.your-domain.com
然后重新启动SABnzbd。
sudo systemctl restart sabnzbd
启用HTTPS
为了在您从外部访问SABnzbd Web界面时对HTTP流量进行加密,我们可以通过安装由Let’s Encrypt发行的免费TLS证书来启用HTTPS。 运行以下命令在Ubuntu上安装Let’s Encrypt客户端(certbot)。
sudo apt install certbot
如果使用Nginx,则还需要安装Certbot Nginx插件。
sudo apt install python3-certbot-nginx
接下来,运行以下命令以获取并安装TLS证书。
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com
如果使用Apache,则需要安装Certbot Apache插件。
sudo apt install python3-certbot-apache
接下来,运行以下命令以获取并安装TLS证书。
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com
哪里:
--nginx
:使用nginx插件。--apache
:使用Apache插件。--agree-tos
:同意服务条款。--redirect
:通过301重定向强制HTTPS。--hsts
:将Strict-Transport-Security标头添加到每个HTTP响应。 强制浏览器始终对域使用TLS。 防御SSL / TLS剥离。--staple-ocsp
:启用OCSP装订。 有效的OCSP响应被装订到服务器在TLS期间提供的证书。
现在应该获得证书并自动安装。
限制访问
如果可以从公共Internet访问SABnzbd,则设置用户名和密码非常重要,可以在 设定档 > 一般 > 安全 部分。
包起来
而已! 我希望本教程可以帮助您在Ubuntu 16.04 / 18.04上安装SABnzbd。 与往常一样,如果您发现这篇文章很有用,请订阅我们的免费新闻通讯以获取更多提示和技巧。 保重🙂