前言

IYUU 是一个基于种子特征码的交叉索引工具(感谢大佬开源项目)

https://github.com/ledccn/iyuuplus-dev

集成webui界面、辅种、转移、下载、定时访问URL、动态域名ddns等常用功能,提供完善的插件机制。支持下载器集群,支持多盘位,支持多下载目录,支持连接远程下载器等。

本教程只涉及辅种+转种两个板块,其他功能请自行探索

在学习本教程前确保已经安装好了QB、TR两个容器

https://hi.keba.host/archives/qBittorrenthttps://hi.keba.host/archives/transmission

辅种原理

只存一份数据,但同时存在多个站点的种子文件,实现多站点做种

使用php语言编写并使用php-cli常驻内存运行,通过计划任务,按用户设定的频率调用transmissionqBittorrent下载软件的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镜像失败的可以看一下篇文章

https://hi.keba.host/archives/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是否创建了这个文件夹。

image-ittk.png

食用方法

基本设置

浏览器后台输入: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

由于我的技术有限,文章可能有不足。希望大家理解,欢迎提出意见。
如果这篇文章对您有帮助,可以考虑打赏支持。您的支持是我创作的动力。谢谢阅读!