内容纲要

🗂 | 查看 Surge 专题可浏览更多内容


本地 DNS 映射

该功能和 /etc/hosts 文件基本一致。

[General]
# DNS 服务器设置
dns-server = 119.29.29.29,117.50.10.10,system

[Rule]
FINAL,DIRECT

[Host]
localhost = 127.0.0.1

本地 DNS 映射位于 [Host] 字段下,格式为:域名 = IP 地址

除了直接指定主机名所对应的 IP 地址,还支持本地值指定域名、对特定域名自定义特定的 DNS 服务器。

通配符

[Host]
*.example.com = 1.1.1.1

通配符支持 * 和 ?

本地值指定域名

[Host]
example.com = www.example.com

这相当于 CNAME 记录。

使用特定的 DNS 服务器

如域名 example.com 及其子域名指定使用 DNS 服务器 119.29.29.29 来解析:

[Host]
example.com = server:119.29.29.29
*.example.com = server:119.29.29.29

Surge 还支持配置部分域名回退到系统 DNS 解析:

[Host]
example.com = server:syslib

这可用于解决一些兼容性问题,比如一些 VPN 会利用 Split DNS 机制在系统中添加用于处理特定域名的 DNS 服务器,Surge 目前还不能支持这种复杂逻辑,可通过对 VPN 相关域名配置回退解决。

从 /etc/hosts 中读取 DNS 记录

[General]
read-etc-hosts = true

对使用代理的请求强制使用本地 DNS 映射结果

默认情况下,当使用代理策略时,DNS 解析永远在代理服务器进行。

开启该选项后,对于存在于本地 DNS 映射中的域名,Surge 将使用本地映射结果的 IP 地址进行代理请求,而不再使用原始域名。

仅对使用了 IP 地址的本地映射记录生效。

[General]
use-local-host-item-for-proxy = true