Parameter angepasst.

This commit is contained in:
2026-03-16 10:14:12 +01:00
parent b69103a91c
commit ce8e44b808
6 changed files with 67 additions and 53 deletions
+9 -7
View File
@@ -24,8 +24,10 @@ Das Script arbeitet nach dem **Desired-State-Prinzip**: Du definierst WAS allowg
3. Synchronisation
├── Vergleich: current_ips.txt vs. new_ips.txt
├── Bei keinen Änderungen: Frühzeitiger Abbruch (kein Backup, keine Benachrichtigung)
├── Neue IPs hinzufügen (in new, nicht in current)
├── Veraltete IPs entfernen (in current, nicht in new)
├── Backup der vorherigen Liste erstellen
└── Statistiken aktualisieren
4. Abschluss
@@ -44,16 +46,16 @@ Das Script arbeitet nach dem **Desired-State-Prinzip**: Du definierst WAS allowg
| Aufruf | Beschreibung |
|--------|-------------|
| `./script.sh` | Startet das **interaktive Menü** (Standard) |
| `./script.sh --run` | Führt Allowlist-Sync aus (für **Cron**) |
| `./script.sh --sync-allowlist` | Führt Allowlist-Sync aus (für **Cron**) |
| `./script.sh --interactive` | Startet das interaktive Menü (explizit) |
> **Wichtig für Cron:** Ab v0.1.0 muss `--run` angegeben werden, da ohne Parameter das interaktive Menü startet.
> **Wichtig für Cron:** Ab v0.2.0 muss `--sync-allowlist` angegeben werden, da ohne Parameter das interaktive Menü startet.
### Alle Optionen
| Option | Kurz | Beschreibung |
|--------|------|-------------|
| `--run` | | Allowlist-Sync ausführen (nicht-interaktiv, für Cron) |
| `--sync-allowlist` | | Allowlist-Sync ausführen (nicht-interaktiv, für Cron) |
| `--interactive` | `-i` | Interaktives Menü starten |
| `--config FILE` | `-c` | Eigene Konfigurationsdatei laden |
| `--dry-run` | `-d` | Simuliert alle Aktionen ohne CrowdSec zu ändern |
@@ -72,7 +74,7 @@ Das Script arbeitet nach dem **Desired-State-Prinzip**: Du definierst WAS allowg
Im Dry-Run Modus werden alle Schritte normal durchgeführt (DNS-Auflösung, Vergleich), aber die CrowdSec-Befehle werden **nicht** ausgeführt:
```bash
./crowdsec-manager.sh --run --dry-run
./crowdsec-manager.sh --sync-allowlist --dry-run
```
Ausgabe:
@@ -148,7 +150,7 @@ crontab -e
Empfohlener Eintrag:
```cron
# CrowdSec Manager - alle 30 Minuten
*/30 * * * * /opt/crowdsec-manager/crowdsec-manager.sh --run >> /var/log/crowdsec-manager-cron.log 2>&1
*/30 * * * * /opt/crowdsec-manager/crowdsec-manager.sh --sync-allowlist >> /var/log/crowdsec-manager-cron.log 2>&1
```
### Cron-spezifisches Verhalten
@@ -175,10 +177,10 @@ Du kannst mehrere Konfigurationsdateien für verschiedene Allowlists verwenden:
```bash
# Webserver-Allowlist
./crowdsec-manager.sh --run --config config/webserver.conf
./crowdsec-manager.sh --sync-allowlist --config config/webserver.conf
# Monitoring-Allowlist
./crowdsec-manager.sh --run --config config/monitoring.conf
./crowdsec-manager.sh --sync-allowlist --config config/monitoring.conf
```
Jede Konfiguration sollte einen eigenen `ALLOWLIST_REASON` verwenden:
+4 -6
View File
@@ -1,7 +1,5 @@
# CrowdSec Manager Dokumentation
## Version 0.1.0
Umfassende Dokumentation für den CrowdSec Manager.
---
@@ -65,7 +63,7 @@ Mindestens setzen:
./crowdsec-manager.sh
# Allowlist-Sync (für Cron)
./crowdsec-manager.sh --run
./crowdsec-manager.sh --sync-allowlist
```
### 6. Cron einrichten
@@ -75,7 +73,7 @@ crontab -e
```
```cron
*/30 * * * * /opt/crowdsec-manager/crowdsec-manager.sh --run >> /var/log/crowdsec-manager-cron.log 2>&1
*/30 * * * * /opt/crowdsec-manager/crowdsec-manager.sh --sync-allowlist >> /var/log/crowdsec-manager-cron.log 2>&1
```
---
@@ -157,7 +155,7 @@ grep -E "Hinzugefügt|Entfernt" /var/log/crowdsec-manager.log
cron:
name: "CrowdSec Manager"
minute: "*/30"
job: "/opt/crowdsec-manager/crowdsec-manager.sh --run >> /var/log/crowdsec-manager-cron.log 2>&1"
job: "/opt/crowdsec-manager/crowdsec-manager.sh --sync-allowlist >> /var/log/crowdsec-manager-cron.log 2>&1"
```
### Docker Compose Sidecar
@@ -176,7 +174,7 @@ services:
command: >
sh -c "apk add --no-cache bash bind-tools curl docker-cli &&
while true; do
/app/crowdsec-manager.sh --run;
/app/crowdsec-manager.sh --sync-allowlist;
sleep 1800;
done"
```
+3 -3
View File
@@ -90,14 +90,14 @@ sudo chown $(whoami) /var/backup/crowdsec-manager
### Interaktives Menü startet statt Cron-Sync
Ab v0.1.0 startet das Script standardmäßig das interaktive Menü. Für den Cron-Betrieb **muss** `--run` angegeben werden:
Ab v0.1.0 startet das Script standardmäßig das interaktive Menü. Für den Cron-Betrieb **muss** `--sync-allowlist` angegeben werden:
```bash
# Falsch (startet interaktives Menü):
*/30 * * * * /opt/.../crowdsec-manager.sh
# Richtig:
*/30 * * * * /opt/.../crowdsec-manager.sh --run
*/30 * * * * /opt/.../crowdsec-manager.sh --sync-allowlist
```
---
@@ -129,7 +129,7 @@ A: Kein festes Limit. Die DNS-Auflösung wird linear pro Eintrag durchgeführt.
A: Ja, solange `dig` und Bash 4+ verfügbar sind. macOS liefert standardmäßig Bash 3.2 installiere Bash 4+ z.B. via Homebrew.
**F: Was ist der Unterschied zwischen dem interaktiven Menü und dem CLI?**
A: Das interaktive Menü (Standard) bietet eine grafische Auswahl aller Funktionen. Der CLI-Modus (`--run`, `--list`, etc.) ist für automatisierten/Cron-Betrieb gedacht.
A: Das interaktive Menü (Standard) bietet eine grafische Auswahl aller Funktionen. Der CLI-Modus (`--sync-allowlist`, `--list`, etc.) ist für automatisierten/Cron-Betrieb gedacht.
**F: Können im interaktiven Menü auch direkte cscli-Befehle ausgeführt werden?**
A: Ja, Menüpunkt 40 ermöglicht die Ausführung beliebiger cscli-Befehle über den konfigurierten Basisbefehl.