mcpField
C
cli-anything-adguardhome

cli-anything-adguardhome

github.com/hkuds云与 DevOps57.6k479 次安装5 周前更新
代码仓库

关于 cli-anything-adguardhome

面向 AI Agent 和高级用户的命令行工具,通过 AdGuard Home REST API 管理服务。无需图形界面即可操作过滤、DNS、客户端、DHCP 和查询日志。

主要功能

  1. 01查看服务状态和版本
  2. 02管理 DNS 过滤列表
  3. 03配置家长控制与安全浏览
  4. 04管理客户端和 DNS 重写规则
  5. 05查看 DHCP 租约和查询统计
  6. 06查看并清除查询日志

适用场景

  1. 01添加或刷新网络过滤列表
  2. 02创建本地 DNS 重写规则
  3. 03检查 DNS 查询和统计信息
  4. 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

以编程方式使用此命令行时:

  1. 始终使用 --json 标志,以获得可解析的输出
  2. 检查返回码 —— 0 表示成功,非零表示出错
  3. 解析 stderr,以获取失败时的错误消息
  4. 使用绝对路径进行所有文件操作
  5. 先测试连接,在执行其他命令前使用 config test

更多信息

  • 完整文档:请参阅包中的 README.md
  • 测试覆盖率:请参阅包中的 TEST.md
  • 方法论:请参阅 cli-anything-plugin 中的 HARNESS.md

版本

1.0.0

评论

支持 Markdown