功能
实现做种客户端之间的转移(transmission、qBittorrent之间随意互转);比如:
transmission转qBittorrent、qBittorrent转transmission、transmission转transmission、qBittorrent转qBittorrent。
转移原理
转移脚本读取种子目录内的种子二进制文件,通过API发送给目标客户端。在转移种子时根据配置的路径转换规则,自动对应资源的数据目录。
意思就是:必须保证脚本可以读取到种子,脚本只转移种子不移动数据资源!
路径转换规则就是对数据目录的路径转换;
如果两个下载器,都是docker或者都是套件,并且数据目录的相对路径或绝对路径都一样,路径转换类型就是相等,路径转换规则不用配置;
如果两个下载器,一个套件安装、另一个是Docker安装,就需要配置路径转换类型,使用加|减|替换,把相对路径转绝对路径;或者绝对路径转相对路径。
常见错误
Windows下面运行转移脚本,去转移NAS内的种子;
NAS的宿主机运行转移脚本,去读取错误的Docker种子BT_backup目录;
Docker运行转移脚本未挂载种子目录,直接去读取宿主机的种子BT_backup目录;
运行脚本的用户,无权读取种子目录;
路径转换规则配置错误;
常见名词
种子目录:这里是下载器用来存放种子的目录,仅下载器自己使用;(切勿和下载目录、下载路径、数据目录、保存目录、保存路径、完成种子保存目录这些名词混淆,他们之间并无关系。通常情况下,一个下载器只有一个唯一的地方保存种子,例如:qBittorrent的种子目录叫BT_backup,Transmission的种子目录叫torrents)
数据目录:这里是下载器用来存放数据的目录,它有多重称呼。通常等价于:保存路径、保存目录、下载目录、下载路径、数据目录、数据存放位置、数据存放目录等等,但是绝对不是种子目录,切勿混淆概念。
关键步骤
创建转移任务之前,来源下载器的【种子目录】必须配置(方法:IYUUPlus系统设置->下载器设置->【种子目录】);
来源下载器配置的【种子目录】,IYUUPlus必须能够读取到(如果IYUUPlus是运行在Docker内,请把种子目录挂载进容器,填写装载路径);
转移任务中,配置路径转换规则(规则目录是指数据目录,切勿混淆)。
如何找到你的【种子目录】
打开目标设备的ssh终端并登录,切换到root用户(sudo -i,输入密码并回车);
输入以下搜索命令即可找到您的种子目录,以供下一步使用。
⚠️Docker容器的目录记得要先挂载出来到宿主机上(通俗讲就是挂载到你群晖、威联通等机器硬盘的文件夹下)。
qBittorrent的种子目录叫BT_backup,transmission的种子目录叫torrents。
Linux系统(包括群晖、威联通、docker等)qBittorrent种子目录搜索命令:find / -name BT_backup
Linux系统(包括群晖、威联通、docker等)transmission种子目录搜索命令:find / -name torrents
Windows系统qBittorrent种子目录,通常在C:\Users\你的用户名\AppData\Local\qBittorrent\BT_backup
种子目录挂载方法
懂命令行安装容器
直接在创建IYUUPlus容器的时候,通过-v参数把路径挂载进IYUUPlus的容器即可,可以通过-v参数同时挂载多个目录。
如果你之前已经创建过容器,可以停止容器、删除容器;重新用以下命令创建容器。
这个命令适用于所有Linux环境(CPU不同,注意区分镜像标签),我们以群晖为例:比如群晖挂载种子目录
docker run -d \
--name IYUUPlus \
-v /IYUUPlus的DB目录:/IYUU/db \
-v /上一步用命令获得的qBittorrent种子目录:/qb \
-v /上一步用命令获得的Transmission种子目录:/tr \
--net=host \
--restart=always \
iyuucn/iyuuplus:latest
请把上面命令中的汉字部分,改为你自己的实际目录。
备注:经测试,群晖无法挂载@appstore目录内的种子目录,必须创建软连接到可访问目录,之后直接挂载软连接目录。
命令解释
参数 解释
--name 容器名字
-e 环境变量,定时任务执行时间
-v 本地目录或文件:容器目录文件,资源挂载到容器。
--net=host 容器所使用的网络模式。
--restart 启动模式
iyuucn/iyuuplus:latest 镜像名字:镜像标签
友情提示:如果上述方法你不懂操作,或者未理解,就不用往下看了。
友情提示:如果上述方法你不懂操作,或者未理解,就不用往下看了。
不想命令行安装容器
命令行安装容器方案是最简单,最不易错的方案;以下步骤更难,请认真阅读,确保理解后再操作...
比如:群晖、威联通、铁威马等,直接在管理软件内操作IYUUPlus容器安装的,可以在创建容器的时候,选择需要挂载的种子目录。
当直接在管理软件内无法选择种子目录挂载时怎么办?请继续往下看。
创建种子目录的软连接
ln -sf /volume1/@appstore/qBittorrent/BT_backup/ /path/to/IYUU/BT_backup/
ln -sf /volume1/@appstore/Transmission/torrents/ /path/to/IYUU/BT_backup/
复制
请把上面命令中的/volume1/@appstore 和 /path/to,改为你自己的实际目录。
备注:经测试群晖在Docker创建容器的时候,无法选择软连接目录。
举例威联通创建软连接
如下图威联通通过dpkg安装的qBittorrent、Transmission,无法在管理软件内挂载种子目录,需要创建软连接。
1、通过命令创建qb种子目录软连接,通过命令找到tr的种子目录,并创建软连接
1.png
2、软连接创建成功
2.png
3、软连接的目录打开可以查看到种子
3.png
4.png
4、创建IYUUPlus容器并挂载目录
除了映射/IYUU/db目录,还需要把你刚才软连接的两个目录也挂载进IYUUPlus的容器。
版权属于:大卫科技Blog
本文链接:https://www.iyuu.cn/archives/451/
转载时须注明出处