题外话
近期,我们注意到许多用户反映无法快速访问 RockyLinux中文社区官网。这一问题源于我们的服务器前期部署在香港,使用的是 Cloudflare CDN。由于 Cloudflare 在国内停止了与网宿的合作,最近的服务节点位于香港,导致响应速度下降。为了改善这一状况,我们将服务器迁移到国内,并完成了 ICP 备案,为此我们花费了大量的时间与精力。同时,我们引入了腾讯云 CDN 和 Cloudflare CDN 的全球分区加速,以满足全球中文地区用户需求,另外我们对 CDN 缓存进行了细节优化,页面加载速度更快,大大提高了用户体验。这个过程中,我们学习了很多知识,并计划将这些经验分享在未来的系列文章中。
因为前期关于 DIY NAS 系列文章中涉及大量 Web 界面配置需要截图,所以在官网我们并未更新过多图文教程,为了同步更新这些文章至官网,为此我们部署了图床服务,以便将前期未更新到官网的图文教程逐步发布。我们意识到微信公众号并不是查阅历史文档和修正错误的理想平台。
因这一系列的事项,我们的 DIY NAS 系列教程暂停更新了约一周。当然这个 DIY NAS 系列我们即将完成,我们也在考虑推出 Rocky Linux 9.3 系列教程,从入门到放弃。我们欢迎大家在官网留言,表达对此系列或其他主题(如: Docker、K 8 S、CI&CD、Prometheus、Zabbix、Windows Server、VMware vCenter、Proxmox 等)的兴趣,以便我们提供更多高质量的教程。
简介
在之前的分享中,我们介绍了 Jellyfin 影音管理系统,但忽略了一个同等重要的工具:BT 下载器。这正是我们今天要重点讨论的内容。在当前的互联网环境中,数据的共享和传输已经成为日常生活的一部分。而在这其中,BitTorrent 协议由于其独特的 P2P(Peer-to-Peer)文件分享技术,备受人们的青睐。然而,如何寻找一个既高效又可靠的 BitTorrent 客户端,却是许多用户面临的问题。今天,我们将要介绍的就是一个开源的 BitTorrent 客户端 — QBittorrent。QBittorrent 是一个跨平台的免费 BitTorrent 客户端,它的开发宗旨是提供一个与 μTorrent 功能相似的自由软件替代品。这个项目是在 C++/QT 环境下开发的,可以在各种系统中运行,包括 Linux,macOS,Windows 等。它同时还提供了一个嵌入式的搜索引擎,以及支持所有 BitTorrent 扩展(例如 DHT,Peer Exchange,Full encryption 等)的功能。
QBittorrent 部署
说明: 基于前期构建的 traefik
网关,详见: DIY NAS系列12 — Traefik 出口网关配置
在 docker-compose.yaml
文件中,会对重要的配置进行说明,因个人网络环境等不同,需要根据自身实际情况调整配置。
[root@demo ~]# cat > docker-compose.yml << \EOF
version: '3'
services:
qbittorrent:
image: superng6/qbittorrentee:latest
container_name: qbittorrent
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- WEBUIPORT=8080 # WEB 端口设置
cpus: 1.0
mem_limit: 1GB
ports:
- 8080:8080
- 6881:6881 # 此端口需要在防火墙、路由器或者安全组规则中开启允许公网访问
- 6881:6881/udp
volumes:
- /SSD/Demo/qBittorrent/config:/config # 配置文件存放目录
- /Moive/downloads:/downloads # 定义电影存放目录
networks:
- traefik_net
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik_net"
- "traefik.http.routers.qbittorrent.rule=Host(`bt.rockylinux.cn`)"
- "traefik.http.routers.qbittorrent.entryPoints=websecure"
- "traefik.http.routers.qbittorrent.tls.certresolver=myresolver"
- "traefik.http.routers.qbittorrent.service=qbittorrent"
- "traefik.http.services.qbittorrent.loadbalancer.server.port=8080"
networks:
traefik_net:
external: true
EOF
# 启动服务
[root@demo ~]# docker-compose up -d
QBittorrent 配置
QBittorrent 的设置选项比较多,我们这里介绍几个比较重要的配置。打开 https://bt.rockylinux.cn 默认是没有账号密码的,需要在后续进行设置。
监控端口设置
点击工具 — 选项 — 连接,设置对应监听端口 6881。6881 端口是 QBittorrent 默认的监听端口,用于接收来自其他 BitTorrent 客户端的连接请求。当您启动 QBittorrent 并开始下载或上传文件时,其他的 BitTorrent 客户端就会尝试连接到您的计算机的这个端口。这是因为 BitTorrent 协议是基于 P2P(Peer-to-Peer)的,这意味着文件的下载和上传是直接在用户之间进行的,而不需要通过中心服务器。因此,每个 BitTorrent 客户端都需要有一个端口来接收其他客户端的连接请求。同时,如果您的 6881 端口被防火墙或路由器阻挡,您可能会遇到下载速度慢或者无法连接到其他用户的问题。在这种情况下,您可能需要在防火墙或路由器的设置中打开这个端口,或者在 QBittorrent 的设置中更改监听端口。
BT Tracker 设置
设置 BT Tracker,我们首先需要了解一下 BT 中 Tracker 主要作用是什么?在 BitTorrent 协议中,Tracker 是一个服务器,其主要的作用是协调 Peer(也就是下载者或上传者)之间的文件传输。当您使用 QBittorrent 或其他 BitTorrent 客户端下载一个文件时,这个客户端会首先连接到 Tracker 服务器,告诉它您正在下载或上传哪个文件。然后,Tracker 服务器会将正在下载或上传同一个文件的其他 Peer 的 IP 地址和端口信息发送给您的客户端。这样,您的客户端就可以直接与这些 Peer 进行连接,开始文件的下载或上传。而当您的客户端完成文件的下载或上传后,它也会告诉 Tracker 服务器,这样 Tracker 就可以更新其记录,知道哪些 Peer 已经完成了文件的下载或上传。简单来说,Tracker 就像是一个中介,帮助 Peer 之间建立连接,协调文件的传输。但需要注意的是,Tracker 本身并不存储任何文件,它只是提供了一个协调 Peer 之间的平台。
这是分享两个比较好用的 BT Tracker 列表,木子将两者结合使用。
GitHub – XIU2/TrackersListCollection,推荐使用精选列表 README-ZH.md
中国可用的 BT Tracker 服务器列表,每24小时自动更新
BT Tracker 列表清单
WEB 登录账号密码设置
设置登录 WEB 的账号及密码,当然也可以设置允许连接的 IP 白名单以及 HTTPS 连接地址。
插件管理
安装搜索插件
在 qBittorrent 中有两种搜索插件:
默认插件安装目录为 qBittorrent/config/qBittorrent/data/nova3/engines
。如果您使用增强版 Docker 镜像 superng6/qbittorrentee,该镜像已经预安装了一些搜索插件,但对于其它一些第三方插件,可以参考以下方法添加。
由于 Web 版 qBittorrent 无法从本地安装插件功能,所以您还有两种方法可以安装插件:
- 直接这个目录,从 GitHub 上下载相应的 zip 压缩包,解压后将文件复制到
engines
目录即可。 - 通过 URL 链接安装,但因为提供的是 githubusercontent.com 链接,所以确保您可以正常访问对应链接。
# 进入目录
❯ pwd
qBittorrent/config/qBittorrent/data/nova3
❯ ll
Permissions Size User Date Modified Name
.rw-r--r-- 0 1000 10 9月 09:36 __init__.py
drwxr-xr-x - 1000 10 9月 09:36 __pycache__
drwxr-xr-x - 1000 10 9月 09:50 engines
drwxr-xr-x - root 10 9月 09:49 engines_bak
.r--r--r-- 4.8k 1000 10 9月 09:06 helpers.py
.r--r--r-- 7.1k 1000 10 9月 09:06 nova2.py
.r--r--r-- 3.0k 1000 10 9月 09:06 nova2dl.py
.r--r--r-- 2.8k 1000 10 9月 09:06 novaprinter.py
.r--r--r-- 16k 1000 10 9月 09:36 socks.py
# 下载 search plugins
❯ curl -O https://github.com/qbittorrent/search-plugins/archive/refs/heads/master.zip
# 解压下载的 zip 压缩包
❯ unzip master.zip
# 将对应文件 COPY 至 engines 目录
❯ mv search-plugins-master/nova3/engines/* ./engines/
点击【视图】–勾选【搜索引擎】,右侧将出现【搜索】选项,再点击下面的【搜索插件】。
点击【检查更新】,更新当前已经安装的官方插件至最新版。
您可以从这里获取第三方插件下载链接,然后复制对应 URL 链接,粘贴至下方【插件路径】地址栏中,点击【OK】即可。
确保插件添加成功。
使用搜索插件
输入想下载的电影名称(建议使用英文名称,资源更多),点击【搜索】,选择做种和下载都比较多的,右击【下载】。
可以设置种子数最少为 1
,确保存在下载资源。
下载说明
下载的时候我们直接拖拽对应种子文件进入下载框,在弹出的对话框中点击【上传 Torrent】,QBittorrent 开始下载,这里可以看到下载速度还是很快的。
可能遇到的问题
如果您有遇到使用 QBittorrent BT 下载慢或无法下载可能有以下原因,建议逐一排查。
- 种子文件问题: 种子文件中的资源可能已经没有人分享,或者分享的人数太少。
- 设置问题: QBittorrent 的设置可能不适合您的网络环境,例如: 上传速度、下载速度、连接数量等设置过低或过高。
- 网络问题: 网络防火墙、路由器设置、ISP 限制等可能影响到 BT 下载。
以下是一些可能的解决方法:
- 更换种子: 如果种子文件中的资源没有人分享,或者分享的人数太少,那么您可能需要寻找其他的种子文件。
- 优化设置: 根据您的网络环境,调整 QBittorrent 的设置,例如: 增加上传速度、下载速度、连接数量等。
- 检查网络: 检查您的网络防火墙和路由器设置,确保它们没有阻止 BT 下载。如果可能的话,您也可以尝试更换 ISP 或者使用 VPN。
- 使用端口转发: 如果您的网络环境允许,您可以尝试使用端口转发来提高下载速度。
BT 下载站分享
这里分享一些知名的 BT 种子下载网站,可以从这里获取想要的资源。
- The Pirate Bay(海盗湾):全球最大的 BT 种子搜索和下载网站之一,拥有大量的音乐、电影、软件等资源。
- 1337x:这是一个提供各种资源的 BT 种子网站,包括电影、音乐、游戏、软件等。
- RARBG:这个网站主要提供高清电影和电视剧的种子,同时也有音乐、游戏等其他资源。(已关停)
- YTS:这是一个专门提供高清电影的 BT 种子网站,特点是文件体积小、质量高。
- LimeTorrents:这个网站提供各种类型的资源,包括电影、音乐、游戏、软件等。
需要注意,这些网站的内容可能受到版权保护,非法下载和分享版权保护的内容可能会导致法律问题。在使用这些网站时,请遵守当地的法律法规。另外如果您有其它知道比较靠谱的 BT 下载站,可以在评论区分享。
后述
至此,我们对 qBittorrent 进行了简单的介绍、部署及配置。这里我们想要强调一下 BitTorrent 下载的精神核心 — 分享。BitTorrent 协议的工作原理使得每一个下载者同时也是一个上传者,这种我为人人,人人为我的精神是 BitTorrent 社区能够持续发展的关键。因此,当您使用 qBittorrent 下载完一个文件后,我们强烈建议您长期做种,以回馈和支持这个社区。
参考文献
[1] GitHub – qbittorrent/qBittorrent
[2] Home · qbittorrent/search-plugins Wiki · GitHub
变更记录
- 2024-09-10
- 新增【插件管理】配置说明。