Shadowrocket怎么设置DoH?手把手配置加密DNS教程

本指南介绍 Shadowrocket 的 DoH 加密 DNS 设置方法,从找到 DNS 页面、填写服务地址到验证解析是否生效,按步骤完成配置。文中也说明设置前的准备、直连域名的处理思路,以及遇到网页打不开或解析异常时的排查与恢复方法。

本文速览

Shadowrocket 的 DoH(DNS over HTTPS)设置需要同时核对解析服务地址、当前 DNS 选项和连接策略。本文面向已经有自己的服务信息、希望启用加密 DNS 的 iPhone 与 iPad 用户,按 Settings → DNS 的操作思路说明如何填写、验证和回退。应用内字段会因版本和配置而异,操作时以设备上实际显示的选项为准。

DoH 是什么?开启后改变了哪一段连接

DoH 是否等于“所有流量都加密”?不是。DNS 负责把域名解析为 IP 地址;DoH 使用 HTTPS 传输 DNS 查询,主要保护设备到所选 DNS 服务之间的查询内容,不能替代 Shadowrocket 的代理连接,也不会自动加密目标网站本身的连接。访问 HTTPS 网站时,网站连接仍由网站的 TLS 保护。

应用请求域名DNS 查询HTTPS 传输返回解析结果连接目标网站

开启 DoH 后,DNS 服务提供方仍会收到它所处理的查询。DoH 能减少同一网络中间环节直接读取或篡改 DNS 请求的机会,但不能让查询对 DNS 服务提供方不可见,也不能保证所有应用请求都一定使用同一解析器。选择服务前应查看其隐私说明、可用性和适用地区,并确认自己信任该服务。

Shadowrocket 的 DNS 设置与 Home → Global Routing 不是一回事。DNS 设置决定如何处理域名解析;Global Routing 的 Config、Proxy、Direct 或 Scene 决定连接流量采用哪种处理方式。切换路由模式不会自动修正 DoH 地址,填写 DoH 地址也不会自动改变规则。

设置前先记录当前 DNS 与连接状态

改完后网页打不开,怎样判断是新 DNS 导致的?先留一份可还原的记录。记录当前网络是 Wi-Fi 还是蜂窝数据、Home 中的连接状态、Global Routing 当前值,以及 Settings → DNS 页面中已有的服务器地址和选项。若 DNS 来自正在使用的配置,也要记下对应配置名称;不要在没有副本时同时修改多个字段。

  1. 记录当前设置

    打开 Settings → DNS,抄下原有 DNS 地址、模式和相关开关。若页面没有单独的 DNS 菜单,先查看 Settings 中与 DNS 或 Encrypted DNS 相关的实际选项,不要猜测隐藏字段。

  2. 确认基础网络

    先确认 Safari 能访问当前网络允许访问的网页。公共 Wi-Fi 若要求网页登录或接受条款,应先完成认证,再进行 DNS 测试。

  3. 保留配置副本

    在 Config 中确认正在使用的配置,并按自己平时的配置管理方式保留副本。订阅配置可能在更新后覆盖本地修改;不要把临时改动误认为已写入远端订阅。

  4. 准备逐项测试

    选定一个平时可访问的域名和一个自己需要使用的直连域名。每次只修改一个 DNS 项,保存后用相同网络和目标重新测试,避免同时切换服务器、规则与 DNS。

Settings → DNS 中具体显示什么?不同版本和配置可能呈现 DNS 地址、加密 DNS 类型、开关或其他字段,名称及布局以当前应用为准。若看到明确的 DoH、DNS over HTTPS 或 HTTPS 选项,再按该项要求填写;如果只看到普通 DNS 地址,不要把 HTTPS URL 当成普通 IP 地址填入。

如何填写 DoH 地址并保存

DoH 地址应该填 IP 还是 URL?如果当前字段明确要求 DoH 服务地址,应填写服务提供方公布的完整 HTTPS endpoint,而不是只填域名或 DNS 端口。以下地址仅用于说明 URL 的写法;使用前请自行核对服务方当前公布的 endpoint、隐私政策和可用性,不代表任何服务的推荐。

DoH 地址示例

Cloudflare 示例
https://cloudflare-dns.com/dns-query
Google 示例
https://dns.google/dns-query
填写前核对
确认服务方公布的完整 HTTPS endpoint

示例用于辨认 URL 格式,不表示服务可用性或隐私选择适合所有人。

逐项检查

字段类型
必须是 DoH / HTTPS 地址字段
URL 结构
保留 https://、主机名与路径
保存后
确认页面显示新值,再重新发起请求

不要把示例 URL 填入普通 DNS IP 地址栏,也不要自行删掉路径。

实际操作时,进入 Settings → DNS,找到明确标注 DoH、DNS over HTTPS 或同义含义的选项,按页面要求启用加密 DNS 并填写完整 endpoint。若页面另有普通 DNS 地址、备用 DNS 或其他解析模式,先不要顺手更改;这些项目可能承担不同作用,具体行为需结合应用当前界面和配置理解。

保存后返回 DNS 页面,检查地址是否仍完整显示,尤其是 https:// 和末尾路径。不要将 URL 前后加引号、空格或自定义端口,也不要把网站首页地址当作 DNS endpoint。若应用提示格式无效,先对照服务方公布的地址和字段类型,而不是关闭证书检查来绕过提示。

怎样验证 DoH 是否生效

页面能打开就能证明 DoH 生效了吗?不能。网页可打开只能说明某次请求成功,无法单独证明 DNS 查询使用了哪种传输。验证时应同时看应用设置状态、DNS 查询结果和网络表现;公开的 DNS 检测页面可以提供线索,但检测网站的结果也受浏览器缓存、系统缓存和测试方法影响。

1 项
每轮只改一个 DNS 设置,便于定位影响
2 种
分别对照 Wi-Fi 与蜂窝网络的解析表现
3 步
核对设置、重新请求、比较解析结果

缓存要不要清?如果刚改完仍看到旧解析结果,可先重新发起新请求,并等待相关缓存过期;需要清理时,使用设备或应用提供的正常清理方式。不要通过连续切换多个 DNS 服务来“刷新”结果,否则无法判断是哪一项改变了行为。

结论:配置状态与解析结果要分开验证

Settings → DNS 显示正确,只能确认配置已保存;网站可访问,只能确认请求成功。两者都检查,并用同一网络、同一域名做修改前后的对照,才能更可靠地判断 DoH 是否按预期工作。

直连域名与 DNS 路由如何处理

域名规则指定 DIRECT 后,DNS 查询一定也会直连吗?不能仅凭规则末尾的 DIRECT 推断 DNS 请求采用了相同路径。规则通常处理目标连接策略,而 DNS 请求由 DNS 设置、当前配置和解析流程共同影响。不同配置下的处理细节可能不同,应以应用实际设置和请求结果为准。

先区分两类目标,再决定是否调整

需要直连的域名
  • 先确认域名规则是否匹配目标主机。
  • 检查规则的策略是否为预期的 DIRECT。
  • 用当前网络直接访问同一域名作对照。
需要代理的域名
  • 检查 Home → Global Routing 是否使用 Config。
  • 确认域名规则命中预期的代理策略。
  • 检查 DNS 服务 endpoint 在当前连接下是否可达。

先确认目标连接的策略,再单独验证 DNS 查询路径;不要把 DIRECT 规则当作 DNS 加密或 DNS 直连的开关。

直连域名解析异常时,应该把整个 DNS 换掉吗?先检查该域名的规则、当前网络是否能直接访问,以及是否存在缓存结果。若只有少数域名异常,记录域名、命中策略和网络类型,避免用全局 DNS 改动扩大影响。不要为了单个目标随意添加宽泛的 DOMAIN-KEYWORD 规则。

DoH endpoint 本身也需要能够连接。若其主机名无法解析,或者当前网络无法建立到 endpoint 的 HTTPS 连接,设备可能无法完成 DNS 查询。此时检查 endpoint 拼写、服务方状态和当前网络路径;若 endpoint 的连通性依赖某条代理规则,应结合自己配置中的实际规则核对,不要假定 DNS 请求必然先经过代理或必然直连。

网页打不开或解析异常时如何排查与恢复

开启 DoH 后所有网页都无法打开,先不要同时改服务器和规则。回到 Settings → DNS 检查 endpoint 的完整性与选项状态;再使用原先记录的 DNS 设置做一次对照。如果恢复原设置后网页恢复,说明新设置与故障存在关联,但仍需进一步核对 endpoint 可达性、网络差异和配置覆盖情况。

现象:DNS 地址格式无效

原因与解法:可能把 HTTPS URL 填进普通 DNS 地址栏,或漏掉协议头、路径;确认选择的是 DoH 字段,并按服务方公布的完整 endpoint 填写。

现象:启用后网页持续加载

原因与解法:DoH endpoint 可能暂时不可达,或当前网络阻止了相关 HTTPS 请求;先检查网络和 endpoint,再恢复记录的原设置进行对照。

现象:只有部分域名解析异常

原因与解法:可能与缓存、域名规则或目标网络有关;记录异常域名与当前 Global Routing 模式,逐项核对,不要先替换整份配置。

恢复配置的顺序是什么?先回到 Settings → DNS,把相关开关和地址恢复为改动前记录的值;保存后用同一网络和同一域名复测。若原设置由配置文件控制,应检查 Config 中当前文件及其 DNS 项,并留意订阅更新是否覆盖了本地改动。确认恢复后,再决定是否更换自己信任且可访问的 DoH 服务。

DoH 开了,为什么检测结果没变化?

先确认检测请求没有命中缓存,再检查 Settings → DNS 中的开关和 endpoint。检测结果受测试方式影响,不能只凭一项结果判定设置失效。

可以把 DoH URL 填到普通 DNS 栏吗?

不可以。普通 DNS 地址字段与 DoH endpoint 字段用途不同;只有界面明确要求 HTTPS 或 DoH 地址时,才填写完整 URL。

改完后能不能直接删掉原 DNS 记录?

先不要。保留原值直到新设置通过 Wi-Fi、蜂窝网络和常用域名的对照测试;若出现异常,按记录恢复,避免失去可用的回退方案。

排查期间一次只改变一项,记录修改前后的设置、网络类型和测试域名。DoH 是 DNS 传输方式的配置,不是连接服务,也不能替代有效的代理参数或正确的规则;如果恢复原 DNS 后仍无法访问,应回到基础网络、服务器连接和 Global Routing 分层排查。

App Store 正版核验开发者与应用 ID