跳转至

sing-box 1.14.0 中的更改

independent_cache
optimistic

sing-box 1.12.0 中的更改

servers

sing-box 1.11.0 中的更改

cache_capacity

DNS

结构

{
  "dns": {
    "servers": [],
    "rules": [],
    "final": "",
    "strategy": "",
    "disable_cache": false,
    "disable_expire": false,
    "independent_cache": false,
    "cache_capacity": 0,
    "optimistic": false, // or {}
    "reverse_mapping": false,
    "client_subnet": "",
    "fakeip": {}
  }
}

字段

格式
server 一组 DNS 服务器
rules 一组 DNS 规则

final

默认 DNS 服务器的标签。

默认使用第一个服务器。

strategy

默认解析域名策略。

可选值: prefer_ipv4 prefer_ipv6 ipv4_only ipv6_only

disable_cache

禁用 DNS 缓存。

optimistic 冲突。

disable_expire

禁用 DNS 缓存过期。

optimistic 冲突。

independent_cache

已在 sing-box 1.14.0 废弃

independent_cache 已在 sing-box 1.14.0 废弃,且将在 sing-box 1.16.0 中被移除,参阅迁移指南

使每个 DNS 服务器的缓存独立,以满足特殊目的。如果启用,将轻微降低性能。

cache_capacity

自 sing-box 1.11.0 起

LRU 缓存容量。

小于 1024 的值将被忽略。

optimistic

自 sing-box 1.14.0 起

启用乐观 DNS 缓存。当缓存的 DNS 条目已过期但仍在超时窗口内时, 立即返回过期的响应,同时在后台触发刷新。

disable_cachedisable_expire 冲突。

接受布尔值或对象。当设置为 true 时,使用默认超时 3d

{
  "enabled": true,
  "timeout": "3d"
}
enabled

启用乐观 DNS 缓存。

timeout

过期缓存条目可被乐观提供的最长时间。

默认使用 3d

reverse_mapping

在响应 DNS 查询后存储 IP 地址的反向映射以为路由目的提供域名。

由于此过程依赖于应用程序在发出请求之前解析域名的行为,因此在 macOS 等 DNS 由系统代理和缓存的环境中可能会出现问题。

client_subnet

自 sing-box 1.9.0 起

默认情况下,将带有指定 IP 前缀的 edns0-subnet OPT 附加记录附加到每个查询。

如果值是 IP 地址而不是前缀,则会自动附加 /32/128

可以被 servers.[].client_subnetrules.[].client_subnet 覆盖。

fakeip

FakeIP 设置。