DIY NAS系列26 — BT下载管理之 qBittorrent

题外话

近期,我们注意到许多用户反映无法快速访问 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 开发人员维护,可通过 qBittorrent 客户端更新。您可以在这里找到它们。
  • 非官方:由第三方维护。您可以在这里找到它们。

默认插件安装目录为 qBittorrent/config/qBittorrent/data/nova3/engines。如果您使用增强版 Docker 镜像 superng6/qbittorrentee,该镜像已经预安装了一些搜索插件,但对于其它一些第三方插件,可以参考以下方法添加。

由于 Web 版 qBittorrent 无法从本地安装插件功能,所以您还有两种方法可以安装插件:

  1. 直接这个目录,从 GitHub 上下载相应的 zip 压缩包,解压后将文件复制到 engines 目录即可。
  2. 通过 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 种子下载网站,可以从这里获取想要的资源。

  1. The Pirate Bay(海盗湾):全球最大的 BT 种子搜索和下载网站之一,拥有大量的音乐、电影、软件等资源。
  2. 1337x:这是一个提供各种资源的 BT 种子网站,包括电影、音乐、游戏、软件等。
  3. RARBG:这个网站主要提供高清电影和电视剧的种子,同时也有音乐、游戏等其他资源。(已关停)
  4. YTS:这是一个专门提供高清电影的 BT 种子网站,特点是文件体积小、质量高。
  5. LimeTorrents:这个网站提供各种类型的资源,包括电影、音乐、游戏、软件等。

需要注意,这些网站的内容可能受到版权保护,非法下载和分享版权保护的内容可能会导致法律问题。在使用这些网站时,请遵守当地的法律法规。另外如果您有其它知道比较靠谱的 BT 下载站,可以在评论区分享。

后述

至此,我们对 qBittorrent 进行了简单的介绍、部署及配置。这里我们想要强调一下 BitTorrent 下载的精神核心 — 分享。BitTorrent 协议的工作原理使得每一个下载者同时也是一个上传者,这种我为人人,人人为我的精神是 BitTorrent 社区能够持续发展的关键。因此,当您使用 qBittorrent 下载完一个文件后,我们强烈建议您长期做种,以回馈和支持这个社区。

参考文献

[1] GitHub – qbittorrent/qBittorrent
[2] Home · qbittorrent/search-plugins Wiki · GitHub

变更记录

  • 2024-09-10
    • 新增【插件管理】配置说明。
Avatar photo

关于 木子

Founder of the Rocky Linux Chinese community, MVP、VMware vExpert、TVP, advocate for cloud native technologies, with over ten years of experience in site reliability engineering (SRE) and the DevOps field. Passionate about Cloud Computing、Microservices、CI&CD、DevOps、Kubernetes, currently dedicated to promoting and implementing Rocky Linux in Chinese-speaking regions.
用一杯咖啡支持我们,我们的每一篇[文档]都经过实际操作和精心打磨,而不是简单地从网上复制粘贴。期间投入了大量心血,只为能够真正帮助到您。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇