chore: update default DNS override configuration

This commit is contained in:
wonfen 2025-04-03 14:06:08 +08:00
parent ecf2da7c0a
commit e4eb13ce22
5 changed files with 31 additions and 36 deletions

View File

@ -35,6 +35,7 @@
- 优化首页流量图表代码,调整图表文字边距 - 优化首页流量图表代码,调整图表文字边距
- MacOS 托盘速率更好的显示样式和更新逻辑 - MacOS 托盘速率更好的显示样式和更新逻辑
- 首页仅在有流量图表时显示流量图表区域 - 首页仅在有流量图表时显示流量图表区域
- 更新DNS默认覆写配置
## v2.2.2 ## v2.2.2

View File

@ -177,6 +177,7 @@ fn init_dns_config() -> Result<()> {
( (
"default-nameserver".into(), "default-nameserver".into(),
Value::Sequence(vec![ Value::Sequence(vec![
Value::String("system".into()),
Value::String("223.6.6.6".into()), Value::String("223.6.6.6".into()),
Value::String("8.8.8.8".into()), Value::String("8.8.8.8".into()),
]), ]),
@ -189,14 +190,7 @@ fn init_dns_config() -> Result<()> {
Value::String("https://dns.alidns.com/dns-query".into()), Value::String("https://dns.alidns.com/dns-query".into()),
]), ]),
), ),
( ("fallback".into(), Value::Sequence(vec![])),
"fallback".into(),
Value::Sequence(vec![
Value::String("https://dns.alidns.com/dns-query".into()),
Value::String("https://dns.google/dns-query".into()),
Value::String("https://cloudflare-dns.com/dns-query".into()),
]),
),
( (
"nameserver-policy".into(), "nameserver-policy".into(),
Value::Mapping(serde_yaml::Mapping::new()), Value::Mapping(serde_yaml::Mapping::new()),
@ -206,6 +200,7 @@ fn init_dns_config() -> Result<()> {
Value::Sequence(vec![ Value::Sequence(vec![
Value::String("https://doh.pub/dns-query".into()), Value::String("https://doh.pub/dns-query".into()),
Value::String("https://dns.alidns.com/dns-query".into()), Value::String("https://dns.alidns.com/dns-query".into()),
Value::String("tls://223.5.5.5".into()),
]), ]),
), ),
("direct-nameserver".into(), Value::Sequence(vec![])), ("direct-nameserver".into(), Value::Sequence(vec![])),

View File

@ -57,21 +57,18 @@ const DEFAULT_DNS_CONFIG = {
"*.msftncsi.com", "*.msftncsi.com",
"www.msftconnecttest.com", "www.msftconnecttest.com",
], ],
"default-nameserver": ["223.6.6.6", "8.8.8.8"], "default-nameserver": ["system", "223.6.6.6", "8.8.8.8"],
nameserver: [ nameserver: [
"8.8.8.8", "8.8.8.8",
"https://doh.pub/dns-query", "https://doh.pub/dns-query",
"https://dns.alidns.com/dns-query", "https://dns.alidns.com/dns-query",
], ],
fallback: [ fallback: [],
"https://dns.alidns.com/dns-query",
"https://dns.google/dns-query",
"https://cloudflare-dns.com/dns-query",
],
"nameserver-policy": {}, "nameserver-policy": {},
"proxy-server-nameserver": [ "proxy-server-nameserver": [
"https://doh.pub/dns-query", "https://doh.pub/dns-query",
"https://dns.alidns.com/dns-query", "https://dns.alidns.com/dns-query",
"tls://223.5.5.5"
], ],
"direct-nameserver": [], "direct-nameserver": [],
"direct-nameserver-follow-policy": false, "direct-nameserver-follow-policy": false,
@ -98,12 +95,12 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
fakeIpFilterMode: "blacklist" | "whitelist"; fakeIpFilterMode: "blacklist" | "whitelist";
preferH3: boolean; preferH3: boolean;
respectRules: boolean; respectRules: boolean;
useHosts: boolean;
useSystemHosts: boolean;
fakeIpFilter: string; fakeIpFilter: string;
nameserver: string; nameserver: string;
fallback: string; fallback: string;
defaultNameserver: string; defaultNameserver: string;
useHosts: boolean;
useSystemHosts: boolean;
proxyServerNameserver: string; proxyServerNameserver: string;
directNameserver: string; directNameserver: string;
directNameserverFollowPolicy: boolean; directNameserverFollowPolicy: boolean;
@ -120,12 +117,12 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
fakeIpFilterMode: DEFAULT_DNS_CONFIG["fake-ip-filter-mode"], fakeIpFilterMode: DEFAULT_DNS_CONFIG["fake-ip-filter-mode"],
preferH3: DEFAULT_DNS_CONFIG["prefer-h3"], preferH3: DEFAULT_DNS_CONFIG["prefer-h3"],
respectRules: DEFAULT_DNS_CONFIG["respect-rules"], respectRules: DEFAULT_DNS_CONFIG["respect-rules"],
useHosts: DEFAULT_DNS_CONFIG["use-hosts"],
useSystemHosts: DEFAULT_DNS_CONFIG["use-system-hosts"],
fakeIpFilter: DEFAULT_DNS_CONFIG["fake-ip-filter"].join(", "), fakeIpFilter: DEFAULT_DNS_CONFIG["fake-ip-filter"].join(", "),
defaultNameserver: DEFAULT_DNS_CONFIG["default-nameserver"].join(", "), defaultNameserver: DEFAULT_DNS_CONFIG["default-nameserver"].join(", "),
nameserver: DEFAULT_DNS_CONFIG.nameserver.join(", "), nameserver: DEFAULT_DNS_CONFIG.nameserver.join(", "),
fallback: DEFAULT_DNS_CONFIG.fallback.join(", "), fallback: DEFAULT_DNS_CONFIG.fallback.join(", "),
useHosts: DEFAULT_DNS_CONFIG["use-hosts"],
useSystemHosts: DEFAULT_DNS_CONFIG["use-system-hosts"],
proxyServerNameserver: proxyServerNameserver:
DEFAULT_DNS_CONFIG["proxy-server-nameserver"]?.join(", ") || "", DEFAULT_DNS_CONFIG["proxy-server-nameserver"]?.join(", ") || "",
directNameserver: DEFAULT_DNS_CONFIG["direct-nameserver"]?.join(", ") || "", directNameserver: DEFAULT_DNS_CONFIG["direct-nameserver"]?.join(", ") || "",
@ -209,6 +206,9 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
preferH3: config["prefer-h3"] ?? DEFAULT_DNS_CONFIG["prefer-h3"], preferH3: config["prefer-h3"] ?? DEFAULT_DNS_CONFIG["prefer-h3"],
respectRules: respectRules:
config["respect-rules"] ?? DEFAULT_DNS_CONFIG["respect-rules"], config["respect-rules"] ?? DEFAULT_DNS_CONFIG["respect-rules"],
useHosts: config["use-hosts"] ?? DEFAULT_DNS_CONFIG["use-hosts"],
useSystemHosts:
config["use-system-hosts"] ?? DEFAULT_DNS_CONFIG["use-system-hosts"],
fakeIpFilter: fakeIpFilter:
config["fake-ip-filter"]?.join(", ") ?? config["fake-ip-filter"]?.join(", ") ??
DEFAULT_DNS_CONFIG["fake-ip-filter"].join(", "), DEFAULT_DNS_CONFIG["fake-ip-filter"].join(", "),
@ -220,9 +220,6 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
defaultNameserver: defaultNameserver:
config["default-nameserver"]?.join(", ") ?? config["default-nameserver"]?.join(", ") ??
DEFAULT_DNS_CONFIG["default-nameserver"].join(", "), DEFAULT_DNS_CONFIG["default-nameserver"].join(", "),
useHosts: config["use-hosts"] ?? DEFAULT_DNS_CONFIG["use-hosts"],
useSystemHosts:
config["use-system-hosts"] ?? DEFAULT_DNS_CONFIG["use-system-hosts"],
proxyServerNameserver: proxyServerNameserver:
config["proxy-server-nameserver"]?.join(", ") ?? config["proxy-server-nameserver"]?.join(", ") ??
(DEFAULT_DNS_CONFIG["proxy-server-nameserver"]?.join(", ") || ""), (DEFAULT_DNS_CONFIG["proxy-server-nameserver"]?.join(", ") || ""),
@ -259,12 +256,12 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
fakeIpFilterMode: DEFAULT_DNS_CONFIG["fake-ip-filter-mode"], fakeIpFilterMode: DEFAULT_DNS_CONFIG["fake-ip-filter-mode"],
preferH3: DEFAULT_DNS_CONFIG["prefer-h3"], preferH3: DEFAULT_DNS_CONFIG["prefer-h3"],
respectRules: DEFAULT_DNS_CONFIG["respect-rules"], respectRules: DEFAULT_DNS_CONFIG["respect-rules"],
useHosts: DEFAULT_DNS_CONFIG["use-hosts"],
useSystemHosts: DEFAULT_DNS_CONFIG["use-system-hosts"],
fakeIpFilter: DEFAULT_DNS_CONFIG["fake-ip-filter"].join(", "), fakeIpFilter: DEFAULT_DNS_CONFIG["fake-ip-filter"].join(", "),
defaultNameserver: DEFAULT_DNS_CONFIG["default-nameserver"].join(", "), defaultNameserver: DEFAULT_DNS_CONFIG["default-nameserver"].join(", "),
nameserver: DEFAULT_DNS_CONFIG.nameserver.join(", "), nameserver: DEFAULT_DNS_CONFIG.nameserver.join(", "),
fallback: DEFAULT_DNS_CONFIG.fallback.join(", "), fallback: DEFAULT_DNS_CONFIG.fallback.join(", "),
useHosts: DEFAULT_DNS_CONFIG["use-hosts"],
useSystemHosts: DEFAULT_DNS_CONFIG["use-system-hosts"],
proxyServerNameserver: proxyServerNameserver:
DEFAULT_DNS_CONFIG["proxy-server-nameserver"]?.join(", ") || "", DEFAULT_DNS_CONFIG["proxy-server-nameserver"]?.join(", ") || "",
directNameserver: directNameserver:
@ -330,6 +327,10 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
preferH3: dnsConfig["prefer-h3"] ?? DEFAULT_DNS_CONFIG["prefer-h3"], preferH3: dnsConfig["prefer-h3"] ?? DEFAULT_DNS_CONFIG["prefer-h3"],
respectRules: respectRules:
dnsConfig["respect-rules"] ?? DEFAULT_DNS_CONFIG["respect-rules"], dnsConfig["respect-rules"] ?? DEFAULT_DNS_CONFIG["respect-rules"],
useHosts: dnsConfig["use-hosts"] ?? DEFAULT_DNS_CONFIG["use-hosts"],
useSystemHosts:
dnsConfig["use-system-hosts"] ??
DEFAULT_DNS_CONFIG["use-system-hosts"],
fakeIpFilter: fakeIpFilter:
dnsConfig["fake-ip-filter"]?.join(", ") ?? dnsConfig["fake-ip-filter"]?.join(", ") ??
DEFAULT_DNS_CONFIG["fake-ip-filter"].join(", "), DEFAULT_DNS_CONFIG["fake-ip-filter"].join(", "),
@ -342,10 +343,6 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
fallback: fallback:
dnsConfig.fallback?.join(", ") ?? dnsConfig.fallback?.join(", ") ??
DEFAULT_DNS_CONFIG.fallback.join(", "), DEFAULT_DNS_CONFIG.fallback.join(", "),
useHosts: dnsConfig["use-hosts"] ?? DEFAULT_DNS_CONFIG["use-hosts"],
useSystemHosts:
dnsConfig["use-system-hosts"] ??
DEFAULT_DNS_CONFIG["use-system-hosts"],
proxyServerNameserver: proxyServerNameserver:
dnsConfig["proxy-server-nameserver"]?.join(", ") ?? dnsConfig["proxy-server-nameserver"]?.join(", ") ??
(DEFAULT_DNS_CONFIG["proxy-server-nameserver"]?.join(", ") || ""), (DEFAULT_DNS_CONFIG["proxy-server-nameserver"]?.join(", ") || ""),
@ -458,12 +455,12 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
"fake-ip-filter-mode": values.fakeIpFilterMode, "fake-ip-filter-mode": values.fakeIpFilterMode,
"prefer-h3": values.preferH3, "prefer-h3": values.preferH3,
"respect-rules": values.respectRules, "respect-rules": values.respectRules,
"use-hosts": values.useHosts,
"use-system-hosts": values.useSystemHosts,
"fake-ip-filter": parseList(values.fakeIpFilter), "fake-ip-filter": parseList(values.fakeIpFilter),
"default-nameserver": parseList(values.defaultNameserver), "default-nameserver": parseList(values.defaultNameserver),
nameserver: parseList(values.nameserver), nameserver: parseList(values.nameserver),
fallback: parseList(values.fallback), "direct-nameserver-follow-policy": values.directNameserverFollowPolicy,
"use-hosts": values.useHosts,
"use-system-hosts": values.useSystemHosts,
"fallback-filter": { "fallback-filter": {
geoip: values.fallbackGeoip, geoip: values.fallbackGeoip,
"geoip-code": values.fallbackGeoipCode, "geoip-code": values.fallbackGeoipCode,
@ -472,13 +469,16 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
}, },
}; };
// 只在有nameserverPolicy时添加 // 只在有值时添加其他可选字段
if (values.fallback) {
dnsConfig["fallback"] = parseList(values.fallback);
}
const policy = parseNameserverPolicy(values.nameserverPolicy); const policy = parseNameserverPolicy(values.nameserverPolicy);
if (Object.keys(policy).length > 0) { if (Object.keys(policy).length > 0) {
dnsConfig["nameserver-policy"] = policy; dnsConfig["nameserver-policy"] = policy;
} }
// 只在有值时添加其他可选字段
if (values.proxyServerNameserver) { if (values.proxyServerNameserver) {
dnsConfig["proxy-server-nameserver"] = parseList( dnsConfig["proxy-server-nameserver"] = parseList(
values.proxyServerNameserver, values.proxyServerNameserver,
@ -489,9 +489,6 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
dnsConfig["direct-nameserver"] = parseList(values.directNameserver); dnsConfig["direct-nameserver"] = parseList(values.directNameserver);
} }
dnsConfig["direct-nameserver-follow-policy"] =
values.directNameserverFollowPolicy;
return dnsConfig; return dnsConfig;
}; };
@ -755,7 +752,7 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
size="small" size="small"
value={values.defaultNameserver} value={values.defaultNameserver}
onChange={handleChange("defaultNameserver")} onChange={handleChange("defaultNameserver")}
placeholder="223.6.6.6, 8.8.8.8" placeholder="system,223.6.6.6, 8.8.8.8"
/> />
</Item> </Item>

View File

@ -492,6 +492,7 @@
"Validation Failed": "Validation Failed", "Validation Failed": "Validation Failed",
"Service Administrator Prompt": "Clash Verge requires administrator privileges to reinstall the system service", "Service Administrator Prompt": "Clash Verge requires administrator privileges to reinstall the system service",
"DNS Settings": "DNS Settings", "DNS Settings": "DNS Settings",
"DNS settings saved": "DNS settings saved",
"DNS Overwrite": "DNS Overwrite", "DNS Overwrite": "DNS Overwrite",
"DNS Settings Warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled", "DNS Settings Warning": "If you are not familiar with these settings, please do not modify them and keep DNS Overwrite enabled",
"Enable DNS": "Enable DNS", "Enable DNS": "Enable DNS",

View File

@ -492,6 +492,7 @@
"Validation Failed": "验证失败", "Validation Failed": "验证失败",
"Service Administrator Prompt": "Clash Verge 需要管理员权限安装系统服务", "Service Administrator Prompt": "Clash Verge 需要管理员权限安装系统服务",
"DNS Settings": "DNS 设置", "DNS Settings": "DNS 设置",
"DNS settings saved": "DNS 设置已保存",
"DNS Overwrite": "DNS 覆写", "DNS Overwrite": "DNS 覆写",
"DNS Settings Warning": "如果你不清楚这里的设置请不要修改,并保持 DNS 覆写开启", "DNS Settings Warning": "如果你不清楚这里的设置请不要修改,并保持 DNS 覆写开启",
"Enable DNS": "启用 DNS", "Enable DNS": "启用 DNS",