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

@@ -4,18 +4,19 @@
| Pri | Status | Task |
|-----|--------|------|
| P0 | [ ] | GeoIP plugin (GeoLite2-City mmdb) |
| P0 | [ ] | ASN plugin (GeoLite2-ASN mmdb) |
| P0 | [ ] | Tor exit node check plugin |
| P0 | [ ] | IP reputation plugin (Firehol blocklists) |
| P0 | [ ] | CVE lookup plugin (NVD JSON feed) |
| P0 | [ ] | Data update script (scripts/update-data.sh) |
| P1 | [ ] | Documentation update (all docs current) |
| P0 | [x] | GeoIP plugin (GeoLite2-City mmdb) |
| P0 | [x] | ASN plugin (GeoLite2-ASN mmdb) |
| P0 | [x] | Tor exit node check plugin |
| P0 | [x] | IP reputation plugin (Firehol blocklists) |
| P0 | [x] | CVE lookup plugin (NVD JSON feed) |
| P0 | [x] | Data update script (scripts/update-data.sh) |
| P0 | [x] | Documentation update (all docs current) |
## Completed
| Date | Task |
|------|------|
| 2026-02-15 | Wave 3 plugins (geoip, asn, torcheck, iprep, cve) + update script |
| 2026-02-15 | Admin/owner permission system (hostmask + IRCOP) |
| 2026-02-15 | SASL PLAIN, rate limiting, CTCP responses |
| 2026-02-15 | Wave 2 plugins (whois, portcheck, httpcheck, tlscheck, blacklist, rand, timer) |