IYUUPlus
IYUUPlus copied to clipboard
由 Transmission 向 qBittorrent 转移种子,qBittorrent 显示“丢失文件”
背景描述:
使用 Windows。qBittorrent 与 Transmission 的默认下载目录都是 D:\Downloads\qBittorrent。该目录下还有 PT\<站点名称> 的层级。平常使用 qBittorrent 下载,不使用“自动 Torrent 管理”功能(在 IYUUPlus 对应的下载器设置中,我也设为了“手动”),下载的文件根据站点分到不同的文件夹中,比如 D:\Downloads\qBittorrent\PT\mteam。定期转移种子到 Transmission,由 Transmission 保种。
问题:
这次偶然配置了由 Transmission 向 qBittorrent 的转移任务,但转移后种子的下载目录都变为了默认的 D:\Downloads\qBittorrent,无论它是从哪个站点下载的。这继而导致 qBittorrent 找不到已经下载完成的文件(因为实际文件在对应的站点目录里),最后报错。
后来降了 qBittorrent 版本,又去阅读 IYUUPlus 源码,修改调试,还参照了 qBittorrent Web UI 发送的数据,再查阅 qBittorrent Web API 的文档……最后找到了问题所在。
用于添加种子的 API 中,autoTMM 参数标识了种子是否使用“自动 Torrent 管理”功能。如果种子交由 qBittorrent 自动管理,qBittorrent 就会忽略 IYUUPlus 提供的 savepath 参数,也就是“下载目录”(继续拿“馒头”举例,是 D:\Downloads\qBittorrent\PT\mteam),转而使用默认下载目录 D:\Downloads\qBittorrent。autoTMM 可省略,于是 IYUUPlus 就没有提供该参数,qBittorrent 使用缺省值 true,最终导致“丢失文件”。
解决方法是转移种子到 qBittorrent 时,向 qBittorrent 提供值为 false 的 autoTMM 参数,即不使用“自动 Torrent 管理”功能,如此一来,qBittorrent 就会使用 IYUUPlus 提供的下载目录。
希望能在下一版本解决这个问题。