feat: GeoIP-Länderfilter mit MaxMind Auto-Download

This commit is contained in:
2026-04-14 20:30:37 +02:00
parent 4d7e053ce7
commit 3d60771a1b
9 changed files with 1231 additions and 3 deletions

View File

@@ -207,6 +207,56 @@ ABUSEIPDB_API_KEY=""
# Siehe: https://www.abuseipdb.com/categories
ABUSEIPDB_CATEGORIES="4"
# --- GeoIP-basierte Länderfilter (optional) ---
# Sperrt oder erlaubt DNS-Anfragen basierend auf dem Herkunftsland der Client-IP.
# Alle Lookups erfolgen LOKAL über eine Datenbank es werden keine Online-API-Calls gemacht.
#
# Einfachster Weg (empfohlen):
# sudo apt install geoip-bin geoip-database
# → Damit funktioniert GeoIP sofort, ohne Account oder API-Key.
#
# Für genauere/aktuellere Daten (optional):
# Kostenlosen MaxMind-Account erstellen (https://www.maxmind.com/en/geolite2/signup)
# und License-Key unter GEOIP_LICENSE_KEY eintragen. Die GeoLite2-Datenbank
# wird dann automatisch heruntergeladen und alle 24 Stunden aktualisiert.
# Alternativ kann ein bereits vorhandener DB-Pfad über GEOIP_MMDB_PATH angegeben werden.
GEOIP_ENABLED=false
# Modus: "blocklist" = nur gelistete Länder sperren
# "allowlist" = nur gelistete Länder erlauben (alle anderen werden gesperrt)
GEOIP_MODE="blocklist"
# Kommagetrennte Liste von ISO 3166-1 Alpha-2 Ländercodes
# Blocklist-Modus: Diese Länder werden gesperrt
# Allowlist-Modus: NUR diese Länder werden erlaubt (Rest wird gesperrt)
# Beispiel: "CN,RU,KP,IR" oder "DE,AT,CH"
GEOIP_COUNTRIES=""
# Wie oft die GeoIP-Prüfung durchgeführt wird (in Sekunden, 0 = bei jedem Check-Intervall)
# Empfohlen: Gleicher Wert wie CHECK_INTERVAL oder höher
GEOIP_CHECK_INTERVAL=0
# Benachrichtigungen bei GeoIP-Sperren senden?
GEOIP_NOTIFY=true
# Lokale IPs und private Netze von GeoIP-Prüfung ausnehmen (empfohlen: true)
GEOIP_SKIP_PRIVATE=true
# MaxMind GeoLite2 License-Key (optional, für automatischen Download & Update)
# Kostenloser Account: https://www.maxmind.com/en/geolite2/signup
# License-Key erstellen: Account → Manage License Keys → Generate New License Key
# Wenn gesetzt, wird die GeoLite2-Country-Datenbank automatisch heruntergeladen
# und alle 24 Stunden aktualisiert. Die DB wird lokal gespeichert unter:
# <INSTALL_DIR>/geoip/GeoLite2-Country.mmdb
GEOIP_LICENSE_KEY=""
# Pfad zur MaxMind GeoLite2 .mmdb-Datenbank (optional)
# Wenn leer UND GEOIP_LICENSE_KEY gesetzt → automatischer Download (s.o.)
# Wenn leer UND GEOIP_LICENSE_KEY leer → Fallback auf geoiplookup (apt install geoip-bin)
# Wenn gesetzt → diese Datei wird direkt verwendet (kein automatischer Download)
# Beispiel: "/usr/share/GeoIP/GeoLite2-Country.mmdb"
GEOIP_MMDB_PATH=""
# --- Erweiterte Einstellungen ---
# Pfad zur State-Datei (speichert aktive Sperren)
STATE_DIR="/var/lib/adguard-shield"