项目地址: https://github.com/nickfox-taterli/goseeder
简而言之, 这个工具:
- 不适合无限流量, 希望通过自动辅种获得收益的人.
- 不适合拿着 24T,48T 大盘机的人, 也不适合只有 4G 硬盘的人.
- 不适合觉得这篇内容过长, 懒得阅读就直接提问, 乱搞还说 BUG 的人.
- 适合拥有众多小鸡 (N 台), 容量都不怎么大 (10G ~ 1000G), 并且网络有流量限制的人.
- 适合 PT 佛系养老, 不想浪费众多小鸡的人, 并且懒得管 PT 站死活, 偶尔上去看看的那些人.
正因为此, 这个工具就有了. 之前我已经写过一个 Python 版本的, 但是哪个版本有以下几个问题.
- 清理策略不完善, 偶尔会出现磁盘空间 0 的情, 偶尔过度清理, 比如一下子删除了所有任务.
- 作弊功能基本鸡肋, 各站反作弊能力越来越强.
- 磁盘或者网络过忙时候也会添加种子, 最后积累大量任务无法进行, 虽然最终跑满带宽, 但是上传收益低.
- 无法对 HR 限制的 PT 网站处理, 种子可能会被提前删除.
这个配置就这么一个文件, 请参考 (config-example.json):
- dbserver 是你在 MongoDB Altas 申请的数据库的连接字符串, 包括你的用户名和密码, 格式参考如下, 在 Mongodb Altas 控制面板可以直接取得.
- node 是各 PT 网站的信息.
- source 是 PT 网站的域名
- passkey 玩过 PT 都懂
- limit 即每次获取的数量上限, 如果该网站更新快, 就调大一些, 否则调小一些减轻 PT 网站压力, 推荐保留默认值.
- enable 是否启用这个网站, 填 true 启用, false 就是暂时不用.
- rule 网站规则 (目前是用于 HR, 满足其中一个条件才可以删除种子, 如果无 HR 请都调到 0 即可.)
- HR 限制的最小做种时间
- HR 限制的最小做种比率
- server 是各小鸡 QB 的配置, Go 版本采用并行查询, 效率更高.
- endpoint QB 的访问地址, 末尾不带斜杠.
- username 登录用户名
- password 登录密码
- reamrk 方便记忆的名字
- enable 是否启用这个小鸡, 填 true 启用, false 就是暂时不用.
- rule 小鸡规则 (防止被 TOS 炸, 最大化利用率等用途, 如果不懂可以不动, 调整他可以获得更好的体验.)
- concurrent_download 最大同时任务数, 任务数量过多, 磁盘压力和带宽压力都很大, 很容易达到瓶颈, 如果水管小, 则应该调小这个, 如果水管大则可以调大, 如果不想限制就设置很大的数值就可以, 注意任务过多导致网络过快可能会触发 TOS.
- disk_threshold 触发清理功能的磁盘空间, 当磁盘空间小于这个数值, 就会触发种子清理, 会清理掉最老最无用种子, 单位是字节, 计算工具参考:https://www.flightpedia.org/convert-bytes-to-gigabytes.html
- max_speed 是允许添加种子的最大速度, 比如你是 100Mbps 服务器, 理论满速是 12.8MB/s, 如果此时你的服务器速度已经达到 10MB/s, 这个时候添加种子就抢不到什么速度, 反而影响其他种子进度也落后于人, 影响最终分享率.
- min_alivetime 种子最短存活时间, 避免某些种子下载之后没人下载, 然后被很快清理掉, 错过后期的做种好机会.
- max_alivetime 种子最大存活时间, 必须大于 min_alivetime, 超过 max_alivetime 的种子会被优先删除.
- min_tasksize 最小的种子大小, 如果种子小于这个大小就不要添加, 添加更大的种子可以获得更好的收益, 减轻磁盘压力, 相应地也会忽略掉不少任务, 设置为 0 接受任何种子.
- max_tasksize 最大的种子大小, 如果种子大于这个数值, 就不要添加, 太大的种子占用空间而且收益不一定高, 如果想添加任何种子, 请把 max_tasksize 设置得很大.
- max_disklatency 磁盘延迟达到这个数值时候, 不会添加任何种子, 避免因为长期磁盘占用而触发 TOS, 如果想忽略这个参数, 只需要把延迟调的很大就行.
{
"dbserver": "mongodb+srv://username:password@cluster0.3cyul.mongodb.net/?retryWrites=true&w=majority",
"node": [
{
"source": "pt.soulvoice.club",
"passkey": "21232f297a57a5a743894a0e4a801fc3",
"limit": 10,
"enable": true,
"rule": {
"seeder_time": 0,
"seeder_ratio": 0
}
},
{
"source": "www.nicept.net",
"passkey": "21232f297a57a5a743894a0e4a801fc3",
"limit": 10,
"enable": true,
"rule": {
"seeder_time": 0,
"seeder_ratio": 0
}
},
{
"source": "pt.msg.vg",
"passkey": "21232f297a57a5a743894a0e4a801fc3",
"limit": 10,
"enable": true,
"rule": {
"seeder_time": 0,
"seeder_ratio": 0
}
},
{
"source": "pt.btschool.club",
"passkey": "21232f297a57a5a743894a0e4a801fc3",
"limit": 10,
"enable": true,
"rule": {
"seeder_time": 86400,
"seeder_ratio": 1.2
}
},
{
"source": "www.haidan.video",
"passkey": "21232f297a57a5a743894a0e4a801fc3",
"limit": 10,
"enable": true,
"rule": {
"seeder_time": 216000,
"seeder_ratio": 1.5
}
}
],
"server": [
{
"endpoint": "http://89.47.1.1:8080",
"username": "admin",
"password": "adminadmin",
"remark": "Hostens (1024G)",
"enable": true,
"rule": {
"concurrent_download": 5,
"disk_threshold": 10737412742,
"max_speed": 524288,
"min_alivetime":3600,
"max_alivetime":86400,
"min_tasksize": 1073741274,
"max_tasksize": 536870637122,
"max_disklatency": 10000
}
},
{
"endpoint": "http://114.114.114.114:8080",
"username": "admin",
"password": "adminadmin",
"remark": "Hostmem (60G)",
"enable": true,
"rule": {
"concurrent_download": 5,
"disk_threshold": 10737412742,
"max_speed": 5242880,
"min_alivetime":3600,
"max_alivetime":86400,
"min_tasksize": 1073741274,
"max_tasksize": 536870637122,
"max_disklatency": 10000
}
}
]
}
那么如何安装呢, 先把配置文件放到 / etc/goseeder.conf, 然后执行下面几行就可以了.
curl https://raw.githubusercontent.com/nickfox-taterli/goseeder/master/goseeder.service > /etc/systemd/system/goseeder.service
curl -L https://github.com/nickfox-taterli/goseeder/releases/download/v1.0/goseeder > /usr/local/bin/goseeder
systemctl start goseeder
systemctl enable goseeder
如何查看安装当前信息呢?
systemctl status goseeder --no-pager --full
Comments | NOTHING