From e4eb13ce22146501f4f38d4308c5206efb2b088c Mon Sep 17 00:00:00 2001 From: wonfen Date: Thu, 3 Apr 2025 14:06:08 +0800 Subject: [PATCH] chore: update default DNS override configuration --- UPDATELOG.md | 1 + src-tauri/src/utils/init.rs | 11 ++--- src/components/setting/mods/dns-viewer.tsx | 53 ++++++++++------------ src/locales/en.json | 1 + src/locales/zh.json | 1 + 5 files changed, 31 insertions(+), 36 deletions(-) diff --git a/UPDATELOG.md b/UPDATELOG.md index a41740f9..5f8d0f3b 100644 --- a/UPDATELOG.md +++ b/UPDATELOG.md @@ -35,6 +35,7 @@ - 优化首页流量图表代码,调整图表文字边距 - MacOS 托盘速率更好的显示样式和更新逻辑 - 首页仅在有流量图表时显示流量图表区域 + - 更新DNS默认覆写配置 ## v2.2.2 diff --git a/src-tauri/src/utils/init.rs b/src-tauri/src/utils/init.rs index 06593572..95806f9e 100644 --- a/src-tauri/src/utils/init.rs +++ b/src-tauri/src/utils/init.rs @@ -177,6 +177,7 @@ fn init_dns_config() -> Result<()> { ( "default-nameserver".into(), Value::Sequence(vec![ + Value::String("system".into()), Value::String("223.6.6.6".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()), ]), ), - ( - "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()), - ]), - ), + ("fallback".into(), Value::Sequence(vec![])), ( "nameserver-policy".into(), Value::Mapping(serde_yaml::Mapping::new()), @@ -206,6 +200,7 @@ fn init_dns_config() -> Result<()> { Value::Sequence(vec![ Value::String("https://doh.pub/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![])), diff --git a/src/components/setting/mods/dns-viewer.tsx b/src/components/setting/mods/dns-viewer.tsx index e0e10b0c..0e192bfd 100644 --- a/src/components/setting/mods/dns-viewer.tsx +++ b/src/components/setting/mods/dns-viewer.tsx @@ -57,21 +57,18 @@ const DEFAULT_DNS_CONFIG = { "*.msftncsi.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: [ "8.8.8.8", "https://doh.pub/dns-query", "https://dns.alidns.com/dns-query", ], - fallback: [ - "https://dns.alidns.com/dns-query", - "https://dns.google/dns-query", - "https://cloudflare-dns.com/dns-query", - ], + fallback: [], "nameserver-policy": {}, "proxy-server-nameserver": [ "https://doh.pub/dns-query", "https://dns.alidns.com/dns-query", + "tls://223.5.5.5" ], "direct-nameserver": [], "direct-nameserver-follow-policy": false, @@ -98,12 +95,12 @@ export const DnsViewer = forwardRef((props, ref) => { fakeIpFilterMode: "blacklist" | "whitelist"; preferH3: boolean; respectRules: boolean; + useHosts: boolean; + useSystemHosts: boolean; fakeIpFilter: string; nameserver: string; fallback: string; defaultNameserver: string; - useHosts: boolean; - useSystemHosts: boolean; proxyServerNameserver: string; directNameserver: string; directNameserverFollowPolicy: boolean; @@ -120,12 +117,12 @@ export const DnsViewer = forwardRef((props, ref) => { fakeIpFilterMode: DEFAULT_DNS_CONFIG["fake-ip-filter-mode"], preferH3: DEFAULT_DNS_CONFIG["prefer-h3"], 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(", "), defaultNameserver: DEFAULT_DNS_CONFIG["default-nameserver"].join(", "), nameserver: DEFAULT_DNS_CONFIG.nameserver.join(", "), fallback: DEFAULT_DNS_CONFIG.fallback.join(", "), - useHosts: DEFAULT_DNS_CONFIG["use-hosts"], - useSystemHosts: DEFAULT_DNS_CONFIG["use-system-hosts"], proxyServerNameserver: DEFAULT_DNS_CONFIG["proxy-server-nameserver"]?.join(", ") || "", directNameserver: DEFAULT_DNS_CONFIG["direct-nameserver"]?.join(", ") || "", @@ -209,6 +206,9 @@ export const DnsViewer = forwardRef((props, ref) => { preferH3: config["prefer-h3"] ?? DEFAULT_DNS_CONFIG["prefer-h3"], respectRules: 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: config["fake-ip-filter"]?.join(", ") ?? DEFAULT_DNS_CONFIG["fake-ip-filter"].join(", "), @@ -220,9 +220,6 @@ export const DnsViewer = forwardRef((props, ref) => { defaultNameserver: 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: config["proxy-server-nameserver"]?.join(", ") ?? (DEFAULT_DNS_CONFIG["proxy-server-nameserver"]?.join(", ") || ""), @@ -259,12 +256,12 @@ export const DnsViewer = forwardRef((props, ref) => { fakeIpFilterMode: DEFAULT_DNS_CONFIG["fake-ip-filter-mode"], preferH3: DEFAULT_DNS_CONFIG["prefer-h3"], 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(", "), defaultNameserver: DEFAULT_DNS_CONFIG["default-nameserver"].join(", "), nameserver: DEFAULT_DNS_CONFIG.nameserver.join(", "), fallback: DEFAULT_DNS_CONFIG.fallback.join(", "), - useHosts: DEFAULT_DNS_CONFIG["use-hosts"], - useSystemHosts: DEFAULT_DNS_CONFIG["use-system-hosts"], proxyServerNameserver: DEFAULT_DNS_CONFIG["proxy-server-nameserver"]?.join(", ") || "", directNameserver: @@ -330,6 +327,10 @@ export const DnsViewer = forwardRef((props, ref) => { preferH3: dnsConfig["prefer-h3"] ?? DEFAULT_DNS_CONFIG["prefer-h3"], respectRules: 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: dnsConfig["fake-ip-filter"]?.join(", ") ?? DEFAULT_DNS_CONFIG["fake-ip-filter"].join(", "), @@ -342,10 +343,6 @@ export const DnsViewer = forwardRef((props, ref) => { fallback: dnsConfig.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: dnsConfig["proxy-server-nameserver"]?.join(", ") ?? (DEFAULT_DNS_CONFIG["proxy-server-nameserver"]?.join(", ") || ""), @@ -458,12 +455,12 @@ export const DnsViewer = forwardRef((props, ref) => { "fake-ip-filter-mode": values.fakeIpFilterMode, "prefer-h3": values.preferH3, "respect-rules": values.respectRules, + "use-hosts": values.useHosts, + "use-system-hosts": values.useSystemHosts, "fake-ip-filter": parseList(values.fakeIpFilter), "default-nameserver": parseList(values.defaultNameserver), nameserver: parseList(values.nameserver), - fallback: parseList(values.fallback), - "use-hosts": values.useHosts, - "use-system-hosts": values.useSystemHosts, + "direct-nameserver-follow-policy": values.directNameserverFollowPolicy, "fallback-filter": { geoip: values.fallbackGeoip, "geoip-code": values.fallbackGeoipCode, @@ -472,13 +469,16 @@ export const DnsViewer = forwardRef((props, ref) => { }, }; - // 只在有nameserverPolicy时添加 + // 只在有值时添加其他可选字段 + if (values.fallback) { + dnsConfig["fallback"] = parseList(values.fallback); + } + const policy = parseNameserverPolicy(values.nameserverPolicy); if (Object.keys(policy).length > 0) { dnsConfig["nameserver-policy"] = policy; } - // 只在有值时添加其他可选字段 if (values.proxyServerNameserver) { dnsConfig["proxy-server-nameserver"] = parseList( values.proxyServerNameserver, @@ -489,9 +489,6 @@ export const DnsViewer = forwardRef((props, ref) => { dnsConfig["direct-nameserver"] = parseList(values.directNameserver); } - dnsConfig["direct-nameserver-follow-policy"] = - values.directNameserverFollowPolicy; - return dnsConfig; }; @@ -755,7 +752,7 @@ export const DnsViewer = forwardRef((props, ref) => { size="small" value={values.defaultNameserver} onChange={handleChange("defaultNameserver")} - placeholder="223.6.6.6, 8.8.8.8" + placeholder="system,223.6.6.6, 8.8.8.8" /> diff --git a/src/locales/en.json b/src/locales/en.json index d03e60f2..56133040 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -492,6 +492,7 @@ "Validation Failed": "Validation Failed", "Service Administrator Prompt": "Clash Verge requires administrator privileges to reinstall the system service", "DNS Settings": "DNS Settings", + "DNS settings saved": "DNS settings saved", "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", "Enable DNS": "Enable DNS", diff --git a/src/locales/zh.json b/src/locales/zh.json index 3dfd432d..73f759b4 100644 --- a/src/locales/zh.json +++ b/src/locales/zh.json @@ -492,6 +492,7 @@ "Validation Failed": "验证失败", "Service Administrator Prompt": "Clash Verge 需要管理员权限安装系统服务", "DNS Settings": "DNS 设置", + "DNS settings saved": "DNS 设置已保存", "DNS Overwrite": "DNS 覆写", "DNS Settings Warning": "如果你不清楚这里的设置请不要修改,并保持 DNS 覆写开启", "Enable DNS": "启用 DNS",