check / check (push) Successful in 4m39s
`ptr` keeps its field and shape. It now comes from Google, Cloudflare, AdGuard and Quad9 over RFC 8484, tried in turn within 2 seconds, in place of the host's resolver with no cache. Answers stay in memory and in a new `cache.db` for the record's TTL, at most 250,000 addresses. A reserved address is not sent to any resolver and has an empty `ptr`. Judgement call: each resolver gets an equal share of the time left, so a hung one does not use up the limit. Judgement call: the negative TTL is the smaller of the SOA minimum and the SOA's own TTL. Deviation: the cache is SQLite, by sneak's words, not the JSON file the standing rule asks for. Model: opus-5-5
27 lines
706 B
AMPL
27 lines
706 B
AMPL
module git.eeqj.de/sneak/routewatch
|
|
|
|
go 1.27.1
|
|
|
|
require (
|
|
github.com/bits-and-blooms/bitset v1.26.0
|
|
github.com/dustin/go-humanize v1.0.1
|
|
github.com/go-chi/chi/v5 v5.2.2
|
|
github.com/google/btree v1.1.3
|
|
github.com/google/uuid v1.6.0
|
|
github.com/mattn/go-sqlite3 v1.14.29
|
|
github.com/miekg/dns v1.1.73
|
|
github.com/rcrowley/go-metrics v0.0.0-20250401214520-65e299d6c5c9
|
|
go.uber.org/fx v1.24.0
|
|
go4.org/netipx v0.0.0-20260823151212-3075585bcbeb
|
|
golang.org/x/term v0.45.0
|
|
golang.org/x/text v0.43.0
|
|
)
|
|
|
|
require (
|
|
go.uber.org/dig v1.19.0 // indirect
|
|
go.uber.org/multierr v1.10.0 // indirect
|
|
go.uber.org/zap v1.26.0 // indirect
|
|
golang.org/x/net v0.57.0 // indirect
|
|
golang.org/x/sys v0.47.0 // indirect
|
|
)
|