update: Konfigurationsdatei aufräumen – Kommentare gekürzt, Verweis auf Doku ergänzt, fehlende Variable EXTERNAL_WHITELIST_CACHE_DIR hinzugefügt
This commit is contained in:
@@ -1,271 +1,102 @@
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
# AdGuard Shield - Konfigurationsdatei
|
# AdGuard Shield - Konfigurationsdatei
|
||||||
# Schutz vor übermäßigen DNS-Anfragen einzelner Clients
|
# Ausführliche Dokumentation: docs/konfiguration.md
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
# --- AdGuard Home API Einstellungen ---
|
# --- AdGuard Home API ---
|
||||||
# URL der AdGuard Home Web-Oberfläche (ohne trailing slash)
|
|
||||||
ADGUARD_URL="https://dns1.domain.com"
|
ADGUARD_URL="https://dns1.domain.com"
|
||||||
|
|
||||||
# AdGuard Home Zugangsdaten (Web-UI Login)
|
|
||||||
ADGUARD_USER="admin"
|
ADGUARD_USER="admin"
|
||||||
ADGUARD_PASS='changeme'
|
ADGUARD_PASS='changeme'
|
||||||
|
|
||||||
# --- Rate-Limit Einstellungen ---
|
# --- Rate-Limit ---
|
||||||
# Maximale Anfragen pro Domain pro Client innerhalb des Zeitfensters
|
RATE_LIMIT_MAX_REQUESTS=30 # Max. Anfragen pro Domain/Client im Zeitfenster
|
||||||
RATE_LIMIT_MAX_REQUESTS=30
|
RATE_LIMIT_WINDOW=60 # Zeitfenster in Sekunden
|
||||||
|
CHECK_INTERVAL=10 # Prüfintervall in Sekunden
|
||||||
|
|
||||||
# Zeitfenster in Sekunden (60 = 1 Minute)
|
# --- Subdomain-Flood-Erkennung ---
|
||||||
RATE_LIMIT_WINDOW=60
|
|
||||||
|
|
||||||
# Wie oft das Script die Logs prüft (in Sekunden)
|
|
||||||
CHECK_INTERVAL=10
|
|
||||||
|
|
||||||
# --- Subdomain-Flood-Erkennung (Random Subdomain Attack) ---
|
|
||||||
# Erkennt Bots/Clients die massenhaft zufällige Subdomains einer Domain abfragen
|
|
||||||
# Beispiel: abc123.microsoft.com, xyz456.microsoft.com, ...
|
|
||||||
# Dabei wird pro Client gezählt, wie viele EINDEUTIGE Subdomains einer
|
|
||||||
# Basisdomain (z.B. microsoft.com) im Zeitfenster aufgerufen werden.
|
|
||||||
|
|
||||||
# Subdomain-Flood-Erkennung aktivieren
|
|
||||||
SUBDOMAIN_FLOOD_ENABLED=true
|
SUBDOMAIN_FLOOD_ENABLED=true
|
||||||
|
SUBDOMAIN_FLOOD_MAX_UNIQUE=50 # Max. eindeutige Subdomains pro Basisdomain/Client
|
||||||
# Maximale Anzahl eindeutiger Subdomains pro Basisdomain pro Client im Zeitfenster
|
SUBDOMAIN_FLOOD_WINDOW=60 # Zeitfenster in Sekunden
|
||||||
# Beispiel: 50 = ein Client darf max. 50 verschiedene Subdomains von microsoft.com abfragen
|
|
||||||
SUBDOMAIN_FLOOD_MAX_UNIQUE=50
|
|
||||||
|
|
||||||
# Zeitfenster in Sekunden für die Subdomain-Flood-Erkennung (60 = 1 Minute)
|
|
||||||
SUBDOMAIN_FLOOD_WINDOW=60
|
|
||||||
|
|
||||||
# --- Sperr-Einstellungen ---
|
# --- Sperr-Einstellungen ---
|
||||||
# Wie lange ein Client gesperrt wird (in Sekunden, 3600 = 1 Stunde)
|
BAN_DURATION=3600 # Basis-Sperrdauer in Sekunden
|
||||||
BAN_DURATION=3600
|
|
||||||
|
|
||||||
# iptables Chain-Name für die Sperren
|
|
||||||
IPTABLES_CHAIN="ADGUARD_SHIELD"
|
IPTABLES_CHAIN="ADGUARD_SHIELD"
|
||||||
|
BLOCKED_PORTS="53 443 853" # DNS(53), DoH(443), DoT/DoQ(853)
|
||||||
# Welche Ports gesperrt werden sollen (IPv4 + IPv6)
|
|
||||||
# Port 53 = DNS (UDP + TCP)
|
|
||||||
# Port 443 = DNS-over-HTTPS (DoH)
|
|
||||||
# Port 853 = DNS-over-TLS (tls://...:853) / DNS-over-QUIC (quic://...:853)
|
|
||||||
# Hinweis: Das verwendete Protokoll (DNS/DoH/DoT/DoQ) wird automatisch
|
|
||||||
# aus der AdGuard Home API erkannt und in Logs/History angezeigt.
|
|
||||||
BLOCKED_PORTS="53 443 853"
|
|
||||||
|
|
||||||
# --- Whitelist ---
|
# --- Whitelist ---
|
||||||
# IP-Adressen die NIEMALS gesperrt werden (kommagetrennt)
|
# IPs die niemals gesperrt werden (kommagetrennt)
|
||||||
# Lokale Netze und wichtige Server hier eintragen
|
|
||||||
WHITELIST="127.0.0.1,::1"
|
WHITELIST="127.0.0.1,::1"
|
||||||
|
|
||||||
# --- Logging ---
|
# --- Logging ---
|
||||||
# Log-Datei Pfad
|
|
||||||
LOG_FILE="/var/log/adguard-shield.log"
|
LOG_FILE="/var/log/adguard-shield.log"
|
||||||
|
LOG_LEVEL="INFO" # DEBUG, INFO, WARN, ERROR
|
||||||
# Log-Level: DEBUG, INFO, WARN, ERROR
|
LOG_MAX_SIZE_MB=50 # Max. Größe in MB (danach Rotation)
|
||||||
LOG_LEVEL="INFO"
|
|
||||||
|
|
||||||
# Maximale Größe der Log-Datei in MB (danach wird rotiert)
|
|
||||||
LOG_MAX_SIZE_MB=50
|
|
||||||
|
|
||||||
# Ban-History Datei (protokolliert alle Sperren & Entsperrungen dauerhaft)
|
|
||||||
BAN_HISTORY_FILE="/var/log/adguard-shield-bans.log"
|
BAN_HISTORY_FILE="/var/log/adguard-shield-bans.log"
|
||||||
|
BAN_HISTORY_RETENTION_DAYS=0 # 0 = unbegrenzt
|
||||||
|
|
||||||
# Maximale Aufbewahrungsdauer der Ban-History in Tagen
|
# --- Benachrichtigungen ---
|
||||||
# 0 = unbegrenzt (niemals automatisch löschen)
|
|
||||||
# Beispiel: 90 = Einträge älter als 90 Tage werden beim nächsten Report entfernt
|
|
||||||
BAN_HISTORY_RETENTION_DAYS=0
|
|
||||||
|
|
||||||
# --- Benachrichtigungen (optional) ---
|
|
||||||
# Aktiviert Benachrichtigungen bei Sperren/Entsperrungen
|
|
||||||
NOTIFY_ENABLED=false
|
NOTIFY_ENABLED=false
|
||||||
|
NOTIFY_TYPE="ntfy" # ntfy, discord, slack, gotify, generic
|
||||||
|
NOTIFY_WEBHOOK_URL="" # Webhook-URL (nicht für ntfy)
|
||||||
|
|
||||||
# Benachrichtigungs-Typ: "ntfy", "discord", "slack", "gotify", "generic"
|
# Ntfy-Einstellungen (nur bei NOTIFY_TYPE="ntfy")
|
||||||
NOTIFY_TYPE="ntfy"
|
|
||||||
|
|
||||||
# Webhook-URL (nur für discord, slack, gotify, generic – bei ntfy nicht nötig)
|
|
||||||
# Discord: https://discord.com/api/webhooks/xxx/yyy
|
|
||||||
# Gotify: https://gotify.example.com/message?token=xxx
|
|
||||||
NOTIFY_WEBHOOK_URL=""
|
|
||||||
|
|
||||||
# --- Ntfy Einstellungen (nur bei NOTIFY_TYPE="ntfy") ---
|
|
||||||
# Server-URL der Ntfy-Instanz (ohne trailing slash)
|
|
||||||
NTFY_SERVER_URL="https://ntfy.sh"
|
NTFY_SERVER_URL="https://ntfy.sh"
|
||||||
|
|
||||||
# Topic-Name für die Benachrichtigungen
|
|
||||||
NTFY_TOPIC=""
|
NTFY_TOPIC=""
|
||||||
|
|
||||||
# Optionaler Access-Token (leer lassen wenn nicht benötigt)
|
|
||||||
NTFY_TOKEN=""
|
NTFY_TOKEN=""
|
||||||
|
NTFY_PRIORITY="4" # 1=min, 3=default, 5=max
|
||||||
|
|
||||||
# Priorität der Ntfy-Nachrichten (1=min, 3=default, 5=max)
|
# --- E-Mail Report ---
|
||||||
NTFY_PRIORITY="4"
|
|
||||||
|
|
||||||
# --- E-Mail Report (optional) ---
|
|
||||||
# Regelmäßiger Statistik-Report per E-Mail
|
|
||||||
# Voraussetzung: Ein funktionierender Mail-Transport (z.B. msmtp)
|
|
||||||
# Anleitung für msmtp: https://www.cleveradmin.de/blog/2024/12/linux-einfach-emails-versenden-mit-msmtp/
|
|
||||||
REPORT_ENABLED=false
|
REPORT_ENABLED=false
|
||||||
|
REPORT_INTERVAL="weekly" # daily, weekly, biweekly, monthly
|
||||||
# Report-Intervall: "daily", "weekly", "biweekly", "monthly"
|
|
||||||
# daily = täglich um die konfigurierte Uhrzeit
|
|
||||||
# weekly = wöchentlich am Montag
|
|
||||||
# biweekly = alle zwei Wochen am Montag
|
|
||||||
# monthly = monatlich am 1. des Monats
|
|
||||||
REPORT_INTERVAL="weekly"
|
|
||||||
|
|
||||||
# Uhrzeit für den Report-Versand (Format: HH:MM, 24h)
|
|
||||||
REPORT_TIME="08:00"
|
REPORT_TIME="08:00"
|
||||||
|
|
||||||
# E-Mail-Empfänger
|
|
||||||
REPORT_EMAIL_TO="admin@example.com"
|
REPORT_EMAIL_TO="admin@example.com"
|
||||||
|
|
||||||
# E-Mail-Absender
|
|
||||||
REPORT_EMAIL_FROM="adguard-shield@example.com"
|
REPORT_EMAIL_FROM="adguard-shield@example.com"
|
||||||
|
REPORT_FORMAT="html" # html, txt
|
||||||
# E-Mail-Format: "html" oder "txt"
|
|
||||||
REPORT_FORMAT="html"
|
|
||||||
|
|
||||||
# Mail-Befehl (z.B. "msmtp", "sendmail", "mail")
|
|
||||||
REPORT_MAIL_CMD="msmtp"
|
REPORT_MAIL_CMD="msmtp"
|
||||||
|
REPORT_BUSIEST_DAY_RANGE=30 # Tage für "Aktivster Tag" (0 = nur Berichtszeitraum)
|
||||||
|
|
||||||
# Zeitraum für "Aktivster Tag" im Report (in Tagen)
|
# --- Externe Whitelist ---
|
||||||
# Bestimmt, über wie viele Tage zurück der aktivste Tag ermittelt wird.
|
# Externe Whitelist-Dateien mit Domains/IPs; Domains werden per DNS aufgelöst
|
||||||
# 30 = Aktivster Tag der letzten 30 Tage (empfohlen)
|
|
||||||
# 0 = Nur innerhalb des Berichtszeitraums (altes Verhalten)
|
|
||||||
REPORT_BUSIEST_DAY_RANGE=30
|
|
||||||
|
|
||||||
# --- Externe Whitelist (optional) ---
|
|
||||||
# Ermöglicht das Einbinden externer Whitelist-Dateien mit Domains/IPs.
|
|
||||||
# Domains werden regelmäßig per DNS aufgelöst (ideal für dynamische IPs/DynDNS).
|
|
||||||
EXTERNAL_WHITELIST_ENABLED=false
|
EXTERNAL_WHITELIST_ENABLED=false
|
||||||
|
EXTERNAL_WHITELIST_URLS="" # URL(s) kommagetrennt
|
||||||
|
EXTERNAL_WHITELIST_INTERVAL=300 # Prüfintervall in Sekunden
|
||||||
|
EXTERNAL_WHITELIST_CACHE_DIR="/var/lib/adguard-shield/external-whitelist"
|
||||||
|
|
||||||
# URL(s) zu externen Textdateien mit Domains/IPs (eine pro Zeile)
|
# --- Externe Blocklist ---
|
||||||
# Mehrere URLs kommagetrennt angeben
|
|
||||||
# Beispiel: "https://example.com/whitelist.txt,https://other.com/trusted-hosts.txt"
|
|
||||||
EXTERNAL_WHITELIST_URLS=""
|
|
||||||
|
|
||||||
# Wie oft die externe Whitelist geprüft und Domains neu aufgelöst werden (in Sekunden, 300 = 5 Minuten)
|
|
||||||
# Kürzere Intervalle empfohlen bei vielen DynDNS-Einträgen
|
|
||||||
EXTERNAL_WHITELIST_INTERVAL=300
|
|
||||||
|
|
||||||
# --- Externe Blocklist (optional) ---
|
|
||||||
# Aktiviert den externen Blocklist-Worker
|
|
||||||
EXTERNAL_BLOCKLIST_ENABLED=false
|
EXTERNAL_BLOCKLIST_ENABLED=false
|
||||||
|
EXTERNAL_BLOCKLIST_URLS="" # URL(s) kommagetrennt
|
||||||
# URL(s) zu externen Textdateien mit IP-Adressen (eine IP pro Zeile)
|
EXTERNAL_BLOCKLIST_INTERVAL=300 # Prüfintervall in Sekunden
|
||||||
# Mehrere URLs kommagetrennt angeben
|
EXTERNAL_BLOCKLIST_BAN_DURATION=0 # 0 = permanent bis IP aus Liste entfernt
|
||||||
# Beispiel: "https://example.com/blocklist.txt,https://other.com/bad-ips.txt"
|
|
||||||
EXTERNAL_BLOCKLIST_URLS=""
|
|
||||||
|
|
||||||
# Wie oft die externe Blocklist geprüft wird (in Sekunden, 300 = 5 Minuten)
|
|
||||||
EXTERNAL_BLOCKLIST_INTERVAL=300
|
|
||||||
|
|
||||||
# Sperrdauer für externe Blocklist-IPs in Sekunden (0 = permanent bis IP aus Liste entfernt)
|
|
||||||
EXTERNAL_BLOCKLIST_BAN_DURATION=0
|
|
||||||
|
|
||||||
# Automatisch IPs entsperren die aus der externen Liste entfernt wurden?
|
|
||||||
EXTERNAL_BLOCKLIST_AUTO_UNBAN=true
|
EXTERNAL_BLOCKLIST_AUTO_UNBAN=true
|
||||||
|
EXTERNAL_BLOCKLIST_NOTIFY=false # Bei großen Listen auf false lassen
|
||||||
# Benachrichtigungen bei Blocklist-Sperren senden?
|
|
||||||
# Bei Listen mit vielen IPs empfiehlt sich false, da sonst beim Sync
|
|
||||||
# hunderte Benachrichtigungen auf einmal verschickt werden.
|
|
||||||
EXTERNAL_BLOCKLIST_NOTIFY=false
|
|
||||||
|
|
||||||
# Lokaler Cache-Pfad für die heruntergeladene Blocklist
|
|
||||||
EXTERNAL_BLOCKLIST_CACHE_DIR="/var/lib/adguard-shield/external-blocklist"
|
EXTERNAL_BLOCKLIST_CACHE_DIR="/var/lib/adguard-shield/external-blocklist"
|
||||||
|
|
||||||
# --- Progressive Sperren (Recidive) ---
|
# --- Progressive Sperren (Recidive) ---
|
||||||
# Wiederholungstäter werden stufenweise länger gesperrt (wie bei fail2ban)
|
# Wiederholungstäter werden stufenweise länger gesperrt
|
||||||
# Aktiviert das progressive Sperrsystem
|
|
||||||
PROGRESSIVE_BAN_ENABLED=true
|
PROGRESSIVE_BAN_ENABLED=true
|
||||||
|
PROGRESSIVE_BAN_MULTIPLIER=2 # Multiplikator pro Stufe (2 = Verdopplung)
|
||||||
|
PROGRESSIVE_BAN_MAX_LEVEL=5 # Ab dieser Stufe permanent sperren (0 = nie)
|
||||||
|
PROGRESSIVE_BAN_RESET_AFTER=86400 # Zähler-Reset nach X Sekunden ohne Vergehen
|
||||||
|
|
||||||
# Multiplikator pro Wiederholung (2 = Verdopplung der Sperrdauer)
|
# --- AbuseIPDB Reporting ---
|
||||||
# Stufe 1: BAN_DURATION × 1 (Standard-Sperrdauer)
|
# Meldet nur permanent gesperrte IPs an AbuseIPDB
|
||||||
# Stufe 2: BAN_DURATION × 2
|
|
||||||
# Stufe 3: BAN_DURATION × 4
|
|
||||||
# Stufe 4: BAN_DURATION × 8 ... usw.
|
|
||||||
PROGRESSIVE_BAN_MULTIPLIER=2
|
|
||||||
|
|
||||||
# Ab dieser Stufe wird die IP permanent gesperrt (0 = nie permanent sperren)
|
|
||||||
# Beispiel: 5 = nach dem 5. Vergehen wird die IP dauerhaft gesperrt
|
|
||||||
PROGRESSIVE_BAN_MAX_LEVEL=5
|
|
||||||
|
|
||||||
# Nach wie vielen Sekunden ohne erneutes Vergehen wird der Zähler zurückgesetzt
|
|
||||||
# (86400 = 24 Stunden, 604800 = 7 Tage)
|
|
||||||
PROGRESSIVE_BAN_RESET_AFTER=86400
|
|
||||||
|
|
||||||
# --- AbuseIPDB Reporting (optional) ---
|
|
||||||
# Meldet permanent gesperrte IPs automatisch an AbuseIPDB
|
|
||||||
# Nur bei PERMANENTEN Sperren wird ein Report gesendet.
|
|
||||||
ABUSEIPDB_ENABLED=false
|
ABUSEIPDB_ENABLED=false
|
||||||
|
|
||||||
# AbuseIPDB API-Key (https://www.abuseipdb.com/account/api)
|
|
||||||
ABUSEIPDB_API_KEY=""
|
ABUSEIPDB_API_KEY=""
|
||||||
|
ABUSEIPDB_CATEGORIES="4" # 4 = DDoS Attack (siehe abuseipdb.com/categories)
|
||||||
|
|
||||||
# Kategorien für den Report (kommagetrennt)
|
# --- GeoIP-basierte Länderfilter ---
|
||||||
# 4 = DDoS Attack
|
# Sperrt/erlaubt DNS-Anfragen nach Herkunftsland (lokale DB, keine Online-API)
|
||||||
# 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
|
GEOIP_ENABLED=false
|
||||||
|
GEOIP_MODE="blocklist" # blocklist oder allowlist
|
||||||
# Modus: "blocklist" = nur gelistete Länder sperren
|
GEOIP_COUNTRIES="" # ISO 3166-1 Alpha-2 Codes, z.B. "CN,RU,KP,IR"
|
||||||
# "allowlist" = nur gelistete Länder erlauben (alle anderen werden gesperrt)
|
GEOIP_CHECK_INTERVAL=0 # 0 = nutzt CHECK_INTERVAL
|
||||||
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
|
GEOIP_NOTIFY=true
|
||||||
|
GEOIP_SKIP_PRIVATE=true # Private IPs ausnehmen
|
||||||
# Lokale IPs und private Netze von GeoIP-Prüfung ausnehmen (empfohlen: true)
|
GEOIP_LICENSE_KEY="" # MaxMind GeoLite2 Key (optional, für Auto-Download)
|
||||||
GEOIP_SKIP_PRIVATE=true
|
GEOIP_MMDB_PATH="" # Manueller DB-Pfad (optional, hat Vorrang)
|
||||||
|
|
||||||
# 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 ---
|
# --- Erweiterte Einstellungen ---
|
||||||
# Pfad zur State-Datei (speichert aktive Sperren)
|
|
||||||
STATE_DIR="/var/lib/adguard-shield"
|
STATE_DIR="/var/lib/adguard-shield"
|
||||||
|
|
||||||
# Pfad zum PID-File
|
|
||||||
PID_FILE="/var/run/adguard-shield.pid"
|
PID_FILE="/var/run/adguard-shield.pid"
|
||||||
|
API_QUERY_LIMIT=500 # API-Einträge pro Abfrage (max 5000)
|
||||||
# Anzahl der API-Einträge die pro Abfrage geholt werden (max 5000)
|
DRY_RUN=false # true = nur loggen, nicht sperren
|
||||||
API_QUERY_LIMIT=500
|
|
||||||
|
|
||||||
# Dry-Run Modus: true = nur loggen, nicht sperren (zum Testen)
|
|
||||||
DRY_RUN=false
|
|
||||||
|
|||||||
Reference in New Issue
Block a user