cli-anything-adguardhome logo

cli-anything-adguardhome

cli anything adguardhome

hkuds/cli-anything244installs41.8KstarsCLI & Terminal

SKILL.md

Full skill instructions

cli-anything-adguardhome

Network-wide ad blocking and DNS management via the AdGuard Home REST API. Designed for AI agents and power users who need to manage filtering, DNS rewrites, clients, DHCP, and query logs without a GUI.

Installation

This CLI is installed as part of the cli-anything-adguardhome package:

pip install cli-anything-adguardhome

Prerequisites:

  • Python 3.10+
  • AdGuard Home must be installed and running
  • Install AdGuard Home: curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

Usage

Basic Commands

# Show help
cli-anything-adguardhome --help

# Start interactive REPL mode
cli-anything-adguardhome

# Check server status
cli-anything-adguardhome server status

# Run with JSON output (for agent consumption)
cli-anything-adguardhome --json server status

REPL Mode

When invoked without a subcommand, the CLI enters an interactive REPL session:

cli-anything-adguardhome
# Enter commands interactively with tab-completion and history

Command Groups

Config

Connection and configuration management.

CommandDescription
showShow current connection configuration
saveSave connection settings to a config file
testTest the connection to AdGuard Home

Server

Server status and control commands.

CommandDescription
statusShow server protection status
versionShow AdGuard Home version
restartRestart the AdGuard Home server

Filter

DNS filter list management.

CommandDescription
listList all configured filter lists
statusShow filtering status
toggleEnable or disable filtering globally
addAdd a new filter list by URL
removeRemove a filter list
enableEnable a specific filter list
disableDisable a specific filter list
refreshForce-refresh all filter lists

Blocking

Parental control, safe browsing, and safe search settings.

CommandDescription
parental statusShow parental control status
parental enableEnable parental control
parental disableDisable parental control
safebrowsing statusShow safe browsing status
safebrowsing enableEnable safe browsing
safebrowsing disableDisable safe browsing
safesearch statusShow safe search status
safesearch enableEnable safe search
safesearch disableDisable safe search

Blocked-Services

Manage blocked internet services.

CommandDescription
listList currently blocked services
setSet the list of blocked services

Clients

Client device management.

CommandDescription
listList all configured clients
addAdd a new client by name and IP
removeRemove a client
showShow details for a specific client

Stats

Query statistics.

CommandDescription
showShow DNS query statistics
resetReset all statistics
configView or update statistics retention interval

Log

DNS query log management.

CommandDescription
showShow recent DNS query log entries
configView or update query log settings
clearClear the query log

Rewrite

DNS rewrite rules.

CommandDescription
listList all DNS rewrite rules
addAdd a DNS rewrite rule
removeRemove a DNS rewrite rule

DHCP

DHCP server management.

CommandDescription
statusShow DHCP server status
leasesList active DHCP leases
add-staticAdd a static DHCP lease
remove-staticRemove a static DHCP lease

TLS

TLS/HTTPS configuration.

CommandDescription
statusShow TLS configuration status

Examples

Check Server Status

cli-anything-adguardhome server status
cli-anything-adguardhome server version

Manage Filter Lists

# List current filters
cli-anything-adguardhome filter list

# Add a new blocklist
cli-anything-adguardhome filter add --url https://somehost.com/list.txt --name "My List"

# Refresh all filters
cli-anything-adguardhome filter refresh

DNS Rewrites

# Add a local DNS entry
cli-anything-adguardhome rewrite add --domain "myserver.local" --answer "192.168.1.50"

# List all rewrites
cli-anything-adguardhome rewrite list

Client Management

cli-anything-adguardhome clients add --name "My PC" --ip 192.168.1.100
cli-anything-adguardhome clients list

Query Statistics

# Show stats (human-readable)
cli-anything-adguardhome stats show

# Show stats (JSON for agents)
cli-anything-adguardhome --json stats show

Output Formats

All commands support dual output modes:

  • Human-readable (default): Tables, colors, formatted text
  • Machine-readable (--json flag): Structured JSON for agent consumption
# Human output
cli-anything-adguardhome filter list

# JSON output for agents
cli-anything-adguardhome --json filter list

For AI Agents

When using this CLI programmatically:

  1. Always use --json flag for parseable output
  2. Check return codes - 0 for success, non-zero for errors
  3. Parse stderr for error messages on failure
  4. Use absolute paths for all file operations
  5. Test connection first with config test before other commands

More Information

  • Full documentation: See README.md in the package
  • Test coverage: See TEST.md in the package
  • Methodology: See HARNESS.md in the cli-anything-plugin

Version

1.0.0