O que cli-anything-adguardhome faz?
Bloqueio de anúncios em toda a rede e gerenciamento de DNS via API REST do AdGuard Home. Projetado para agentes de IA e usuários avançados que precisam gerenciar filtros, regras de rewrite, clientes, DHCP e logs de consulta sem interface gráfica.
Instalação
Esta CLI é instalada como parte do pacote cli-anything-adguardhome:
pip install cli-anything-adguardhome
Pré-requisitos:
- Python 3.10+
- O AdGuard Home deve estar instalado e em execução
- Instalar o AdGuard Home:
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
Uso
Comandos Básicos
# Exibir ajuda
cli-anything-adguardhome --help
# Iniciar modo REPL interativo
cli-anything-adguardhome
# Verificar status do servidor
cli-anything-adguardhome server status
# Executar com saída JSON (para consumo por agentes)
cli-anything-adguardhome --json server status
Modo REPL
Quando invocado sem um subcomando, a CLI entra em uma sessão REPL interativa:
cli-anything-adguardhome
# Digite comandos interativamente com autocompletar e histórico
Grupos de Comandos
Config
Gerenciamento de conexão e configuração.
| Comando | Descrição |
|---|---|
show | Exibir configuração de conexão atual |
save | Salvar configurações de conexão em um arquivo de configuração |
test | Testar a conexão com o AdGuard Home |
Server
Comandos de status e controle do servidor.
| Comando | Descrição |
|---|---|
status | Exibir status de proteção do servidor |
version | Exibir versão do AdGuard Home |
restart | Reiniciar o servidor AdGuard Home |
Filter
Gerenciamento de listas de filtros DNS.
| Comando | Descrição |
|---|---|
list | Listar todas as listas de filtros configuradas |
status | Exibir status de filtragem |
toggle | Ativar ou desativar a filtragem global |
add | Adicionar uma nova lista de filtros por URL |
remove | Remover uma lista de filtros |
enable | Ativar uma lista de filtros específica |
disable | Desativar uma lista de filtros específica |
refresh | Forçar a atualização de todas as listas de filtros |
Blocking
Configurações de controle parental, navegação segura e pesquisa segura.
| Comando | Descrição |
|---|---|
parental status | Exibir status do controle parental |
parental enable | Ativar controle parental |
parental disable | Desativar controle parental |
safebrowsing status | Exibir status de navegação segura |
safebrowsing enable | Ativar navegação segura |
safebrowsing disable | Desativar navegação segura |
safesearch status | Exibir status de pesquisa segura |
safesearch enable | Ativar pesquisa segura |
safesearch disable | Desativar pesquisa segura |
Blocked-Services
Gerenciar serviços de internet bloqueados.
| Comando | Descrição |
|---|---|
list | Listar serviços atualmente bloqueados |
set | Definir a lista de serviços bloqueados |
Clients
Gerenciamento de dispositivos clientes.
| Comando | Descrição |
|---|---|
list | Listar todos os clientes configurados |
add | Adicionar um novo cliente por nome e IP |
remove | Remover um cliente |
show | Exibir detalhes de um cliente específico |
Stats
Estatísticas de consultas.
| Comando | Descrição |
|---|---|
show | Exibir estatísticas de consultas DNS |
reset | Redefinir todas as estatísticas |
config | Visualizar ou atualizar o intervalo de retenção de estatísticas |
Log
Gerenciamento do log de consultas DNS.
| Comando | Descrição |
|---|---|
show | Exibir entradas recentes do log de consultas DNS |
config | Visualizar ou atualizar as configurações do log de consultas |
clear | Limpar o log de consultas |
Rewrite
Regras de rewrite DNS.
| Comando | Descrição |
|---|---|
list | Listar todas as regras de rewrite DNS |
add | Adicionar uma regra de rewrite DNS |
remove | Remover uma regra de rewrite DNS |
DHCP
Gerenciamento do servidor DHCP.
| Comando | Descrição |
|---|---|
status | Exibir status do servidor DHCP |
leases | Listar concessões DHCP ativas |
add-static | Adicionar uma concessão DHCP estática |
remove-static | Remover uma concessão DHCP estática |
TLS
Configuração TLS/HTTPS.
| Comando | Descrição |
|---|---|
status | Exibir status da configuração TLS |
Exemplos
Verificar Status do Servidor
cli-anything-adguardhome server status
cli-anything-adguardhome server version
Gerenciar Listas de Filtros
# Listar filtros atuais
cli-anything-adguardhome filter list
# Adicionar uma nova lista de bloqueio
cli-anything-adguardhome filter add --url https://somehost.com/list.txt --name "Minha Lista"
# Atualizar todos os filtros
cli-anything-adguardhome filter refresh
Rewrites DNS
# Adicionar uma entrada DNS local
cli-anything-adguardhome rewrite add --domain "myserver.local" --answer "192.168.1.50"
# Listar todas as rewrites
cli-anything-adguardhome rewrite list
Gerenciamento de Clientes
cli-anything-adguardhome clients add --name "Meu PC" --ip 192.168.1.100
cli-anything-adguardhome clients list
Estatísticas de Consultas
# Exibir estatísticas (legível por humanos)
cli-anything-adguardhome stats show
# Exibir estatísticas (JSON para agentes)
cli-anything-adguardhome --json stats show
Formatos de Saída
Todos os comandos suportam dois modos de saída:
- Legível por humanos (padrão): Tabelas, cores, texto formatado
- Legível por máquina (flag
--json): JSON estruturado para consumo por agentes
# Saída legível por humanos
cli-anything-adguardhome filter list
# Saída JSON para agentes
cli-anything-adguardhome --json filter list
Para Agentes de IA
Ao usar esta CLI programaticamente:
- Sempre use a flag
--jsonpara saída parseável - Verifique os códigos de retorno - 0 para sucesso, diferente de zero para erros
- Analise o stderr para mensagens de erro em caso de falha
- Use caminhos absolutos para todas as operações com arquivos
- Teste a conexão primeiro com
config testantes de outros comandos
Mais Informações
- Documentação completa: Consulte README.md no pacote
- Cobertura de testes: Consulte TEST.md no pacote
- Metodologia: Consulte HARNESS.md no cli-anything-plugin
Versão
1.0.0