简介

因为想给老婆提供自动化的下剧集流程,在Github 上找到了movieRobot 这个项目,但是这个项目只提供在PT 站进行自动的搜索和下载,只能又一次入PT 的坑了。不过这次比学生时期一台破电脑+校园网的环境豪华许多,因此也折腾出许多新花样。用这篇博客做一下记录,也为以后的灾难恢复做一个备份~

工具介绍

以前只用过uTorrent,不过这次用家里的一台服务器做部署就考虑使用docker 来干这活了。在网上看了下大佬们的帖子,最后锁定了两个目标:qBittorrent 和Transmission

下载器 - qBittorrent

被大佬们誉为抢种神器,下载快,但是资源消耗大,有些大佬还反映如果种子过千,qBit 会有崩的风险,所以qBit 可以作为下载器来使用。
但是注意,一开始使用4.4.3 版本的qBittorrent 然后使用iyuu 自动转种到Transmission 会丢失tracker 导致做种数据无法被PT 站点追踪, 目前使用的4.3.9 就没有这个问题。

做种器 - Transmission

资源消耗低,保种小能手,用下来感觉挺不错的,同样需要注意的是,如果用标准版,那么每次转种后的校验会花超级漫长的时间,一定要用轻快版,切记。

转种工具 - iyuuplus

正如上面说的,qBittorrent 用来做下载,而Transmission 用来保种上传,如果手动操作需要停止qBittorent 的保种,然后在Transmission 种上传torrent,再将下载地址指向已经下载好的文件,种子少还好,但是一旦很多种子且文件保存位置不一致那么简直酸爽,所以自动化的转种工具是这套双工具模式中的必备品。

搜索站点工具 - ptpp

这个工具是一个浏览器插件,目前我用的功能很粗浅,就绑定了一个站点用来做搜索,我比较喜欢他批量复制torrent 链接的功能,搜刮free 的种子然后批量下载做种,你懂的。

存储 - 群晖NAS

服务器的容量面对PT 还是捉襟见肘,所以下载地址最终还是放在了家里的群晖上,用NFS 挂载到虚机中供对应的容器使用。因为后续还要安装movieRobot 要谨慎规划存储。(movieRobot 中目前要么是复制源数据,要么做硬链。因为我不想多消耗空间,所以选择用硬链的方式,但这也意味着在容器部署的情况下,movieRobot 片库存储只能选择一个地点,这样在做硬链的时候才没有问题)

部署

流程规划

存储规划

docker-compose 部署

---
version: "2.1"
services:
transmission:
image: chisbread/transmission:version-3.00-r13.1
container_name: transmission
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- USER=admin #optional
- PASS=qzuj0923@QBIT #optional
volumes:
- /home/ray/movieRobot/transmission/config:/config
- /mnt/downloads:/downloads
- /home/ray/movieRobot/transmission/watch:/watch
ports:
- 9091:9091
- 51413:51413
- 51413:51413/udp
networks:
movierobot_default:
ipv4_address: 172.18.0.5
restart: unless-stopped

qbittorrent:
image: linuxserver/qbittorrent:14.3.9.99202110311443-7435-01519b5e7ubuntu20.04.1-ls166
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- WEBUI_PORT=8080
volumes:
- /home/ray/movieRobot/qbittorrent/config:/config
- /mnt/downloads:/downloads
ports:
- 8080:8080
- 36350:36350
- 36350:36350/udp
networks:
movierobot_default:
ipv4_address: 172.18.0.10
restart: unless-stopped
movie-robot:
image: yipengfei/movie-robot:latest
container_name: movierobot
environment:
- LICENSE_KEY= // 自己去找哦
volumes:
- /home/ray/movieRobot/movieRobot/data:/data
- /mnt/downloads:/downloads
ports:
- 1329:1329
restart: unless-stopped
iyuu:
image: iyuucn/iyuuplus:latest
container_name: iyuuplus
volumes:
- /home/ray/movieRobot/iyuu/db:/IYUU/db
- /home/ray/movieRobot/transmission/config/torrents:/torrents
- /home/ray/movieRobot/qbittorrent/config/qBittorrent/BT_backup:/BT_backup
ports:
- 8787:8787
networks:
movierobot_default:
ipv4_address: 172.18.0.15
restart: unless-stopped
networks:
movierobot_default:
ipam:
config:
- subnet: 172.18.0.0/24

qBittorrent 配置

qBittorrent 的默认账号密码是:admin 和adminadmin


注意这里一定要在家用路由器上将这个端口放开,并做一个DNAT 让其它下载者访问你家公网IP 的时候能直接连接到qBittorrent 的这个端口上
另外,还需要关闭“设置”-“Web UI” 中的两项验证选项,用来给iyuu 和ptpp 远程推送用的。

Transmission 配置

Transmission 的配置比较简单,注意和qBit 一样在路由器上要放开相关端口。

iyuu 配置

iyuu 初始化比较麻烦,要去一个网站获取消息通知的token,然后进行一次PT 站用户验证,这里就不记录了,需要注意的是验证的PT 站没有你已经注册的站的话,那么直接选hd.ai 这个站点全年开放注册(至少在我写这篇文档的时候是这样的)。

配置下载器

对于iyuu 来说Qbittorent 和Transmission 都是下载器,这里需要在“系统设置”-“下载器设置”中添加两个下载器。

如果你直接使用的上面的docker-compose.yml 拉起的所有服务,那么所有除账号密码的设置都可以和下图完全一样。

配置目录设置

这里需要做一下目录配置,否则在计划任务中无法创建转移任务。但是此步骤对我们转种任务来说没有任何影响。

配置计划任务

首先选择新建一个“转移任务”。

接下来如下图配置

注意:

  1. Crontab 表达式不理解可以不填,系统还是会自动执行任务的
  2. 来源器和下载器,选择正确
  3. 过滤器、选择器不变,路径转换类型选择“相等”
  4. 路径转换规则不填写
  5. “跳校验”不选
  6. “暂停”在第一次配置的时候选择“YES”
  7. “删除源做种“第一次配置的时候不要选。

接着点击”确认保存“。退出配置界面后,运行一次任务,然后查看“日志”看转种任务是否成功。若成功,则选择“编辑”任务,然后将“暂停”和“删除源做种”反选。

后记

后续打算把在NAS 上已经测试成功的movieRobot 迁移到同一台服务器上。所以关于这一块的内容放在下期再讨论。