项目地址:https://github.com/nickfox-taterli/goseeder
简而言之,这个工具:
- 不适合无限流量,希望通过自动辅种获得收益的人.
- 不适合拿着24T,48T大盘机的人,也不适合只有4G硬盘的人.
- 适合拥有众多小鸡(N台),容量都不怎么大(10G ~ 1000G),并且网络有流量限制的人.(如果使用Virmach请先阅读https://www.taterli.com/7711/)
- 适合PT佛系养老,不想浪费众多小鸡的人,并且懒得管PT站死活,偶尔上去看看的那些人.
正因为此,这个工具就有了.之前我已经写过一个Python版本的,但是哪个版本有以下几个问题.
- 清理策略不完善,偶尔会出现磁盘空间0的情,偶尔过度清理,比如一下子删除了所有任务.
- 作弊功能基本鸡肋,各站反作弊能力越来越强.
- 磁盘或者网络过忙时候也会添加种子,最后积累大量任务无法进行,虽然最终跑满带宽,但是上传收益低.
- 无法对HR限制的PT网站处理,种子可能会被提前删除.
这个配置就这么一个文件,请参考(config-example.json):
- dbserver 是你在MongoDB Altas申请的数据库的连接字符串,包括你的用户名和密码,格式参考如下,在Mongodb Altas控制面板可以直接取得.(获取方法:https://www.taterli.com/7691/)
- node 是各PT网站的信息.
- source 是PT网站的域名
- passkey 玩过PT都懂
- limit 即每次获取的数量上限,如果该网站更新快,就调大一些,否则调小一些减轻PT网站压力,推荐保留默认值.
- enable 是否启用这个网站,填true启用,false就是暂时不用.
- rule 网站规则(目前是用于HR,满足其中一个条件才可以删除种子,如果无HR请都调到0即可.)
- seeder_time HR 限制的最小做种时间
- seeder_ratio HR 限制的最小做种比率
- speed_limit (V1.1开始)网站限速,比如某些网站过快会被Ban,单位是MB/s.
- server 是各小鸡QB的配置,Go版本采用并行查询,效率更高.
- endpoint QB的访问地址,末尾不带斜杠,QB推荐Docker方式安装.(https://hub.docker.com/r/linuxserver/qbittorrent) 或者Ubuntu添加PPA方式 (https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-stable).版本必须大于4.1才可以.确保自己能浏览器打开访问这个地址.
- username 登录用户名
- password 登录密码
- reamrk 方便记忆的名字
- enable 是否启用这个小鸡,填true启用,false就是暂时不用.
- rule 小鸡规则(防止被TOS炸,最大化利用率等用途,如果不懂可以不动,调整他可以获得更好的体验.)
- concurrent_download 最大同时任务数,任务数量过多,磁盘压力和带宽压力都很大,很容易达到瓶颈,如果水管小,则应该调小这个,如果水管大则可以调大,如果不想限制就设置很大的数值就可以,注意任务过多导致网络过快可能会触发TOS.
- disk_threshold 触发清理功能的磁盘空间,当磁盘空间小于这个数值,就会触发种子清理,会清理掉最老最无用种子,从V1.1开始,单位统一为GB.
- max_speed 是允许添加种子的最大速度,比如你是100Mbps服务器,理论满速是12.8MB/s,如果此时你的服务器速度已经达到10MB/s,这个时候添加种子就抢不到什么速度,反而影响其他种子进度也落后于人,影响最终分享率,从V1.1开始,单位统一为MB/s.
- min_alivetime 种子最短存活时间,避免某些种子下载之后没人下载,然后被很快清理掉,错过后期的做种好机会.
- max_alivetime 种子最大存活时间,必须大于min_alivetime,超过max_alivetime的种子会被优先删除.
- min_tasksize 最小的种子大小,如果种子小于这个大小就不要添加,添加更大的种子可以获得更好的收益,减轻磁盘压力,相应地也会忽略掉不少任务,设置为0接受任何种子,从V1.1开始,单位统一为GB.
- max_tasksize 最大的种子大小,如果种子大于这个数值,就不要添加,太大的种子占用空间而且收益不一定高,如果想添加任何种子,请把max_tasksize设置得很大,从V1.1开始,单位统一为GB.
- max_disklatency 磁盘延迟达到这个数值时候,不会添加任何种子,避免因为长期磁盘占用而触发TOS,如果想忽略这个参数,只需要把延迟调的很大就行,单位是ms.
{
"dbserver": "mongodb+srv://username:password@cluster0.3cyul.mongodb.net/?retryWrites=true&w=majority",
"node": [
{
"source": "www.nicept.net",
"passkey": "21232f297a57a5a743894a0e4a801fc3",
"limit": 10,
"enable": true,
"rule": {
"seeder_time": 0,
"seeder_ratio": 0,
"speed_limit": 8.0
}
},
{
"source": "pt.btschool.club",
"passkey": "21232f297a57a5a743894a0e4a801fc3",
"limit": 10,
"enable": true,
"rule": {
"seeder_time": 86400,
"seeder_ratio": 1.2,
"speed_limit": 10.0
}
}
],
"server": [
{
"endpoint": "http://173.82.120.2:8080",
"username": "admin",
"password": "TaterLi1024",
"remark": "Cloudcone (500G)",
"enable": false,
"rule": {
"concurrent_download": 1,
"disk_threshold": 10.0,
"disk_overcommit": true,
"max_speed": 50.00,
"min_alivetime": 3600,
"max_alivetime": 86400,
"min_tasksize": 0.0,
"max_tasksize": 400.0,
"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.1/goseeder > /usr/local/bin/goseeder
chmod a+x /usr/local/bin/goseeder
systemctl start goseeder
systemctl enable goseeder
如何查看安装当前信息呢?
注意:剩余空间里面,第一个显示的是当任务全部下载完你的磁盘就剩下多少空间,负数意味着Over Commit,这是没关系的.方框内才是真实可用剩余.
systemctl status goseeder --no-pager --full
最后推荐两个便宜大盘机,适合现在这个用途的.
Time4VPS(最近正在搞15EUR一年大盘机活动):https://billing.time4vps.com/?cmd=cart&action=add&id=119&cycle=y&promocode=2021&utm_source=forum&utm_medium=offer
Hostens(买3年超划算):https://www.hostens.com/?affid=1662
他们都是超流量只限速不关机,保种感觉也是超好的,我已经用了一年了.
可以在终端查看统计,如果需要可以自行构建stat.go