Cloudflare DoH 转发代理

一个轻量级的 DNS over HTTPS (DoH) 转发代理服务

项目介绍

Cloudflare DoH 转发代理是一个基于 Cloudflare Workers 的轻量级服务,能够根据请求路径将 DNS 查询转发到不同的 DoH 服务提供商,同时保留原始查询参数。

主要功能

使用方法

本服务已部署到 Cloudflare,您可以直接使用以下地址进行 DNS 查询:

转发到 Google DoH 服务

https://doh-proxy.example.com/google/query-dns?name=example.com

转发到 Cloudflare DoH 服务

https://doh-proxy.example.com/cloudflare/query-dns?name=example.com

HTTP 请求示例

curl -H "accept: application/dns-json" "https://doh-proxy.example.com/google/query-dns?name=example.com&type=A"

自托管部署

您可以使用以下两种方法部署自己的 DoH 转发代理:

方法一:使用 Cloudflare Workers

  1. 登录到 Cloudflare 控制台
  2. 进入 Workers 部分并点击"创建服务"
  3. 将项目代码粘贴到编辑器中
  4. 配置环境变量(可选)
  5. 点击"部署"按钮

方法二:使用 Cloudflare Pages

  1. 将项目代码推送到 Git 仓库
  2. 在 Cloudflare Pages 中创建新项目并连接到您的仓库
  3. 完成基本配置后部署即可

自定义配置

您可以通过设置环境变量 DOMAIN_MAPPINGS 来自定义路径映射规则:

{
	"/google": {
	  "targetDomain": "dns.google",
	  "pathMapping": {
		"/query-dns": "/dns-query"
	  }
	},
	"/cloudflare": {
	  "targetDomain": "one.one.one.one",
	  "pathMapping": {
		"/query-dns": "/dns-query"
	  }
	},
	"/quad9": {
	  "targetDomain": "dns.quad9.net",
	  "pathMapping": {
		"/query-dns": "/dns-query"
	  }
	}
  }

配置说明:

  • 键名为路径前缀,如 /google
  • targetDomain 为目标域名
  • pathMapping 定义路径映射规则

浏览器 DoH 设置方法

以下是在不同浏览器中配置 DNS over HTTPS (DoH) 的方法:

Firefox 浏览器设置

  1. 打开 Firefox,在地址栏中输入 about:preferences#general
  2. 滚动到页面底部找到"网络设置"部分
  3. 点击"设置"按钮
  4. 滚动到底部,勾选"启用基于 HTTPS 的 DNS"
  5. 选择"自定义"选项,并输入以下 URL(以 Google 为例):
    https://your-worker-domain.com/google/query-dns
  6. 点击"确定"保存设置

Chrome 浏览器设置

  1. 打开 Chrome,在地址栏中输入 chrome://settings/security
  2. 找到"安全浏览和安全"部分
  3. 点击"使用安全 DNS 服务"
  4. 选择"自定义"选项,并输入以下 URL(以 Cloudflare 为例):
    https://your-worker-domain.com/cloudflare/query-dns

注意:Chrome 只允许使用预定义的 DoH 提供商或自定义提供商,但有些版本可能限制对自定义 DoH 服务的支持。

Edge 浏览器设置

  1. 打开 Edge,在地址栏中输入 edge://settings/privacy
  2. 滚动到"安全"部分
  3. 找到"使用安全 DNS 服务指定如何查找网站的网络地址"
  4. 选择"自定义"选项,并输入以下 URL(以 Google 为例):
    https://your-worker-domain.com/google/query-dns

操作系统级别设置

Windows 11 设置

  1. 打开设置 > 网络和 Internet > Wi-Fi 或以太网(取决于您的连接类型)
  2. 点击您的网络连接
  3. 在"DNS 服务器分配"部分,选择"编辑"
  4. 将"IPv4 DNS 服务器"设置更改为"手动"
  5. 开启"IPv4 的 DNS over HTTPS"
  6. 在"首选 DNS"字段输入 DoH 提供商的 IP 地址
  7. 在"首选 DoH 模式"下拉菜单中选择"自定义"并输入您的 DoH URL:
    https://your-worker-domain.com/google/query-dns

macOS/iOS 设置

  1. 通过 DNS Profile Creator 等工具生成 DoH 配置描述文件
  2. 将配置文件下载到您的设备上
  3. 在 macOS 上:
    • 双击下载的配置文件
    • 在系统设置中找到"配置文件"
    • 点击"安装"并输入管理员密码确认
  4. 在 iOS 上:
    • 打开下载的配置文件
    • 点击"设置"应用程序中的通知
    • 点击"安装配置文件"
    • 输入设备密码确认安装
  5. 安装完成后,设备将自动使用配置的 DoH 服务器

Android 设置

Android 暂不支持 DoH

常见问题

什么是 DNS over HTTPS (DoH)?

DoH 是一种加密 DNS 查询的协议,它通过 HTTPS 协议发送 DNS 查询,防止中间人攻击和隐私泄露。

为什么需要 DoH 转发代理?

DoH 转发代理可以帮助绕过网络限制、提供统一的接口调用多个 DoH 服务提供商,并在提供商之间快速切换。

使用此服务是否安全?

本服务仅转发请求,不会修改或存储您的 DNS 查询内容。但请注意,您的 DNS 查询内容仍会被目标 DoH 提供商处理。

免费版有什么限制?

Cloudflare Workers 免费版每日有 100,000 次请求限制,足够个人使用,但不适合大规模部署。

开始使用

立即部署您自己的 DoH 转发代理,或直接使用我们的服务

获取代码