check / check (push) Canceled after 0s
A new package, internal/blocklist, downloads seven public lists on a schedule: DShield, Feodo Tracker, FireHOL abusers and level 3, Spamhaus DROP for IPv4 and IPv6, and the Tor exit list. It keeps the last good copy of each in memory and on disk. A download sends back the Last-Modified and ETag the publisher gave for the copy, also kept on disk. Every IP lookup result carries blocklists. An address with no live route now gets a result too, without route fields, so the lookup no longer answers 404. A successful answer carries Cache-Control, private for the caller's own address. The address sets come from go4.org/netipx. Model: opus-5-5
23 lines
563 B
AMPL
23 lines
563 B
AMPL
module git.eeqj.de/sneak/routewatch
|
|
|
|
go 1.27.1
|
|
|
|
require (
|
|
github.com/dustin/go-humanize v1.0.1
|
|
github.com/go-chi/chi/v5 v5.2.2
|
|
github.com/google/uuid v1.6.0
|
|
github.com/mattn/go-sqlite3 v1.14.29
|
|
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.33.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/sys v0.34.0 // indirect
|
|
)
|