项目地址: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网站的信息.

  • HR 限制的最小做种时间

  • HR 限制的最小做种比率

  • source 是PT网站的域名

  • passkey 玩过PT都懂

  • limit 即每次获取的数量上限,如果该网站更新快,就调大一些,否则调小一些减轻PT网站压力,推荐保留默认值.

  • enable 是否启用这个网站,填true启用,false就是暂时不用.

  • rule 网站规则(目前是用于HR,满足其中一个条件才可以删除种子,如果无HR请都调到0即可.)

  • server 是各小鸡QB的配置,Go版本采用并行查询,效率更高.

  • 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,如果想忽略这个参数,只需要把延迟调的很大就行.

  • endpoint QB的访问地址,末尾不带斜杠.

  • username 登录用户名

  • password 登录密码

  • reamrk 方便记忆的名字

  • enable 是否启用这个小鸡,填true启用,false就是暂时不用.

  • rule 小鸡规则(防止被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

如何查看安装当前信息呢?

注意:剩余空间里面,第一个显示的是当任务全部下载完你的磁盘就剩下多少空间,负数意味着Over Commit,这是没关系的.方框内才是真实可用剩余.

systemctl status goseeder  --no-pager --full



提个建议,不要用mongodb作为数据库,换用sqlite好些。flexget也是使用sqlite作为数据库的。原因:
1. 软件需要记录的数据量一般不大,
2. storage vps的RAM本来就不大,能少启动一个服务就尽量少一个。BT软件也特别吃RAM。


评论专区
  • 昵 称必填
  • 邮 箱必填
  • 网 址选填
◎已有 0 人评论
作者介绍
吕布

吕布

负责所有栏目的编辑工作。
80vps henghost
30天热门
budgetvm sugarhosts
点击关闭
  • 在线客服1

    在线客服2

    在线客服3

分享:

支付宝

微信