关于 cli-anything-adguardhome
面向 AI Agent 和高级用户的命令行工具,通过 AdGuard Home REST API 管理服务。无需图形界面即可操作过滤、DNS、客户端、DHCP 和查询日志。
主要功能
- 01查看服务状态和版本
- 02管理 DNS 过滤列表
- 03配置家长控制与安全浏览
- 04管理客户端和 DNS 重写规则
- 05查看 DHCP 租约和查询统计
- 06查看并清除查询日志
适用场景
- 01添加或刷新网络过滤列表
- 02创建本地 DNS 重写规则
- 03检查 DNS 查询和统计信息
- 04管理客户端设备与 DHCP 租约
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-adguardhome安装后在 Claude Code 中输入/cli-anything-adguardhome确认已加载。
详细介绍
cli-anything-adguardhome
通过 AdGuard Home REST API 实现全网广告拦截和 DNS 管理。专为需要在不使用 GUI 的情况下管理过滤、DNS 重写、客户端、DHCP 和查询日志的 AI Agent 和高级用户而设计。
安装
此命令行工具作为 cli-anything-adguardhome 包的一部分安装:
pip install cli-anything-adguardhome
前提条件:
- Python 3.10+
- 必须已安装 AdGuard Home 并正在运行
- 安装 AdGuard Home:
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
用法
基本命令
# 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 模式
当不带子命令调用时,命令行工具会进入交互式 REPL 会话:
cli-anything-adguardhome
# Enter commands interactively with tab-completion and history
命令组
Config
连接和配置管理。
| 命令 | 描述 |
|---|---|
show | 显示当前连接配置 |
save | 将连接设置保存到配置文件 |
test | 测试与 AdGuard Home 的连接 |
Server
服务器状态和控制命令。
| 命令 | 描述 |
|---|---|
status | 显示服务器保护状态 |
version | 显示 AdGuard Home 版本 |
restart | 重启 AdGuard Home 服务器 |
Filter
DNS 过滤列表管理。
| 命令 | 描述 |
|---|---|
list | 列出所有已配置的过滤列表 |
status | 显示过滤状态 |
toggle | 全局启用或禁用过滤 |
add | 通过 URL 添加新的过滤列表 |
remove | 移除过滤列表 |
enable | 启用特定的过滤列表 |
disable | 禁用特定的过滤列表 |
refresh | 强制刷新所有过滤列表 |
Blocking
家长控制、安全浏览和安全搜索设置。
| 命令 | 描述 |
|---|---|
parental status | 显示家长控制状态 |
parental enable | 启用家长控制 |
parental disable | 禁用家长控制 |
safebrowsing status | 显示安全浏览状态 |
safebrowsing enable | 启用安全浏览 |
safebrowsing disable | 禁用安全浏览 |
safesearch status | 显示安全搜索状态 |
safesearch enable | 启用安全搜索 |
safesearch disable | 禁用安全搜索 |
Blocked-Services
管理被屏蔽的互联网服务。
| 命令 | 描述 |
|---|---|
list | 列出当前被屏蔽的服务 |
set | 设置被屏蔽的服务列表 |
Clients
客户端设备管理。
| 命令 | 描述 |
|---|---|
list | 列出所有已配置的客户端 |
add | 按名称和 IP 添加新客户端 |
remove | 移除客户端 |
show | 显示特定客户端的详细信息 |
Stats
查询统计。
| 命令 | 描述 |
|---|---|
show | 显示 DNS 查询统计 |
reset | 重置所有统计 |
config | 查看或更新统计保留间隔 |
Log
DNS 查询日志管理。
| 命令 | 描述 |
|---|---|
show | 显示最近的 DNS 查询日志条目 |
config | 查看或更新查询日志设置 |
clear | 清除查询日志 |
Rewrite
DNS 重写规则。
| 命令 | 描述 |
|---|---|
list | 列出所有 DNS 重写规则 |
add | 添加 DNS 重写规则 |
remove | 移除 DNS 重写规则 |
DHCP
DHCP 服务器管理。
| 命令 | 描述 |
|---|---|
status | 显示 DHCP 服务器状态 |
leases | 列出活动 DHCP 租约 |
add-static | 添加静态 DHCP 租约 |
remove-static | 移除静态 DHCP 租约 |
TLS
TLS/HTTPS 配置。
| 命令 | 描述 |
|---|---|
status | 显示 TLS 配置状态 |
示例
检查服务器状态
cli-anything-adguardhome server status
cli-anything-adguardhome server version
管理过滤列表
# 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 重写
# 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
客户端管理
cli-anything-adguardhome clients add --name "My PC" --ip 192.168.1.100
cli-anything-adguardhome clients list
查询统计
# Show stats (human-readable)
cli-anything-adguardhome stats show
# Show stats (JSON for agents)
cli-anything-adguardhome --json stats show
输出格式
所有命令都支持两种输出模式:
- 人类可读(默认):表格、颜色、格式化文本
- 机器可读(
--json标志):结构化 JSON,供 Agent 使用
# Human output
cli-anything-adguardhome filter list
# JSON output for agents
cli-anything-adguardhome --json filter list
面向 AI Agent
以编程方式使用此命令行时:
- 始终使用
--json标志,以获得可解析的输出 - 检查返回码 —— 0 表示成功,非零表示出错
- 解析 stderr,以获取失败时的错误消息
- 使用绝对路径进行所有文件操作
- 先测试连接,在执行其他命令前使用
config test
更多信息
- 完整文档:请参阅包中的 README.md
- 测试覆盖率:请参阅包中的 TEST.md
- 方法论:请参阅 cli-anything-plugin 中的 HARNESS.md
版本
1.0.0
评论
支持 Markdown