Anti‑brush Hearse Tool

Currently a bit lacking in perception, maybe because the restrictions aren’t aggressive enough? :rofl:

Although it’s still alpha, I’ve already put it into production :innocent: :fire: :fire: :fire:

I feel the purpose isn’t clearly explained; is it only for Nginx? Does the rate limit restrict the number of requests, bandwidth, or total traffic? What is the time range of the limitation? I don’t understand how to configure the cache, capacity, and leak rate in the settings.

1 Like

It should have a concept introduction, but I’ve been slacking off and haven’t written it yet(

  • Currently only usable with Nginx, but can be extended
  • rate_limit is bandwidth limiting
  • Time range can be configured, iplist.entry_ttl

leak_rate and capacity are parameters of the leaky bucket (maybe we should provide more abstraction to users?)

  • leak_rate represents the baseline rate allocated to a client, the rate at which the bucket leaks per unit time
  • capacity represents the bucket’s capacity
  • client’s traffic enters the bucket in real time
  • Once the bucket overflows, the Prefix corresponding to the client IP is added to a blacklist for throttling
  • Throttle rate = leak_rate / (volume / capacity) ^ 2

However, at present there are still many unreasonable aspects, will improve gradually(

1 Like

It’s my first time writing relatively formal software, and it seems the difference between the user’s and developer’s perspectives is huge; developers tend to overlook details they’re familiar with but actually need to be explained. This is my first experience of that :distorted_face: