30 lines
1.0 KiB
Bash
Executable File
30 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# update-geoip-db.sh — lädt die aktuelle DB-IP Lite Country MMDB (CC-BY-4.0) nach GEOIP_DB_PATH.
|
|
# Für die lokale, EU-konforme Land-Auflösung ohne externen Transfer (AD-22, EXT-12).
|
|
#
|
|
# Monatlich ausführen (z.B. Coolify Scheduled Task oder system-cron). Die MMDB ist ein
|
|
# Deploy-Artefakt und gehört NICHT ins Git.
|
|
#
|
|
# Monat überschreibbar: ./scripts/update-geoip-db.sh 2026-05 (falls die Monatsdatei noch nicht released ist)
|
|
#
|
|
set -euo pipefail
|
|
|
|
DEST="${GEOIP_DB_PATH:-./data/geoip/dbip-country-lite.mmdb}"
|
|
MONTH="${1:-$(date +%Y-%m)}"
|
|
URL="https://download.db-ip.com/free/dbip-country-lite-${MONTH}.mmdb.gz"
|
|
|
|
mkdir -p "$(dirname "$DEST")"
|
|
tmp="$(mktemp)"
|
|
trap 'rm -f "$tmp"' EXIT
|
|
|
|
echo "Lade GeoIP-DB: $URL"
|
|
if ! curl -fSL "$URL" -o "$tmp"; then
|
|
echo "FEHLER: Download fehlgeschlagen. Ist die Monatsdatei für ${MONTH} schon veröffentlicht?" >&2
|
|
echo " Versuche den Vormonat: ./scripts/update-geoip-db.sh JJJJ-MM" >&2
|
|
exit 1
|
|
fi
|
|
|
|
gunzip -c "$tmp" > "$DEST"
|
|
echo "GeoIP-DB aktualisiert: $DEST"
|