抗刷子的灵车工具

深入交流 96 views 3 replies
#1 ·

目前有点感知不强,也许是因为限制不够激进? 🤣

虽然还是 alpha,但是已经被我上 production 了 😇 🔥 🔥 🔥

https://github.com/HT4w5/nyaago

#2 ·

感觉没有说清楚用途,只能用于 nginx?rate limit 是限制请求次数,还是带宽,还是总流量?限制的时间范围?配置里的 cache, capacity, leak rate 没看懂怎么配

https://github.com/HT4w5/nyaago/wiki/Configuration-Reference

❤️😇️
2
#3 · (edited)
jbden jbden

理应写概念介绍的,但是有点摆烂了还没写(

  • 目前只能用于 Nginx,但是可以扩展
  • rate_limit 是限制带宽
  • 时间范围可以配置,iplist.entry_ttl

leak_rate 和 capacity 是 leaky bucket 的参数(也许应该向用户提供更多抽象?)

  • leak_rate 代表分配给一个 client 的基准速率,单位时间 bucket 泄漏的速率
  • capacity 代表 bucket 的容量
  • client 的流量实时进入 bucket
  • 一旦 bucket overflow,就将 Client IP 对应的 Prefix 加入黑名单进行限速
  • 限速速率 = leak_rate / (volume / capacity) ^ 2

不过目前来看还有很多不合理的地方,逐渐改进吧(

❤️
1
#4 ·
jbden jbden

第一次写比较正式的软件,看来用户和开发者的视角差别是很大的,开发者会忽略一些自己熟悉但是其实需要解释的细节,首次有这样的体会 🫪