Traefik Plugin based on the Apache Ultimate Bad Bot Blocker.
Middleware example:
---apiVersion: traefik.io/v1alpha1kind: Middlewaremetadata:name: botblockerspec:plugin:botblocker:ipblocklisturls:- http://badips.example.com/ip-blocklist"useragentblocklisturls:- http://badips.example.com/useragent-blocklist"
The blocklists should be acccessible via http/s and be a plain text list of IP address or useragents.
Running go test will run a set of unit tests. Running docker compose up will start an end to end testing environment where allowed-* containers should be able to make requests, while blocked-* containers should fail.