news 2026/8/25 9:44:28

为什么你需要自建DoH代理?doh-cf-workers破解运营商DNS封锁的隐私防御全攻略

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么你需要自建DoH代理?doh-cf-workers破解运营商DNS封锁的隐私防御全攻略

为什么你需要自建DoH代理?doh-cf-workers破解运营商DNS封锁的隐私防御全攻略

【免费下载链接】doh-cf-workersDNS-over-HTTPS proxy on Cloudflare Workers项目地址: https://gitcode.com/gh_mirrors/do/doh-cf-workers

运营商DNS劫持、广告污染、隐私泄露——只要还在使用默认DNS,这些问题就可能随时找上门。doh-cf-workers 是一个部署在 Cloudflare Workers 上的极简 DoH(DNS-over-HTTPS)代理项目:粘贴几行代码,3 分钟即可搭建一套自建 DoH 代理,绕过运营商对公共 DoH 服务的封锁,把 DNS 隐私防护的主动权握在自己手里。

DNS 劫持有多严重?为什么公共 DoH 会被运营商封锁?

📖 可以把 DNS 理解为"互联网的通讯录":你访问example.com,先要问 DNS 服务器"这个网站在哪个 IP?"

问题在于,传统 DNS 流量是明文传输的,运营商(ISP)可以轻易:

  • 🎯 篡改解析结果,把网站指向广告页
  • 🔍 记录你的完整上网记录
  • 🚫 直接屏蔽某些域名

DoH 技术把 DNS 查询加密在 HTTPS 通道里,运营商既看不懂内容、也难以精准阻断。但公共 DoH 服务(如 Cloudflare、Google 的节点)地址广为人知——一旦运营商开始封禁知名 DoH 服务,公共节点可能一夜失效

破解之道就是本文的主题:自建一个专属的 DoH 代理。因为你的代理地址只属于你自己,运营商无法提前封锁。

doh-cf-workers 简介:只需一个文件的极简 DoH 代理

项目结构非常简单,核心代理逻辑全部在 index.js 中,不到 60 行代码:

文件作用
index.js核心代理逻辑,转发你的 DNS 查询到上游 DoH 服务
wrangler.tomlCloudflare Workers 部署配置
README.md项目说明与使用指引

它的工作方式可以概括为:

  1. 你的设备把 DNS 查询发到你部署的 Worker 地址;
  2. Worker 把查询原样转发给上游 DoH 服务(默认 Cloudflare,已确认兼容 Google、NextDNS);
  3. 上游返回的解析结果再原路传回你的设备。

整个过程中,你的 DNS 行为对运营商来说只是一段加密的 HTTPS 流量,无法识别、无法劫持。🛡️

项目同时兼容三种常用 DoH 请求方式:

  • GET 请求(带dns参数,二进制格式)
  • POST 请求(二进制报文,多数客户端默认方式)
  • JSON 格式API(通过代码中的dohjson变量控制)

这意味着绝大多数支持 DoH 的设备都能直接对接。

3 步快速部署:免费搭建你的专属 DoH 代理

第 1 步:注册免费的 Cloudflare 账号

访问 Cloudflare Workers 官方页面注册账号即可,个人使用免费额度完全够用(每天 10 万次请求,一般家庭都绰绰有余)。

第 2 步:粘贴代码并部署 Worker

在 Workers 控制台新建一个 Worker,把默认模板清空,替换为 index.js 的完整内容,直接部署。

如果想换上游 DNS 服务商,只需修改代码里的一行:

// 默认使用 Cloudflare 的 DoH 服务 const doh = 'https://security.cloudflare-dns.com/dns-query'

把它换成你信任的任意 DoH 地址即可(Google、NextDNS、AdGuard 等均支持,注意 Google 和 AdGuard 的路径是/resolve)。

第 3 步:获取你的专属 DoH 地址

部署成功后,你会得到一个形如https://xxx.your-worker.workers.dev的地址。这个地址就是你自建 DoH 代理的入口,把它填进任何支持 DoH 的客户端就完成了。⚡

💡 习惯命令行部署的话,也可以先克隆仓库到本地:git clone https://gitcode.com/gh_mirrors/do/doh-cf-workers,再用 wrangler 工具部署(依赖已在package.json中声明)。

客户端配置:让手机和电脑用上你的 DoH 代理

拿到地址后,配置过程非常直接——任何接受 DoH 地址的地方都能用

客户端配置位置
浏览器安全 DNS / DNS over HTTPS 设置,填你的 Worker 地址
AdGuard(手机/路由器)DoH 上游服务器设置
YogaDNS、Nebulo、Intra 等添加 DoH 服务器

填完后重启 DNS 服务,即可验证:查询流量已全部走你的自建代理,绕开了运营商的封锁清单。✅

进阶技巧:workers.dev 域名被整体封锁怎么办?

极端情况下,运营商可能直接封掉workers.dev这个公共域名。项目对此有预案:

  • 将你自己的域名(需托管在 Cloudflare 上)通过CNAME 记录指向任意值,再在 Workers 的 Routes 里绑定该域名;
  • 此后你的 DoH 代理就走自有域名,封锁成本大幅上升。

这样即使公共域名被拉黑,你的私有 DoH 通道依然畅通。🔐

常见问题解答(FAQ)

免费版每天 10 万次请求够用吗?

对绝大多数个人用户甚至一个家庭都足够。若需求更大,可以升级付费计划(修改 wrangler.toml 配置);但月费 $5 起,此时也可以考虑在 VPS 上自建 AdGuard Home 作为替代方案。

用一键部署按钮会不会泄露地址?

用仓库里的 Deploy 按钮快速部署时,Action 日志是公开可见的,任何人都能看到你的 Worker 地址并消耗你的免费配额。建议部署后删除日志,或保持仓库私有。📌

可以完全离线使用吗?

不行,代理依赖 Cloudflare 边缘节点和上游 DoH 服务。它解决的是"运营商封锁/劫持 DNS"问题,而非断网问题。

总结:把 DNS 隐私握在自己手里

doh-cf-workers 用最少的代码解决了一个真实而紧迫的问题:当运营商开始封锁公共 DoH 服务时,你仍然有一个只属于自己的加密 DNS 通道

  • 🆓 免费额度即可覆盖个人与家庭使用
  • ⏱️ 三步完成部署,无需服务器、无需运维
  • 🔁 上游 DNS 可自由切换,兼容 GET / POST / JSON 三种请求格式
  • 🌐 支持自定义域名,应对公共域名被封锁的极端情况

几行代码换来的,是长期、可控的 DNS 隐私防御能力。现在就部署你的专属 DoH 代理吧!

【免费下载链接】doh-cf-workersDNS-over-HTTPS proxy on Cloudflare Workers项目地址: https://gitcode.com/gh_mirrors/do/doh-cf-workers

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 9:41:53

软件功能测试面试全攻略:100道高频题解析

1. 软件功能测试面试题的价值与定位对于刚毕业的应届生来说,软件功能测试岗位往往是进入IT行业的首选切入点。不同于性能测试、安全测试等需要特定技术积累的领域,功能测试更注重对软件质量保证基础理念的理解和基本测试技能的掌握。这100道面试题的设计…

作者头像 李华