Claw Run容器搭建免费DoH (DNS-over-HTTPS) 转发服务

Claw Run 容器服务已经上线一段时间了,且目前为 GitHub 用户每月免费赠送 $5 使用额度,用于轻量应用场景非常合适。

不少裙友担心访问的网站会被运营商的 DNS 劫持或监控,因此希望通过 DNS-over-HTTPS(DoH)规避 DNS 泄露风险。尽管 Cloudflare、Google、Quad9 等提供公共 DoH 服务,但在国内使用时常遇到访问延迟或不稳定的问题,所以很多裙友有自己搭建Adguard Home,Pi-hole,dnsmasq之类的递归DNS服务。

现在有了 Claw Run,咱们可以非常方便地部署自己的 DoH 转发服务。借助 Caddy 进行反向代理部署非常轻量,日常使用费用约为 $0.01/天(约 $0.3/月),远低于 Claw 提供的每月 $5 免费额度,非常适合个人使用。

以下是详细的部署步骤:

1. 注册/登录Claw Run

点击链接使用GitHub注册/登录Claw Run,你完全不需要之前有注册过Claw Cloud的账号

2. 选择区域

选择你经常使用的区域(都是阿里云的,包含美西,美东,新加坡,日本),当然你也可以部署在多个区域,不过你可以选择一个区域先部署
这里,咱选择了us-west-1进行演示

3. 开始创建


点击App Launchpad进入容器列表页面

点击Create App进入容器创建页面

填写Image Name:caddy(Docker镜像名称,小写)
配置拉到最低,Caddy非常轻量,0.1c64M完全没有问题

Container Port端口填写80,这里是Caddy转发到的端口,可以自定义
点击Enable Internet Access开关按钮打开端口转发,后面的*.clawcloudrun.com就你的DoH域名了
例如:bphlixcfmjsa.us-west-1.clawcloudrun.com

当然你也可以设置自定义域名,填写后,cname别名解析到到clawcloudrun.com的别名就可以了
然后就只需要修改Caddy server的配置文件Caddyfile,点击Configmaps

填写File name路径为/etc/caddy/Caddyfile
File content填写以下配置

:80 {
	rewrite * /dns-query
	reverse_proxy https://8.8.8.8
}

这里以Google DNS为例,可以自行修改为Cloudflare,Quad9,NextDNS,Adguard等
如果你需要Caddy也通过tls加密的话,替代:80为你的*.clawcloudrun.com或自定义域名,端口先填写80通过验证后,修改为443即可

然后右上角的Deploy Application就行了

4.开始使用

DoH转发的部署就完成了🥳
刚才的*.clawcloudrun.com就是你的DoH域名了

可以直接填写到浏览器的secure DNS设置中,浏览器一般会自动检测DoH是否可用,如果有错误提示的话,去Claw Run的容器页面检查一下日志

检查DoH是否生效的方法也非常简单,咱常用的小工具是test.nextdns.io,访问任何一个*.test.nextdns.io的子域名就可以知道当前的dns服务器是什么了

如果部署中有任何问题,欢迎在以下评论区留言

THE END