fix: Fix dns rules when there is no direct domain rule needed

This commit is contained in:
unknown 2024-07-10 11:00:22 +03:30
parent cae811c6df
commit aa8fa8fc28
No known key found for this signature in database
GPG Key ID: C2CA486E4F771093

View File

@ -570,6 +570,7 @@ namespace NekoGui {
}
// Direct dns domains
bool needDirectDnsRules = false;
QJsonArray directDnsDomains;
QJsonArray directDnsRuleSets;
QJsonArray directDnsSuffixes;
@ -579,6 +580,7 @@ namespace NekoGui {
// server addresses
for (const auto &item: status->domainListDNSDirect) {
directDnsDomains.append(item);
needDirectDnsRules = true;
}
auto sets = routeChain->get_direct_sites();
@ -598,15 +600,18 @@ namespace NekoGui {
if (item.startsWith("regex:")) {
directDnsRegexes << item.mid(6);
}
needDirectDnsRules = true;
}
if (needDirectDnsRules) {
dnsRules += QJsonObject{
{"rule_set", directDnsRuleSets},
{"domain", directDnsDomains},
{"domain_suffix", directDnsSuffixes},
{"domain_keyword", directDnsKeywords},
{"domain_regex", directDnsRegexes},
{"server", "dns-direct"},
};
}
dnsRules += QJsonObject{
{"rule_set", directDnsRuleSets},
{"domain", directDnsDomains},
{"domain_suffix", directDnsSuffixes},
{"domain_keyword", directDnsKeywords},
{"domain_regex", directDnsRegexes},
{"server", "dns-direct"},
};
// Underlying 100% Working DNS
dnsServers += QJsonObject{