AdGuard 是一款 DNS 软件,它可以做到内网域名优先解析从而实现内网自定义域名。

在网页端需要一条一条进行填写,比较麻烦,所以需要找到从后台修改的方法。

AdGuard 在后台是以 docker 形式在运行,通过 docker ps 查看容器相关的信息。
查看容器信息$ docker psCONTAINER ID IMAGEebd9e3da2112 adguard/adguardhome:latestf5588501ed03 adguard/adguardhome:latest进入交互模式$ docker exec -it ebd9e3da2112 bin/sh查看配置文件$ docker exec -it ebd9e3da2112 \/bin/cat /opt/adguardhome/conf/AdGuardHome.yaml \| tee AdGuardHome.yaml
使用 awk 脚本将域名从配置文件中导出,方便后期维护
$ cat AdGuardHome.yaml | awk -f dns.awk | tee AdGuardHome.txt

awk 脚本 dns.awk 内容如下:
BEGIN{name = "";ip = "";}{if(match($0,"domain")) {name = $3;next;} else if(match($0,"answer")) {ip = $2;printf("%-14s\t%s\n", name, ip);fflush();next;} else {next;}}END{}
将处理过的域名文件转为 AdGuard 配置文件格式:
$ awk -f adguard.awk AdGuardHome.txt

awk 脚本 adguard.awk 内容如下:
BEGIN{print(" rewrites:")}{name = $1ip = $2print(" - domain: "name);print(" answer: "ip);}END{}
全文完。
如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。
文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




