RhinoWAF

self-hosted layer 7 web application firewall, written in go. AGPL-3.0.

github | readme | rules | changelog | releases


what it is

You run it on your own VPS in front of nginx, Caddy or Traefik. It sits between the internet and your app and deals with the layer 7 noise: floods, bots, and injection attempts. Website, panel, store, API on 80/443. Not a game server proxy.

what it does

run it

git clone https://github.com/1rhino2/RhinoWAF.git
cd RhinoWAF
go build -o rhinowaf ./cmd/rhinowaf
./rhinowaf -listen :8080 -backend http://127.0.0.1:3000

or grab a binary from releases. config is json under config/, see the readme. ./rhinowaf -check-rules validates config and rules like nginx -t.

what a block looks like

[ENGINE] BLOCK 203.0.113.9 POST /login score=7/5 pl=1 top=args:user rules=942100,942190 req=ab12

status

2.0.x. solid enough to self host, test it in staging against your real host headers and webhooks first. no warranty.


issues | license