qBittorrent 是一款开源种子和磁力链接下载工具,支持 Windows, Mac 和 Linux 等主流操作系统和 ARM, x86 和 amd64 等主流架构,功能非常强大。他不仅支持从种子文件和磁力链接下载,还支持做种、编辑 Tracker、设置下载优先级、RSS 订阅等功能。Web UI 功能更是为其如虎添翼——我们可以将 qBittorrent 安装在存储空间较大的服务器(俗称“大盘鸡”)上,并通过强大而易用的 Web UI 操作 qBittorrent,既减轻了本地设备的压力,也将服务器的高在线率和网络优良的特性充分地利用了起来。
本文旨在介绍 qBittorrent 在 Linux 下的编译安装。利用腾讯云轻量应用服务器存储版的大容量磁盘空间加上 qBittorrent 可以将机器变身为一台多功能的实用下载机。
准备工作
1. 系统选用
服务器系统推荐选用 Debian 10,因其软件包较新,而 Debian 9 和 CentOS 系列因 Libtorrent 编译阶段重要的依赖缺失或版本过于陈旧等导致编译失败。
2. 环境配置
SSH 登录服务器后,首先执行 apt update && apt upgrade -y
获得最新软件包列表并更新系统版本号和基础软件包。
等待命令执行完毕后,按顺序输入以下命令安装必要的依赖:
apt install -y build-essential pkg-config automake libtool git libgeoip-dev python3 python3-dev
apt install -y libboost-dev libboost-system-dev libboost-chrono-dev libboost-random-dev libssl-dev
apt install -y qtbase5-dev qttools5-dev-tools libqt5svg5-dev zlib1g-dev
3. 源码下载
下载并解压 Libtorrent 源码包:(libtorrent-rasterbar 1.2.11 版本较为稳定且支持 qBittorrent 4.3 以上的新版本)
代码语言:javascript复制wget https://github.com/arvidn/libtorrent/releases/download/v1.2.11/libtorrent-rasterbar-1.2.11.tar.gz
tar xf libtorrent-rasterbar-1.2.11.tar.gz
Libittorrent 是 qBittorrent 的后端主程序,在大流量、长时间和大量的种子的场景下,Libittorrent 的性能直接决定着 qBittorrent 的稳定性和性能。Libtorrent 1.1.14 版本是广受好评的一个版本,但是现在看来过于陈旧,也不支持新版的 qBittorrent,故本文演示编译 Libtorrent 1.2.11.
下载并解压 qBittorrent 源码包:(qBittorrent 4.3.1 版本,发布于 2020 年 11 月 25 日)
代码语言:javascript复制wget https://github.com/qbittorrent/qBittorrent/archive/release-4.3.1.tar.gz
tar xf release-4.3.1.tar.gz
需要说明的是,Libttorrent 的版本与 qBittorrent 的版本需要按照如上所述对应,否则可能导致 qBittorrent 编译失败。
如果下载缓慢,请将 https://github.com/arvidn/libtorrent/releases/download/v1.2.11/libtorrent-rasterbar-1.2.11.tar.gz
替换为 https://static.gmx0.cn/files/libtorrent/libtorrent-rasterbar-1.2.11.tar.gz
,将 https://github.com/qbittorrent/qBittorrent/archive/release-4.3.1.tar.gz
替换为 https://static.gmx0.cn/files/qBittorrent/release-4.3.1.tar.gz
。
进行编译
4. 编译 Libttorrent
依次执行以下命令:
代码语言:javascript复制cd libtorrent-rasterbar-1.2.11
./configure --disable-debug --enable-encryption --with-libgeoip=system CXXFLAGS=-std=c 14
make -j$(nproc)
make install
ldconfig
其中,参数 -j$(nproc)
为变量 CPU 核心数。编译需等待数分钟至数小时(这取决于机器性能)。
5. 编译 qBittorrent
由于上一步操作结束后工作目录还停留在 libtorrent-rasterbar-1.2.11
内,故先执行 cd ..
返回上一级,尔后依次执行以下命令:
cd qBittorrent-release-4.3.1
./configure --disable-gui --disable-debug
make -j$(nproc)
make install
同样的,编译需等待数分钟至数小时(这取决于机器性能)。
收尾工作
6. 写入 systemd 文件
复制以下代码块的全部内容并一次性粘贴至 SSH 窗口:
代码语言:javascript复制cat << EOF > /etc/systemd/system/qbittorrent.service
[Unit]
Description=qBittorrent Daemon Service
After=network.target
[Service]
LimitNOFILE=512000
User=root
ExecStart=/usr/local/bin/qbittorrent-nox
ExecStop=/usr/bin/killall -w qbittorrent-nox
[Install]
WantedBy=multi-user.target
EOF
7. 初始化 qBittorrent 并开机启动
执行 qbittorrent-nox
,输入 y
并回车以确认使用协议。然后使用 Ctrl C 键退出。
执行 systemctl enable qbittorrent
以使 qBittorrent 开机启动;
执行 systemctl start qbittorrent
以使 qBittorrent 在后台运行。
停止 qBittorrent 进程: systemctl stop qbittorrent
;
取消 qBittorrent 开机启动: systemctl disable qbittorrent
。
至此,qBittorrent 已经完全安装完成,关于 Web UI 的内容请阅读下方的“进阶用法”部分。
进阶用法
8. 访问 Web UI 并进行基础设置
访问腾讯云后台,为你的那台轻量应用服务器添加一条防火墙规则:
设置项 | 值 |
---|---|
协议 | TCP |
端口 | 8080 |
策略 | 允许 |
访问 http://服务器公网IP地址:8080/
,输入 Web UI 的初始用户名 admin
和初始密码 adminadmin
。
为了保障您的数据安全和服务器安全,请修改 Web UI 的初始用户名和初始密码。
9. 反向代理 Web UI 端口
反向代理可以实现使 Web UI 复用标准 Web 服务端口 (80, 443)、绑定域名防止端口扫描暴露服务和配置 HTTP 证书等,下面介绍在宝塔面板和 LNMP.org 一键包下使用 Nginx 反向代理 qBittorrent Web UI。本项配置完成后,可以在腾讯云后台将本服务器防火墙的 8080 端口开放的策略删除,防止被扫描。
9.1. 使用宝塔面板
登录宝塔面板后台,添加一个站点。域名自定义;PHP 版本选择“静态”,单击确定。
修改网站配置(可以先行设置 SSL 证书等),选择“反向代理”选项卡,代理名称自定义,目标URL填写 http://127.0.0.1:8080
,单击提交。
将域名解析到服务器并访问域名,效果如图:
9.2. 使用 LNMP.org 一键包
使用 lnmp vhost add
命令添加一个站点,不用设置伪静态,按需设置 SSL 证书。完成后,修改 /usr/local/nginx/conf/vhost/对应的域名.conf
,在 server
块内添加以下字段:
location /
{
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
}
执行 nginx -s reload
以应用更改。
鸣谢
- Ubuntu/Debian Linux編譯qBittorrent安裝指南
原创文章,作者:iks,如若转载,请注明出处:https://www.idc.moe/archives/qcloud-Lighthouse-qBittorrent.html