|
|
|
|
@@ -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<DialogRef>((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<DialogRef>((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<DialogRef>((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<DialogRef>((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<DialogRef>((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<DialogRef>((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<DialogRef>((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<DialogRef>((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<DialogRef>((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<DialogRef>((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<DialogRef>((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"
|
|
|
|
|
/>
|
|
|
|
|
</Item>
|
|
|
|
|
|
|
|
|
|
|