From 3270d7e282b840ef0ed5639dc7452b626cd01405 Mon Sep 17 00:00:00 2001 From: arm64v8a <48624112+arm64v8a@users.noreply.github.com> Date: Wed, 29 Mar 2023 17:38:17 +0900 Subject: [PATCH] bug fix --- .../nekohasekai/sagernet/fmt/ConfigBuilder.kt | 17 ++++++++--------- .../nekohasekai/sagernet/fmt/v2ray/V2RayFmt.kt | 1 + 2 files changed, 9 insertions(+), 9 deletions(-) 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 }