我家云编译 qBittorrent

请注意,本文编写于 92 天前,最后修改于 31 天前,其中某些信息可能已经过时。

前言

手痒,脑残入了一个矿渣我家云, 四核 A53 ARMV8 , 1GB 内存,带一个 USB HUB 转出来的 SATA3.0 能够接 3.5 寸硬盘,还带一个 USB 3.0 和 USB 2.0 ,刚好拿来当一个下载机,以及折腾
但终究是 arm 没有 x86 开放,固件能用的不多,有 OMV 和 ARMBIAN 我用的是 ARMBIAN,具体教程这里就不讲了,主要说说 qbitTorrent 的问题。

目前大佬做的固件只有到 stretch ,部分包没有,相比 Buster。比如 qbitTorrent 4.1 ,后者有优化过的 ui 以及有可以更换的 UI 特性 ,旧版的 ui 对移动端没有优化,毫无体验,那么想要在手机上用,只有自己编译,另外还要忍受着四核心的羸弱性能,或者折腾交叉编译我是不会交叉编译
(play 上有一个 qbitTorrent 的 远程控制 app)

关于 qbiTorrent
qbitTorrent 有两个版本,一个是需要显示器才能正常工作的 qbitTorrent 和 完全命令行和 webui 支持的 qbitTorrent-nox ,在小主机上就用后者了。
两者的差异就是编译时候的参数不同。

正文

一切基于 Armbian stretch
Linux version 5.4.2-rockchip64 ([email protected]) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #19.11.3 SMP PREEMPT Mon Dec 9 23:39:24 CST 2019

(本文教程主要来自 官方仓库的 Wiki 和自己的摸索翻译。)

就只说说 qbitTorrent-nox 编译的部分。

安装依赖

基础

sudo apt-get install build-essential pkg-config automake libtool git zlib1g-dev
 sudo apt-get install libboost-dev libboost-system-dev libboost-chrono-dev libboost-random-dev libssl-dev libgeoip-dev

QT 库

qbitTorent 4.0-4.1.x 需要 Qt 5.5.1 ,4.2 以后就需要 Qt 5.9 以上了.
Debian

sudo apt-get install qtbase5-dev qttools5-dev-tools libqt5svg5-dev 

(这里有一点就是, Debian 9 是无法兼容 Qt 5.7 以上的了,也就是说你无法编译最新版本的 qbitTorrent 了,最多到 4.1 ,我目前主机上的就是 5.7.1 )

Python

sudo apt-get install python3

(当然 python3 应该都有了吧)

Libtorrent 库

直接通过包管理安装,方便快捷

sudo apt-get install libtorrent-rasterbar-dev

安装不成功可以尝试编译

  1. 克隆仓库
git clone https://github.com/arvidn/libtorrent.git
cd libtorrent
  1. 配置
./autotoll.sh
/configure --disable-debug --enable-encryption

3.编译安装

make && make install

sudo checkout能够将二进制文件打包成 deb 包,也可以试试)

4.last

sudo ldconfig

编译 qBittorent-nox

git clone -b v4_1_x https://github.com/qbittorrent/qBittorrent
cd qBittorrent
./configure --disable-gui --enable-systemd --with-boost-libdir=/usr/lib/arm-linux-gnueabihf
make -j2

线程不建议开太多,死机就 gg。
用 tmux 防意外关掉终端

tmux new

就打开了“虚拟终端”
如果终端意外关闭,编译还是会继续进行。

sudo make install

到这了就安装结束了。

systemd 开机自启进程守护

qbittorrent.service

 [Unit]
  2 Description=qBittorrent Daemon Service
  3 Documentation=man:qbittorrent-nox(1)
  4 Wants=network-online.target
  5 After=network-online.target nss-lookup.target
  6
  7 [Service]
  8 # if you have systemd >= 240, you probably want to use Type=exec instead
  9 Environment=LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}
 10 Type=simple
 11 #User=rikka
 12 #Group= rikka
 13 ExecStart=/usr/bin/qbittorrent-nox
 14 TimeoutStopSec=infinity
 15
 16 [Install]
 17 WantedBy=multi-user.target
~

放到 ~/.config/systemd/user
(这里是对当前用户的用户模式,命令需要加上 --user)

大家推崇的是单独新建一个用户,然后禁止登陆,但我觉得怪麻烦的,就用了当前用户了(

systemctl enable qbittorrent.service --user
#允许开机自启
systemctl start qbittorrent.service --user
#运行
systemctl status qbittorrent.service --user
#查看状态,有**美妙的绿色**就说明没问题了。

更换 UI

登录你的 webui,在选项中找到替换 ui 的选项,把你找到的静态文件地址填进去就 ojbk 了。
这里推荐一个

添加新评论

已有 3 条评论

我瞎了。。。当我没说

2333....我还一直以为libtorrent就是一个库。