前言
IYUU 是一个基于种子特征码的交叉索引工具(感谢大佬开源项目)
集成webui界面、辅种、转移、下载、定时访问URL、动态域名ddns等常用功能,提供完善的插件机制。支持下载器集群,支持多盘位,支持多下载目录,支持连接远程下载器等。
本教程只涉及辅种+转种两个板块,其他功能请自行探索
在学习本教程前确保已经安装好了QB、TR两个容器
辅种原理
只存一份数据,但同时存在多个站点的种子文件,实现多站点做种
使用php语言编写并使用php-cli常驻内存运行,通过计划任务,按用户设定的频率调用transmission
、qBittorrent
下载软件的API接口
,提取正在做种的info_hash
提交到IYUU辅种服务器的API接口https://api.iyuu.cn
(辅种过程和PT站点没有交互,查询辅种压力由IYUU服务器承担),根据IYUU服务器的API接口https://api.iyuu.cn
返回的数据拼接种子连接,提交给下载器,由下载器主动去站点下载种子、校验、做种,自动辅种各个站点。
转种原理
必须保证脚本可以读取到种子(种子目录映射),脚本会将一个下载器的种子转移到另一个下载器,但不会移动数据资源(数据目录映射)!
IYUU内置的转移脚本将读取种子目录内的种子的二进制文件,通过API发送给目标客户端。在转移种子时根据配置的路径转换规则
,自动对应资源的数据目录
。
转移脚本的存在主要是为了优化种子的管理。以QB下载器
为例,其多线程下载能力和优秀的连接性能在提升下载速度方面表现优异,但同时也会导致较高的系统资源占用。当同一客户端的种子数量或连接数过多时,可能会导致WEB管理界面出现卡顿,影响正常操作。
相比之下,TR下载器在资源占用方面表现更加优越,即使在种子数量较多的情况下,其WEBUI依然保持流畅,并且管理界面直观易用。因此,对于PTer用户而言,TR下载器是实现保种的最佳选择。
目录解析
种子目录
:这里是下载器用来存放种子的目录,仅下载器自己使用;(切勿和下载目录、下载路径、数据目录、保存目录、保存路径、完成种子保存目录这些名词混淆,他们之间并无关系。通常情况下,一个下载器只有一个唯一的地方保存种子,例如:qBittorrent的种子目录叫BT_backup
,Transmission的种子目录叫torrents
)数据目录
:这里是下载器用来存放数据的目录,它有多重称呼。通常等价于:保存路径、保存目录、下载目录、下载路径、数据目录、数据存放位置、数据存放目录等等,但是绝对不是种子目录
,切勿混淆概念。
种子目录
qbittorrent找到配置文件夹(config)的本地目录
我的QB种子文件夹实际目录为:/volume1/docker/AppData/qb/qBittorrent/BT_backup
transmission找到配置文件夹(config)的本地目录
我的TR种子文件夹实际目录为:/volume1/docker/AppData/transmission/torrents
数据目录
部署容器
创建文件夹
客户端部署
下载Docker镜像失败的可以看一下篇文章
需要修改的地方均用红色的方框标出
Compose部署
创建yaml存放文件夹
查看真实目录
我的真实路径为:/volume1/docker/AppData/iyuuplus
,二级目录则在后面添加/config
、/data
,下载器真实路径返回上文进行获取,稍后要填入yaml
文件,注意保存。
services:
IYUUPlus:
image: iyuucn/iyuuplus # 使用的 Docker 镜像
container_name: IYUUPlus # 容器名称
restart: always # 容器重启策略
network_mode: host # 使用主机网络模式
volumes:
- /volume1/docker/AppData/iyuuplus/config:/iyuu # 保存 IYUU 配置文件的路径
- /volume1/docker/AppData/iyuuplus/data:/data #数据库文件存储地址
- /volume1/docker/AppData/qbittorrent/qBittorrent/BT_backup:/qb # qBittorrent BT_backup 路径,如不使用可删除此行
- /volume1/docker/AppData/transmission/torrents:/tr # transmission torrents 路径,如不使用可删除此行
在最下面提示参数配置错误,需要在文件管理器中查看Nas是否创建了这个文件夹。
食用方法
基本设置
浏览器后台输入:http://设备IP:8787,进入后台
添加下载器
添加站点
设置自动转移
路径转换规则
就是对数据目录
的路径转换
如果两个下载器,都是docker或者都是套件,并且数据目录
的相对路径或绝对路径都一样,路径转换类型
选择相等,路径转换规则
留空,不用用配置;
如果两个下载器,一个套件安装、另一个是Docker安装,就需要配置路径转换类型
,选择加|减|替换
,把相对路径转绝对路径;或者绝对路径转相对路径。
路径转换类型:加
场景描述
QB数据目录映射为:/volume1/downloads:/downloads
,TR数据目录映射为:/volume1:/volume1
假设从QB容器转移到TR容器,QB容器源路径为 /downloads
,TR容器转移时将其前面加上 /volume1
。
路径转换规则
/downloads{#**#}/volume1
转换过程
匹配源路径:
/downloads/video.mp4
转换后的路径:
/volume1/downloads/video.mp4
路径转换类型:替换
场景描述
QB数据目录映射为:/volume1/downloads:/downloads
,TR数据目录映射为:/volume1/downloads:/media
假设从QB容器转移到TR容器,希望将QB容器中源路径 /downloads/video.mp4
替换为TR容器目标路径 /media/video.mp4
。
路径转换规则
/downloads/video.mp4{#**#}/media/video.mp4
转换过程
匹配源路径:
/downloads/video.mp4
转换后的路径:
/media/video.mp4
路径转换类型:减
场景描述
QB数据目录映射为:/volume1/media/downloads:/downloads
,TR数据目录映射为:/volume1:/volume1
假设从TR容器转移到QB容器,TR容器中有一个完整的路径 /volume1/media/downloads/video.mp4
,我们希望在转移时去掉 /volume1/media
,在QB容器中只保留 /downloads/video.mp4
。
路径转换规则
/volume1/media/downloads/video.mp4{#**#}/downloads/video.mp4
转换过程
匹配源路径:
/volume1/media/downloads/video.mp4
转换后的路径:
/downloads/video.mp4
设置自动辅种
IYUU反向代理3131端口报错(题外话)
如果用lucky进行反代的同学,因为是两个端口,所以设置两条反代规则
8787端口
3131端口
填写你8787端口绑定的二级域名,在后面加上/app/d9422b72cffad23098ad301eea0f8419
,即:
前端地址填:
你的域名/app/d9422b72cffad23098ad301eea0f8419
后端地址填:
http://NASip:3131/app/d9422b72cffad23098ad301eea0f8419
由于我的技术有限,文章可能有不足。希望大家理解,欢迎提出意见。
如果这篇文章对您有帮助,可以考虑打赏支持。您的支持是我创作的动力。谢谢阅读!
评论