diff --git a/db/ConfigBuilder.cpp b/db/ConfigBuilder.cpp index 55a7c13..4a9f2b7 100644 --- a/db/ConfigBuilder.cpp +++ b/db/ConfigBuilder.cpp @@ -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{