360 Secure SkillHub
360 安全技能中心

AdGuard Home Manager

通过 curl 调用自建 AdGuard Home 的 HTTP 接口,查询拦截统计与运行状态、查看高频被拦截域名与 DNS 查询日志,增删自定义 DNS 过滤规则,并启用或关闭过滤功能,需配置服务地址与登录凭据环境变量。

kryzl19
kryzl19
热度 38.54
最近更新 2026-05-11 17:36:26
分类:自动化依赖:代码执行 / 第三方 API应用场景:自动化脚本 / 工作流 / DevOps

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add adguard-home-manager
Metadata
name
adguard-home
description
Manage AdGuard Home network-wide DNS ad blocking. Query blocklist stats, add/remove custom DNS rules, check filtering status, and view top blocked domains from your self-hosted DNS server.
version
1.0.0
metadata
{"openclaw":{"requires":{"env":["ADGUARD_USERNAME","ADGUARD_PASSWORD","ADGUARD_BASE_URL"],"bins":["curl","jq"]},"primaryEnv":"ADGUARD_PASSWORD","emoji":"🛡️","homepage":"https://github.com/Adguard/AdGuardHome"}}

AdGuard Home

Manage AdGuard Home — the network-wide DNS server that blocks ads, trackers, and malware for your entire network.

Setup

  1. Install AdGuard Home on your VPS or home server
  2. Create a user for the agent: Settings → AdGuard Home → Users → Add User
  3. Get your base URL (e.g. http://192.168.1.1:3000 or https://your-vps.example.com)
  4. Export env vars:
export ADGUARD_USERNAME=your_username
export ADGUARD_PASSWORD=your_password
export ADGUARD_BASE_URL=http://192.168.1.1:3000

Tools

status

Get overall AdGuard Home status — DNS status, filtering enabled, protection level.

adguard-home-status

stats

Get filtering statistics: total blocked, allowed, queries today, top blocked domains.

adguard-home-stats [period]   # period: hour, day, week, month, year (default: day)

blocked_domains

Get the most frequently blocked domains.

adguard-home-blocked-domains [limit]   # default: 20

add_rule

Add a custom DNS blocking rule.

adguard-home-add-rule "<domain or rule>"
# Examples:
#   adguard-home-add-rule "example.com"           # block single domain
#   adguard-home-add-rule "||example.com^"       # AdGuard blocking syntax
#   adguard-home-add-rule "@||example.com^"      # allowlist exception

remove_rule

Remove a custom DNS rule by content.

adguard-home-remove-rule "<rule>"

list_rules

List all custom DNS rewrite rules.

adguard-home-list-rules

query_log

Query the DNS query log — find what domains were resolved on the network.

adguard-home-query-log [domain_filter] [limit]
# Example: adguard-home-query-log "ads" 50

toggle_filtering

Enable or disable DNS filtering (ad blocking).

adguard-home-toggle-filtering true   # or false

Notes

  • AdGuard Home API: https://github.com/AdguardTeam/AdGuardHome/wiki/Config#web-interface
  • Authentication uses HTTP Basic Auth with username:password
  • Rate limiting: avoid querying the query_log with very large limits
  • DNS rewrite rules can create custom DNS responses (A, AAAA, CNAME records)