Cloudflare DoH 转发代理

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

项目介绍

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

主要功能

使用方法

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

转发到 Google JSON API

https://gwihviete.xyz/google/query-dns?name=example.com

转发到 Google RFC 8484 DoH 服务

https://gwihviete.xyz/google-rfc/query-dns?dns=BASE64URL_DNS_MESSAGE

转发到 Cloudflare DoH 服务

https://gwihviete.xyz/cloudflare/query-dns?name=example.com

HTTP 请求示例

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

浏览器、操作系统等 RFC 8484 客户端建议使用:

https://gwihviete.xyz/google-rfc/query-dns

自托管部署

您可以使用以下两种方法部署自己的 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": "/resolve"
		}
	},
	"/google-rfc": {
		"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/google-rfc
  • targetDomain 为目标域名
  • pathMapping 定义路径映射规则

浏览器 DoH 设置方法

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

Firefox 浏览器设置

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

Chrome 浏览器设置

  1. 打开 Chrome,在地址栏中输入 chrome://settings/security
  2. 找到“安全浏览和安全”部分
  3. 点击“使用安全 DNS 服务”
  4. 选择“自定义”选项,并输入以下 URL:
    https://gwihviete.xyz/cloudflare/query-dns

注意:不同版本的 Chrome 对自定义 DoH 服务支持可能略有差异。

Edge 浏览器设置

  1. 打开 Edge,在地址栏中输入 edge://settings/privacy
  2. 滚动到“安全”部分
  3. 找到“使用安全 DNS 服务指定如何查找网站的网络地址”
  4. 选择“自定义”选项,并输入以下 URL:
    https://gwihviete.xyz/google-rfc/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://gwihviete.xyz/google-rfc/query-dns

macOS / iOS 设置

  1. 通过 DNS Profile Creator 等工具生成 DoH 配置描述文件
  2. 将配置文件下载到您的设备上
  3. 在 macOS 上双击配置文件,然后在系统设置中安装
  4. 在 iOS 上打开配置文件,然后到设置中安装
  5. 安装完成后,设备将自动使用配置的 DoH 服务器

Android 设置

Android 原生“私人 DNS”主要支持 DoT,不是 DoH。若要使用 DoH,通常需要支持 DoH 的浏览器或第三方客户端。

常见问题

什么是 DNS over HTTPS (DoH)?

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

为什么需要 DoH 转发代理?

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

使用此服务是否安全?

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

免费版有什么限制?

Cloudflare Workers / Pages 免费额度适合个人使用,但不适合大规模公开服务。建议避免把 DoH 地址公开给大量用户使用。

开始使用

立即使用您的 DoH 转发代理

获取代码