v0.3.0 - Initial Release

This commit is contained in:
2026-03-03 21:15:54 +01:00
parent a5fb3bcf25
commit 64079f6fef
15 changed files with 896 additions and 279 deletions

View File

@@ -4,7 +4,7 @@
- **Erst immer im Dry-Run testen**, bevor der scharfe Modus aktiviert wird
```bash
sudo /opt/adguard-ratelimit/adguard-ratelimit.sh dry-run
sudo /opt/adguard-shield/adguard-shield.sh dry-run
```
- **Whitelist großzügig pflegen**: Eigene IPs, Router, wichtige Server nicht vergessen
- **Sperrdauer anpassen**: Für DDoS-artige Muster ggf. länger sperren
@@ -17,7 +17,7 @@
### API-Verbindung schlägt fehl
```bash
sudo /opt/adguard-ratelimit/adguard-ratelimit.sh test
sudo /opt/adguard-shield/adguard-shield.sh test
```
**Mögliche Ursachen:**
@@ -36,23 +36,23 @@ curl -s -u admin:passwort http://127.0.0.1:3000/control/querylog?limit=1
Das Script muss als **root** laufen, da iptables Root-Rechte benötigt.
```bash
sudo /opt/adguard-ratelimit/adguard-ratelimit.sh start
sudo /opt/adguard-shield/adguard-shield.sh start
```
### Client wird fälschlich gesperrt
1. Client sofort entsperren:
```bash
sudo /opt/adguard-ratelimit/adguard-ratelimit.sh unban 192.168.1.100
sudo /opt/adguard-shield/adguard-shield.sh unban 192.168.1.100
```
2. In der Ban-History prüfen, warum gesperrt wurde:
```bash
sudo /opt/adguard-ratelimit/adguard-ratelimit.sh history | grep 192.168.1.100
sudo /opt/adguard-shield/adguard-shield.sh history | grep 192.168.1.100
```
3. IP zur Whitelist hinzufügen in `adguard-ratelimit.conf`
3. IP zur Whitelist hinzufügen in `adguard-shield.conf`
3. Service neustarten:
```bash
sudo systemctl restart adguard-ratelimit
sudo systemctl restart adguard-shield
```
### Sperren überleben Reboot nicht
@@ -73,22 +73,55 @@ Das ist normal — iptables-Regeln sind flüchtig. Der **Service** erstellt die
```bash
# Altes PID-File entfernen
sudo rm -f /var/run/adguard-ratelimit.pid
sudo systemctl start adguard-ratelimit
sudo rm -f /var/run/adguard-shield.pid
sudo systemctl start adguard-shield
```
## Update durchführen
```bash
# Repository aktualisieren
cd /tmp/adguard-shield
git pull
# Update ausführen (Konfig wird automatisch migriert, Service neu gestartet)
sudo bash install.sh update
```
**Was passiert beim Update:**
- Alle Scripts werden aktualisiert
- Konfiguration wird als `adguard-shield.conf.old` gesichert
- Neue Konfigurationsparameter werden automatisch zur bestehenden Konfig ergänzt
- Bestehende Einstellungen bleiben erhalten
- Service wird per `daemon-reload` neu geladen und automatisch neu gestartet
## Deinstallation
```bash
# Über den Installer (interaktiv mit Menü)
sudo bash install.sh uninstall
```
Oder manuell:
```bash
sudo systemctl stop adguard-ratelimit
sudo systemctl disable adguard-ratelimit
sudo /opt/adguard-ratelimit/iptables-helper.sh remove
sudo rm -rf /opt/adguard-ratelimit
sudo rm -f /etc/systemd/system/adguard-ratelimit.service
sudo systemctl stop adguard-shield
sudo systemctl disable adguard-shield
sudo /opt/adguard-shield/iptables-helper.sh remove
sudo rm -rf /opt/adguard-shield
sudo rm -f /etc/systemd/system/adguard-shield.service
sudo systemctl daemon-reload
```
## Voraussetzungen
Folgende Pakete werden für den Betrieb benötigt und bei der Installation automatisch installiert:
| Paket | Zweck |
|-------|-------|
| `curl` | API-Kommunikation mit AdGuard Home |
| `jq` | JSON-Verarbeitung der API-Antworten |
| `iptables` | Firewall-Regeln (IPv4 + IPv6) |
| `gawk` | Textverarbeitung in Scripts |
| `systemd` | Service-Management und Autostart |
Diese werden bei `sudo bash install.sh install` automatisch geprüft und bei Bedarf über den Paketmanager (`apt`, `dnf`, `yum`, `pacman`) nachinstalliert.