12 Commits
Author SHA1 Message Date
junv 839aadcf21 Update ban ip form 2026-05-11 22:57:25 +10:00
junvandCopilot 3955e95b9e geo: replace ip-api.com with local DB-IP City Lite MMDB
- Rewrite nginxmon/geo.py to use maxminddb + DB-IP City Lite MMDB
  (https://cdn.jsdelivr.net/npm/dbip-city-lite/dbip-city-lite.mmdb.gz)
  instead of ip-api.com HTTP API — eliminates all network timeouts and
  rate-limit issues; lookups are now sub-millisecond in-process
- Keep _lookup_batch() signature unchanged so routermon receiver
  requires no changes
- MMDB downloaded on first use (lazy) and refreshed monthly via
  APScheduler; reader cached module-level (thread-safe for reads)
- Add management command: manage.py download_geo_db
- Update k8s init container to download MMDB on first deploy if absent
- Add maxminddb==3.1.1 dependency

CC BY 4.0 — DB-IP (https://db-ip.com)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-16 16:44:02 +10:00
junv bf11b675e8 Update ui 2026-04-01 21:52:29 +11:00
junv e89825a114 Add auto ban feature! 2026-04-01 21:33:07 +11:00
junv 70fbb78a54 ui update 2026-04-01 20:27:01 +11:00
junv 57516a3c9c minor fix! 2026-04-01 20:20:25 +11:00
junv 1d1fb2db55 Exclude ips 2026-04-01 19:56:46 +11:00
junv 99b35dc934 Update UI 2026-04-01 19:44:31 +11:00
junv 179702ac6d Fix nginx logs ingestion! 2026-04-01 19:26:47 +11:00
junv 26d3ac9607 Fix docker build 2026-04-01 18:58:00 +11:00
junv cc4e66b945 Add geo 2026-04-01 18:44:29 +11:00
junv 7eb002a437 Add nginx visualization 2026-04-01 15:51:20 +11:00