Skip to content

[General] 通用设置 ​

本节提供全局配置。以下默认值来自 GeneralSection::default();消费者另有回退时单独注明。

语法 ​

ini
[General]
键 = 值

字段 ​

布尔字段接受 true、yes、1 和 false、no、0,字母不区分大小写。tun-ipv6 另外接受 auto。

字段取值与单位默认值行为与约束
log-leveltrace、debug、info、warn、error、offinfo日志级别
dns-serverDNS 上游的逗号列表,见下表空列表全局 DNS 上游;运行时构建会补充必要的系统 bootstrap
dns-reject-behaviorempty、zero、blackholeemptyTUN 接管的 DNS 命中前置 REJECT 规则后的响应方式,见下文
always-real-ip域名匹配列表空列表匹配域名绕过 Fake IP
tun-icmp-echo-forwarding布尔值true非 FakeIP 的 IPv4 ICMP Echo 转发到物理网络;关闭时由 TUN 协议栈本地响应
tun-included-routesIPv4/IPv6 CIDR 列表空列表显式包含的 TUN 路由
tun-excluded-routesIPv4/IPv6 CIDR 列表空列表显式排除的 TUN 路由
tun-ipv6auto 或布尔值auto根据系统 IPv6 可用性保留路由、强制保留、过滤 IPv6 included route;不生成额外路由
skip-proxy域名或 IP 列表空列表跳过代理的匹配项
mmdb-urlHTTP/HTTPS URLhttps://github.com/GravitationNetworks/GeoLite.mmdb/blob/download/GeoLite2-Country.mmdbGeoIP 数据库来源
proxy-test-urlHTTP/HTTPS URLhttp://captive.apple.com节点延迟测试 URL
internet-check-urlHTTP/HTTPS URLhttp://captive.apple.com网络连通性检查 URL
test-timeout无符号整数,秒未设置运行时健康检查缺省为 5 秒
hijack-dns字面 IP:端口列表;IPv6 使用 [IP]:端口空列表DNS 接管地址;不接受 *:53
proxy-modelmixed/0、only-tun/1、mixed-no-default/2、only-tun-no-default/3、only-tun-manual/4mixed代理入口与路由构建模式,见下表
force-http-hostname主机匹配列表空列表强制进入 HTTP 处理
skip-force-http-hostname主机匹配列表空列表跳过强制 HTTP 处理
ipv6布尔值true默认 DNS lookup 是否查询 AAAA;显式 family lookup 不受影响
external-controller字符串未设置配置模型保留值;当前 Core 构建不消费该字段
secret字符串未设置配置模型保留值;当前 Core 构建不消费该字段
interface-name接口名称字符串未设置配置模型保留值;当前 Core 构建不消费该全局字段
ip-preferencedual、ipv4-only、ipv6-only、prefer-ipv4、prefer-ipv6未设置配置模型保留值;节点使用 Proxy 的 ip-version

DNS 前置拒绝 ​

dns-reject-behavior 仅用于标记 pre-matching 且目标为内置 REJECT 的规则,规则范围见 Rule。 已有 FakeIP 的域名直接复用映射,不再执行前置匹配;尚未生成 FakeIP 时,域名匹配先于 always-real-ip、FakeIP 分配和上游转发,命中后不查询上游,也不生成普通 FakeIP 映射。 前置匹配仅位于 FakeDNS 查询入口,普通 Host 解析不执行该匹配。blackhole 命中后保存域名到预留黑洞 FakeIP 的内存映射,后续查询复用响应;empty、zero 不生成 FakeIP,后续查询重新匹配。

值DNS 响应
empty返回 NOERROR,Answer 为空
zeroA 返回 0.0.0.0,AAAA 返回 ::;其它记录类型返回空 Answer
blackholeA 返回 TUN FakeIP 段内固定预留的黑洞 IPv4;AAAA 和其它记录类型返回空 Answer

普通 FakeIP、zero 和 blackhole 响应的地址记录 TTL 统一为 1 秒。blackhole 与普通 FakeIP 共用 DNS 响应构建,AAAA 和其它记录类型返回空 Answer。空 Answer 不含地址记录,也没有地址记录 TTL。多问题请求中任一域名命中时,整个请求返回空 Answer。 黑洞地址不参与普通 FakeIP 分配、持久化映射恢复或循环复用,也不对应任何正常域名。 TUN 在协议栈入口静默丢弃发往该地址的报文:TCP 不回复 SYN-ACK、ACK 或 RST,UDP 不创建会话, 均不进入上层连接分发。客户端自行重试或超时。

非法 dns-reject-behavior 值在配置解析时返回错误。FakeIP 段必须在预留 TUN、DNS 和黑洞地址后仍有普通可分配地址,否则 TUN 初始化失败。

代理模式 ​

值行为
mixedTUN 与系统代理设置,使用默认路由策略
only-tunTUN 系统接管,不设置系统代理,使用默认路由策略
mixed-no-defaultTUN 与系统代理设置,不添加默认路由
only-tun-no-defaultTUN 系统接管,不设置系统代理,不添加默认路由
only-tun-manualTUN 系统接管,不设置系统代理,手动配置路由

内部模式 InternalNoConfig 不接受 INI 输入。

DNS 上游取值 ​

取值地址约束默认端口或传输
system系统当前 DNS系统提供
IP、IP:端口、udp://IP[:端口]字面 IPv4/IPv6UDP,53
tcp://IP[:端口]字面 IPv4/IPv6TCP,53
tls://主机[:端口]域名或 IPDoT,853
quic://主机[:端口]域名或 IPDoQ,853
https://主机/路径URLDoH,自动选择 HTTP/2 或 HTTP/3
h2://主机/路径URLDoH,HTTP/2
h3://主机/路径URLDoH,HTTP/3

Bootstrap 仅允许系统 DNS、UDP(IP) 和 TCP(IP)。配置只有加密 DNS 上游时,运行时补充系统 bootstrap。Host 的上游出站参数见 Host。

示例 ​

ini
[General]
log-level = info
dns-server = system, https://dns.example.com/dns-query
ipv6 = true
tun-ipv6 = auto
hijack-dns = 192.0.2.53:53