Was macht cli-anything-adguardhome?
Netzwerkweite Werbeblockierung und DNS-Verwaltung über die AdGuard Home REST-API. Entwickelt für KI-Agenten und Power-User, die Filterung, DNS-Weiterleitungen, Clients, DHCP und Abfrageprotokolle ohne GUI verwalten möchten.
Installation
Dieses CLI ist als Teil des Pakets cli-anything-adguardhome installiert:
pip install cli-anything-adguardhome
Voraussetzungen:
- Python 3.10+
- AdGuard Home muss installiert und ausgeführt werden
- AdGuard Home installieren:
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
Verwendung
Grundlegende Befehle
# Hilfe anzeigen
cli-anything-adguardhome --help
# Interaktiven REPL-Modus starten
cli-anything-adguardhome
# Server-Status überprüfen
cli-anything-adguardhome server status
# Mit JSON-Ausgabe ausführen (für Agenten-Verarbeitung)
cli-anything-adguardhome --json server status
REPL-Modus
Wenn das CLI ohne Unterbefehl aufgerufen wird, startet es eine interaktive REPL-Sitzung:
cli-anything-adguardhome
# Befehle interaktiv mit Tab-Vervollständigung und Verlauf eingeben
Befehlsgruppen
Config
Verbindungs- und Konfigurationsverwaltung.
| Befehl | Beschreibung |
|---|---|
show | Aktuelle Verbindungskonfiguration anzeigen |
save | Verbindungseinstellungen in einer Konfigurationsdatei speichern |
test | Verbindung zu AdGuard Home testen |
Server
Server-Status- und Steuerungsbefehle.
| Befehl | Beschreibung |
|---|---|
status | Server-Schutzstatus anzeigen |
version | AdGuard Home-Version anzeigen |
restart | AdGuard Home-Server neu starten |
Filter
DNS-Filterlistenverwaltung.
| Befehl | Beschreibung |
|---|---|
list | Alle konfigurierten Filterlisten auflisten |
status | Filterstatus anzeigen |
toggle | Filterung global aktivieren oder deaktivieren |
add | Neue Filterliste per URL hinzufügen |
remove | Eine Filterliste entfernen |
enable | Eine bestimmte Filterliste aktivieren |
disable | Eine bestimmte Filterliste deaktivieren |
refresh | Alle Filterlisten zwangsweise aktualisieren |
Blocking
Kindersicherung, sicheres Surfen und sichere Suche.
| Befehl | Beschreibung |
|---|---|
parental status | Status der Kindersicherung anzeigen |
parental enable | Kindersicherung aktivieren |
parental disable | Kindersicherung deaktivieren |
safebrowsing status | Status des sicheren Surfens anzeigen |
safebrowsing enable | Sicheres Surfen aktivieren |
safebrowsing disable | Sicheres Surfen deaktivieren |
safesearch status | Status der sicheren Suche anzeigen |
safesearch enable | Sichere Suche aktivieren |
safesearch disable | Sichere Suche deaktivieren |
Blocked-Services
Verwaltung blockierter Internetdienste.
| Befehl | Beschreibung |
|---|---|
list | Derzeit blockierte Dienste auflisten |
set | Liste der blockierten Dienste festlegen |
Clients
Client-Geräteverwaltung.
| Befehl | Beschreibung |
|---|---|
list | Alle konfigurierten Clients auflisten |
add | Neuen Client nach Name und IP hinzufügen |
remove | Einen Client entfernen |
show | Details für einen bestimmten Client anzeigen |
Stats
Abfragestatistiken.
| Befehl | Beschreibung |
|---|---|
show | DNS-Abfragestatistiken anzeigen |
reset | Alle Statistiken zurücksetzen |
config | Aufbewahrungsintervall für Statistiken anzeigen oder aktualisieren |
Log
DNS-Abfrageprotokollverwaltung.
| Befehl | Beschreibung |
|---|---|
show | Neueste DNS-Abfrageprotokolleinträge anzeigen |
config | Abfrageprotokolleinstellungen anzeigen oder aktualisieren |
clear | Abfrageprotokoll löschen |
Rewrite
DNS-Umschreibungsregeln.
| Befehl | Beschreibung |
|---|---|
list | Alle DNS-Umschreibungsregeln auflisten |
add | Eine DNS-Umschreibungsregel hinzufügen |
remove | Eine DNS-Umschreibungsregel entfernen |
DHCP
DHCP-Serververwaltung.
| Befehl | Beschreibung |
|---|---|
status | DHCP-Serverstatus anzeigen |
leases | Aktive DHCP-Leases auflisten |
add-static | Statischen DHCP-Lease hinzufügen |
remove-static | Statischen DHCP-Lease entfernen |
TLS
TLS/HTTPS-Konfiguration.
| Befehl | Beschreibung |
|---|---|
status | TLS-Konfigurationsstatus anzeigen |
Beispiele
Server-Status überprüfen
cli-anything-adguardhome server status
cli-anything-adguardhome server version
Filterlisten verwalten
# Aktuelle Filter auflisten
cli-anything-adguardhome filter list
# Neue Blockliste hinzufügen
cli-anything-adguardhome filter add --url https://somehost.com/list.txt --name "Meine Liste"
# Alle Filter aktualisieren
cli-anything-adguardhome filter refresh
DNS-Umschreibungen
# Lokalen DNS-Eintrag hinzufügen
cli-anything-adguardhome rewrite add --domain "myserver.local" --answer "192.168.1.50"
# Alle Umschreibungen auflisten
cli-anything-adguardhome rewrite list
Client-Verwaltung
cli-anything-adguardhome clients add --name "Mein PC" --ip 192.168.1.100
cli-anything-adguardhome clients list
Abfragestatistiken
# Statistiken anzeigen (menschenlesbar)
cli-anything-adguardhome stats show
# Statistiken anzeigen (JSON für Agenten)
cli-anything-adguardhome --json stats show
Ausgabeformate
Alle Befehle unterstützen zwei Ausgabemodi:
- Menschenlesbar (Standard): Tabellen, Farben, formatierter Text
- Maschinenlesbar (
--json-Flag): Strukturiertes JSON für Agenten-Verarbeitung
# Menschliche Ausgabe
cli-anything-adguardhome filter list
# JSON-Ausgabe für Agenten
cli-anything-adguardhome --json filter list
Für KI-Agenten
Bei programmatischer Nutzung dieses CLIs:
- Verwenden Sie immer das
--json-Flag für parsebare Ausgabe - Rückgabewerte prüfen - 0 für Erfolg, ungleich 0 für Fehler
- Fehlermeldungen aus stderr parsen bei Fehlern
- Absolute Pfade verwenden für alle Dateioperationen
- Verbindung zuerst testen mit
config testvor anderen Befehlen
Weitere Informationen
- Vollständige Dokumentation: Siehe README.md im Paket
- Testabdeckung: Siehe TEST.md im Paket
- Methodik: Siehe HARNESS.md im cli-anything-plugin
Version
1.0.0