外站自动辅种方案
前言
在PT世界中,由于转载行为的存在,通常各站会记录很多他站也存在的资源。在这种情况下,为了最大化分享效率,将资源分享给尽可能多的用户,同时也能获取各站的做种奖励,大多数PTer都会选择通过辅种进行多站做种。
辅种(Cross Seed):即将同一份文件同时在多个Tracker做种。注意的是,对于PT而言,辅种需要添加不同站点的种子而不能将同一个种子添加多个Tracker
对于大多数内站而言,IYUU 以及 IYUU Plus 均能实现精准辅种,但是由于IYUU的支持需要获取站点的种子信息,同时外站隐私要求较高,大多数外站均不支持IYUU自动辅种,因此本文将介绍通过Jackett实现外站辅种的方案。
工具介绍
Jackett
Jackett 是一个跨平台的聚合类种子资源索引器,使用它可以在多个Tracker上同时搜索需要的资源,由于Jackett提供API接口,十分方便其他工具对其进项调用。在本例中,Jackett也将作为搜索工具搜索待辅种目录的文件并通过API将相关信息发送给辅种工具进行处理。
Cross Seed AutoDL
前文提到,我们利用Jackett作为索引器检索本地资源并通过API将相关信息发送给相关工具,而 Cross Seed AutoDL
就是我们使用的辅种扫描工具。它使用Pyhon编写,支持跨平台使用,安装也十分简便。
该工具首先扫描本地的保存目录,然后发送请求到Jackett搜索相关的种子,再通过一系列内容比对(大小,名称等)获取到大致相似的种子文件并保存到相关目录,可以配合AutoTorrent来实现自动添加至种子客户端。
![Cross Seed AutoDL Work Flow](https://img.006900.xyz/imgs/cross-seed/Cross Seed AutoDL Work Flow.webp)
Cross seed
Cross Seed
依赖于Node,和 Cross Seed AutoDL
类似,均支持跨平台使用,其原理也都是通过Jackett
的API获取种子信息后进行比对来下载种子,该工具拥有一些Cross Seed AutoDL
没有的特性,例如:
- Daemon 模式,可以在种子文件添加后自动开启扫描
- Inject模式,扫描到需要的种子后自动添加到客户端(目前仅支持rtorrent以及qbittorrent)
- 官方Docker支持
由于 Cross seed
拥有的这些实用特性,作者目前维护也较为频繁,后续我推荐使用 Cross seed
进行辅种处理。
Autotorrent
Autotorrent
也是由Python编写的一个小工具,它能够扫描相关目录,自动添加相应的种子到相关客户端,目前支持以下种子客户端:
服务搭建与使用
Jackett 搭建
Jackett 官方提供了编译完成的二进制文件,如果想要自行安装也十分简便。我推荐以下几种安装方法:
在Jackett搭建完毕之后,即可在浏览器上输入相关地址进入Jackett的配置与使用了,由于使用配置全程有图形化界面,这里便不在过多赘述,如果不懂得朋友可以参考以下文章或者留言求助:
Cross Seed AutoDL 安装与使用
使用简介
由于 Cross Seed AutoDL
只是一个单纯的Py脚本,因此安装十分简单:
克隆Github仓库:
1
git clone https://github.com/BC44/Cross-Seed-AutoDL.git
安装相关依赖:
1
pip3 install -r requirements.txt
相关用法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29usage: CrossSeedAutoDL.py [-h] [-p] [-d delay] -i input_path -s save_path -u
jackett_url -k api_key [-t trackers]
[--ignore-history] [--strict-size]
Searches for cross-seedable torrents
optional arguments:
-h, --help show this help message and exit
-p, --parse-dir Optional. Indicates whether to search for the items inside
the input directory as individual releases
-d delay, --delay delay
Pause duration (in seconds) between searches (default:
10)
-i input_path, --input-path input_path
File or Folder for which to find a matching torrent
-s save_path, --save-path save_path
Directory in which to store downloaded torrents
-u jackett_url, --url jackett_url
URL for your Jackett instance, including port number
if needed
-k api_key, --api-key api_key
API key for your Jackett instance
-t trackers, --trackers trackers
Tracker(s) on which to search. Comma-separated if
multiple (no spaces). If ommitted, all trackers will
be searched.
--ignore-history Optional. Indicates whether to skip searches or downloads for files that have previously been searched/downloaded previously.
--strict-size Optional. Indicates whether to match torrent search
result sizes to exactly the size of the input path.
这里着重讲解一下 -p
参数:如果运行时携带 -p
参数的话,脚本会将目录当做存储多个种子的目录,否者则会将目录当作一个种子。
用法示例
扫描目录下的所有文件:
1
python3 CrossSeedAutoDL.py -p -i "D:\TorrentClientDownloadDir\complete" -s "D:\DownloadedTorrents" -u "http://127.0.0.1:9117" -k "cb42579eyh4j11ht5sktjswq89t89q5t"
扫描单个文件:
1
python3 CrossSeedAutoDL.py -i "D:\TorrentClientDownloadDir\complete\My.Movie.2010.720p.mkv" -s "D:\DownloadedTorrents" -u "http://127.0.0.1:9117" -k "cb42579eyh4j11ht5sktjswq89t89q5t"
扫描剧集包(通常为文件夹形式):
1
python3 CrossSeedAutoDL.py -i "D:\TorrentClientDownloadDir\complete\My.Show.Season.06.Complete" -s "D:\DownloadedTorrents" -u "http://127.0.0.1:9117" -k "cb42579eyh4j11ht5sktjswq89t89q5t"
定时任务
由于 Cross Seed AutoDL
没有Daemon模式,每次使用都需要运行一遍不太方便,因此在Linux上我们可以对其创建定时任务,方便其自动化运行:
首先输入命令 crontab -e
,并在窗口中输入以下命令让其每天零点零一分运行一次
1 | 1 0 * * * python3 CrossSeedAutoDL.py -p -i "D:\TorrentClientDownloadDir\complete" -s "D:\DownloadedTorrents" -u "http://127.0.0.1:9117" -k "cb42579eyh4j11ht5sktjswq89t89q5t" |
自动添加到 Transmission
由于 Cross Seed AutoDL
只能下载到相关的种子文件,添加到种子客户端这个最后一公里依旧需要我们手动进行,尚不满足全自动辅种的要求,本节即是为了解决该问题而存在的。
上文说过,Autotorrent
工具可以解决自动化添加种子的问题,但是该工具辅种的方案是添加一系列的链接来进行的,个人认为该方式容易打乱我硬盘的结构,不方便我进行整理,所以我放弃了该方案,有兴趣的朋友可以尝试使用一下。
对于使用 Transmission
的朋友,可以使用Github上的大佬分享的相关脚本实现种子的添加:
1 |
|
Cross Seed 安装与使用
目前我尚未开始使用该工具,等待后续使用以后再进行介绍更新….
总结
我们的辅种方案通常分为以下几个步骤:
- 扫描,扫描本地待辅种目录
- 检索,使用
Jackett
的API对相关网站进行检索 - 处理,再检索完毕之后根据一定的规则过滤出符合要求的种子并下载
- 做种,通过脚本或手工添加种子文件至客户端实现做种功能
Jackett
功能十分强大,无论是将其作为单纯的检索器帮助我们检索种子内容,还是通过API配合Sonarr
与 Radarr
实现自动化追剧,抑或是本文的自动化辅种都具有很好的效用。也希望大家多多利用工具,实现自己高效的PT生活。