安装AdGuard Home开启DoH,并使用Caddy反代

本文介绍如何在Linux上安装AdGuard并开启DoH。

准备事项

你需要准备以下内容:

  • 一台具有公网IP且配置不低于1C 512M的VPS
  • 一个域名,用于DoH的配置
  • 具有基础Linux操作能力

AdGuard Home 简介

AdGuard Home是一个可以拦截广告的Dns服务器,其作为Dns服务器运行在VPS上,可以拦截各种广告域名。

安装AdGuard Home

下载AdGuard Home

  1. 创建目录(这是AdGuard Home的上级安装目录)
mkdir -p /root/data
  1. 下载AdGuard Home安装包
wget -O /root/data/adguard.tar.gz https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.54/AdGuardHome_linux_amd64.tar.gz
  1. 解压AdGuard Home安装包
tar -zxvf /root/data/adguard.tar.gz -C /root/data

你会发现AdGuard Home安装包解压后,会在/root/data目录下生成AdGuardHome目录。

配置AdGuard Home

AdGuard Home简化了安装过程,执行以下命令即可完成安装:

/root/data/AdGuardHome/AdGuardHome -s install

AdGuard Home会在3000端口启动,你可以通过浏览器访问http://你的vpsip:3000来访问AdGuard Home的管理页面。

接下来根据AdGuard Home的提示,配置AdGuard Home。注意后台管理页面的端口不要配置为80端口,后续反代DoH需要使用80和443端口。

配置过程请参考 https://blog.wjqserver.com/post/adguard-dns/

使用Caddy反代AdGuard Home

caddy安装请参考 https://blog.wjqserver.com/post/caddy-index/

以下是Caddy的配置文件:

example.com {
    reverse_proxy {
        to 127.0.0.1:38080 # AdGuard Home后台
        import header_realip
    }
    route /dns1 { # 自定义路径
        rewrite * /dns-query{uri} 
        reverse_proxy {
            to https://exmaple.com:38443 # DOH地址与端口
        }    
    }
}

adguard-doh.png