Add asn= and prefix= tags from a routewatch instance (closes #204)
check / check (push) Successful in 5m0s

With `SWW_ROUTEWATCH_URL` set, a new heuristic, `routewatch_tags`, adds `asn=<number>` and `prefix=<netblock>` to a request from what a routewatch instance answers about the client. New package `internal/routewatch` asks in the background, never on a request's path, and keeps answers 1 hour in memory. The request log gains `routewatch_tags_missing`, saying why a request has none. `prefix=` works in `SWW_TAG_DENY` and `SWW_TAG_LIMIT_PERCENT`.

Trips a reader: a client's first request has no routewatch tags, so `prefix=` refuses from its next request after the answer comes.
Judgement call: with `SWW_LOOKUP_SOURCE=off` and `SWW_ROUTEWATCH_URL` set, an `asn=` tag no longer stops the start.

Model: opus-5-5
This commit was merged in pull request #232.
This commit is contained in:
clawbot committed 2026-11-09 05:47:34 +01:00
1 parent d7c62f2854
commit 6850cb0e9f
14 files changed
+1043 -17

No files matched your search

+1
View File
@@ -123,6 +123,7 @@ func New(params Params) *Server {
Lists: h.lists,
DNSBL: h.dnsbl,
AbuseIPDB: h.abuseIPDB,
RouteWatch: h.routeWatch,
Metrics: h.metrics,
}
}