IYUUPlus使用篇-转移做种客户端【全平台】

功能

实现做种客户端之间的转移(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
数据目录:这里是下载器用来存放数据的目录,它有多重称呼。通常等价于:保存路径、保存目录、下载目录、下载路径、数据目录、数据存放位置、数据存放目录等等,但是绝对不是种子目录,切勿混淆概念。


关键步骤

  1. 创建转移任务之前,来源下载器的【种子目录】必须配置(方法:IYUUPlus系统设置->下载器设置->【种子目录);
  2. 来源下载器配置的【种子目录】,IYUUPlus必须能够读取到(如果IYUUPlus是运行在Docker内,请把种子目录挂载进容器,填写装载路径);
  3. 转移任务中,配置路径转换规则(规则目录是指数据目录,切勿混淆)。

如何找到你的【种子目录】

打开目标设备的ssh终端并登录,切换到root用户sudo -i,输入密码并回车;
输入以下搜索命令即可找到您的种子目录,以供下一步使用。

qBittorrent的种子目录叫BT_backup,transmission的种子目录叫torrents
Linux系统qBittorrent种子目录搜索命令:find / -name BT_backup
Linux系统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的容器。

最后修改:2021 年 09 月 13 日 10 : 38 PM
如果觉得我的文章对你有用,请随意赞赏

4 条评论

  1. mingx

    用以前的命令安装提示 invalid mode: /torrents
    用现在的命令安装提示invalid mode: /tr
    怎么解决啊大佬,,折腾好几天了

  2. roy
    该评论仅登录用户及评论双方可见
  3. huanyue

    如果是群晖docker里安装iyuu plus,在把种子目录映射到容器里面时,并不能找到ln命令制作的软链接,我没有找到解决方法,但是在网上找到了另一位大佬的方法,sudo mount --bind ,此命令可以将种子挂载到目标文件夹,这时候将目标文件夹挂载到容器,即可进行转移任务。同时winscp里编辑/etc/rc.local文件,将上面的命令输入并保存,可以做到开机自动挂载的效果。
    这是身为一个小白的我在搜索了很久之后的一点点小心得。

    1. David
      @huanyue

      这里有命令行挂载方法,改一下命令就可以;教程链接:https://www.iyuu.cn/archives/451/

发表评论