diff --git a/app/src/main/java/io/nekohasekai/sagernet/fmt/ConfigBuilder.kt b/app/src/main/java/io/nekohasekai/sagernet/fmt/ConfigBuilder.kt index 02ffe5d..1c457f9 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/fmt/ConfigBuilder.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/fmt/ConfigBuilder.kt @@ -680,14 +680,6 @@ fun buildConfig( address = "rcode://success" tag = "dns-block" }) - if (domainListDNSDirectForce.isNotEmpty()) { - dns.rules.add( - DNSRule_DefaultOptions().apply { - makeSingBoxRule(domainListDNSDirectForce.toHashSet().toList()) - server = "dns-direct" - } - ) - } // dns object user rules if (enableDnsRouting) { @@ -778,13 +770,20 @@ fun buildConfig( dns.rules.add(0, DNSRule_DefaultOptions().apply { auth_user = listOf("fakedns") server = "dns-remote" - disable_cache = true }) dns.rules.add(DNSRule_DefaultOptions().apply { inbound = listOf("tun-in") server = "dns-fake" }) } + + // force bypass + if (domainListDNSDirectForce.isNotEmpty()) { + dns.rules.add(0, DNSRule_DefaultOptions().apply { + makeSingBoxRule(domainListDNSDirectForce.toHashSet().toList()) + server = "dns-direct" + }) + } }.let { ConfigBuildResult( gson.toJson(it.asMap().apply { diff --git a/app/src/main/java/io/nekohasekai/sagernet/fmt/v2ray/V2RayFmt.kt b/app/src/main/java/io/nekohasekai/sagernet/fmt/v2ray/V2RayFmt.kt index 9a26828..dd17ab6 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/fmt/v2ray/V2RayFmt.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/fmt/v2ray/V2RayFmt.kt @@ -149,6 +149,7 @@ fun StandardV2RayBean.parseDuckSoft(url: HttpUrl) { when (security) { "tls", "reality" -> { + security = "tls" url.queryParameter("sni")?.let { sni = it }