chore: enable ipv6 by default

This commit is contained in:
wonfen 2025-04-12 23:16:31 +08:00
parent 6e6462742c
commit 18d24d5952
5 changed files with 29 additions and 5 deletions

View File

@ -48,6 +48,7 @@ impl IClashTemp {
map.insert("port".into(), 7899.into()); map.insert("port".into(), 7899.into());
map.insert("log-level".into(), "info".into()); map.insert("log-level".into(), "info".into());
map.insert("allow-lan".into(), false.into()); map.insert("allow-lan".into(), false.into());
map.insert("ipv6".into(), true.into());
map.insert("mode".into(), "rule".into()); map.insert("mode".into(), "rule".into());
map.insert("external-controller".into(), "127.0.0.1:9097".into()); map.insert("external-controller".into(), "127.0.0.1:9097".into());
let mut cors_map = Mapping::new(); let mut cors_map = Mapping::new();

View File

@ -180,6 +180,8 @@ fn init_dns_config() -> Result<()> {
Value::String("system".into()), 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()),
Value::String("2400:3200::1".into()),
Value::String("2001:4860:4860::8888".into()),
]), ]),
), ),
( (

View File

@ -45,6 +45,7 @@ const DEFAULT_DNS_CONFIG = {
"respect-rules": false, "respect-rules": false,
"use-hosts": false, "use-hosts": false,
"use-system-hosts": false, "use-system-hosts": false,
ipv6: true,
"fake-ip-filter": [ "fake-ip-filter": [
"*.lan", "*.lan",
"*.local", "*.local",
@ -57,7 +58,7 @@ const DEFAULT_DNS_CONFIG = {
"*.msftncsi.com", "*.msftncsi.com",
"www.msftconnecttest.com", "www.msftconnecttest.com",
], ],
"default-nameserver": ["system", "223.6.6.6", "8.8.8.8"], "default-nameserver": ["system", "223.6.6.6", "8.8.8.8", "2400:3200::1", "2001:4860:4860::8888"],
nameserver: [ nameserver: [
"8.8.8.8", "8.8.8.8",
"https://doh.pub/dns-query", "https://doh.pub/dns-query",
@ -97,6 +98,7 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
respectRules: boolean; respectRules: boolean;
useHosts: boolean; useHosts: boolean;
useSystemHosts: boolean; useSystemHosts: boolean;
ipv6: boolean;
fakeIpFilter: string; fakeIpFilter: string;
nameserver: string; nameserver: string;
fallback: string; fallback: string;
@ -119,6 +121,7 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
respectRules: DEFAULT_DNS_CONFIG["respect-rules"], respectRules: DEFAULT_DNS_CONFIG["respect-rules"],
useHosts: DEFAULT_DNS_CONFIG["use-hosts"], useHosts: DEFAULT_DNS_CONFIG["use-hosts"],
useSystemHosts: DEFAULT_DNS_CONFIG["use-system-hosts"], useSystemHosts: DEFAULT_DNS_CONFIG["use-system-hosts"],
ipv6: DEFAULT_DNS_CONFIG.ipv6,
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(", "),
@ -206,9 +209,10 @@ 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"], useHosts: config["use-hosts"] ?? DEFAULT_DNS_CONFIG["use-hosts"],
useSystemHosts: useSystemHosts:
config["use-system-hosts"] ?? DEFAULT_DNS_CONFIG["use-system-hosts"], config["use-system-hosts"] ?? DEFAULT_DNS_CONFIG["use-system-hosts"],
ipv6: config.ipv6 ?? DEFAULT_DNS_CONFIG.ipv6,
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(", "),
@ -258,6 +262,7 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
respectRules: DEFAULT_DNS_CONFIG["respect-rules"], respectRules: DEFAULT_DNS_CONFIG["respect-rules"],
useHosts: DEFAULT_DNS_CONFIG["use-hosts"], useHosts: DEFAULT_DNS_CONFIG["use-hosts"],
useSystemHosts: DEFAULT_DNS_CONFIG["use-system-hosts"], useSystemHosts: DEFAULT_DNS_CONFIG["use-system-hosts"],
ipv6: DEFAULT_DNS_CONFIG.ipv6,
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(", "),
@ -331,6 +336,7 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
useSystemHosts: useSystemHosts:
dnsConfig["use-system-hosts"] ?? dnsConfig["use-system-hosts"] ??
DEFAULT_DNS_CONFIG["use-system-hosts"], DEFAULT_DNS_CONFIG["use-system-hosts"],
ipv6: dnsConfig.ipv6 ?? DEFAULT_DNS_CONFIG.ipv6,
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(", "),
@ -457,6 +463,7 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
"respect-rules": values.respectRules, "respect-rules": values.respectRules,
"use-hosts": values.useHosts, "use-hosts": values.useHosts,
"use-system-hosts": values.useSystemHosts, "use-system-hosts": values.useSystemHosts,
ipv6: values.ipv6,
"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),
@ -679,6 +686,18 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
</FormControl> </FormControl>
</Item> </Item>
<Item>
<ListItemText
primary={t("IPv6")}
secondary={t("Enable IPv6 DNS resolution")}
/>
<Switch
edge="end"
checked={values.ipv6}
onChange={handleChange("ipv6")}
/>
</Item>
<Item> <Item>
<ListItemText <ListItemText
primary={t("Prefer H3")} primary={t("Prefer H3")}
@ -752,7 +771,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="system,223.6.6.6, 8.8.8.8" placeholder="system,223.6.6.6, 8.8.8.8, 2400:3200::1, 2001:4860:4860::8888"
/> />
</Item> </Item>

View File

@ -500,6 +500,7 @@
"Enhanced Mode": "Enhanced Mode", "Enhanced Mode": "Enhanced Mode",
"Fake IP Range": "Fake IP Range", "Fake IP Range": "Fake IP Range",
"Fake IP Filter Mode": "Fake IP Filter Mode", "Fake IP Filter Mode": "Fake IP Filter Mode",
"Enable IPv6 DNS resolution": "Enable IPv6 DNS resolution",
"Prefer H3": "Prefer H3", "Prefer H3": "Prefer H3",
"DNS DOH使用HTTP/3": "DNS DOH uses HTTP/3", "DNS DOH使用HTTP/3": "DNS DOH uses HTTP/3",
"Respect Rules": "Respect Rules", "Respect Rules": "Respect Rules",

View File

@ -500,6 +500,7 @@
"Enhanced Mode": "增强模式", "Enhanced Mode": "增强模式",
"Fake IP Range": "Fake IP 范围", "Fake IP Range": "Fake IP 范围",
"Fake IP Filter Mode": "Fake IP 过滤模式", "Fake IP Filter Mode": "Fake IP 过滤模式",
"Enable IPv6 DNS resolution": "启用 IPv6 DNS 解析",
"Prefer H3": "优先使用 HTTP/3", "Prefer H3": "优先使用 HTTP/3",
"DNS DOH使用HTTP/3": "DNS DOH 使用 HTTP/3 协议", "DNS DOH使用HTTP/3": "DNS DOH 使用 HTTP/3 协议",
"Respect Rules": "遵循路由规则", "Respect Rules": "遵循路由规则",