zl程序教程

您现在的位置是:首页 >  其他

当前栏目

使用腾讯云轻量编译安装 qBittorrent 搭建下载环境

2023-04-18 14:52:59 时间

  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 以上的新版本)

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 日)

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

  依次执行以下命令:

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 窗口:

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