暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

AdGuard 内网域名管理

生有可恋 2022-11-30
2012

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

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

AdGuard 在后台是以 docker 形式在运行,通过 docker ps 查看容器相关的信息。

    查看容器信息
    $ docker ps
    CONTAINER ID IMAGE
    ebd9e3da2112 adguard/adguardhome:latest
    f5588501ed03 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 = $1
            ip = $2
            print(" - domain: "name);
            print(" answer: "ip);
            }
            END{
            }



            全文完。


            如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。


                   

            文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论