Adguardhome是否支持API?
无论是容器部署的Adguardhome或是源码部署的项目,是否支持API操作?
答案:支持的
AdGuardHome/openapi at master · AdguardTeam/AdGuardHome · GitHub
步骤:
- 下载源码
- 下载yarn软件包
- 执行官方步骤,在源码路径下执行yarn start,此操作会占用服务器的4000端口,需要提前保证端口未被其他进程占用,如果打不开,还需要在防火墙放行对应端口
打开效果如下:
API功能实测:
由于文档为全英文设计,因此,用户应该先通过左边寻找需要的功能区域。
通过熟悉Adguardhome的网页端功能组件,找到需要支持通过api运行的部分
例如笔者对Adguardhome的重写功能有不同场景下的需求应用
功能区域与jason案例如图所示
根据官方的API案例,构造GET请求:
curl -X GET "http://Adguard部署的服务器ip/control/rewrite/list" -u 账号:密码
增加与删除POST函数
添加:
curl -X POST "http://Adguard部署的服务器ip/control/rewrite/add" \
-u 账号:密码 \
-H "Content-Type: application/json" \
-d '{
"domain": "www.baidu.com",
"answer": "183.2.172.177"
}'
删除:
curl -X POST "http://Adguard部署的服务器ip/control/rewrite/delete" \
-u 账号:密码 \ -H "Content-Type: application/json" \
-d '{
"domain": "www.baidu.com",
"answer": "183.2.172.177"
}'