feat: add wave 3 local database plugins

GeoIP and ASN lookup via MaxMind GeoLite2 mmdb, Tor exit node check
against local bulk exit list, IP reputation via Firehol/ET blocklist
feeds, and CVE lookup against local NVD JSON mirror.

Includes cron-friendly update script (scripts/update-data.sh) for all
data sources and make update-data target. GeoLite2 requires a free
MaxMind license key; all other sources are freely downloadable.

Plugins: geoip, asn, torcheck, iprep, cve
Commands: !geoip, !asn, !tor, !iprep, !cve

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
user
2026-02-15 02:38:13 +01:00
parent cf3abbdbae
commit 23b4d6f2a4
13 changed files with 995 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
.PHONY: install dev test lint clean help build container-run container-stop container-logs up down logs
.PHONY: install dev test lint clean help build container-run container-stop container-logs update-data up down logs
APP_NAME := derp
VENV := .venv
@@ -54,6 +54,9 @@ container-stop: ## Stop and remove container
container-logs: ## Follow container logs
podman logs -f $(APP_NAME)
update-data: ## Download/refresh local data files
./scripts/update-data.sh
up: ## Start with podman-compose (build + detach)
podman-compose up -d --build