From a58cf2e251601707298baf2d3a947758dca9c854 Mon Sep 17 00:00:00 2001 From: arm64v8a <48624112+arm64v8a@users.noreply.github.com> Date: Wed, 26 Jul 2023 11:40:49 +0900 Subject: [PATCH] fix --- .../java/io/nekohasekai/sagernet/group/RawUpdater.kt | 11 +++++++---- .../io/nekohasekai/sagernet/plugin/PluginManager.kt | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/nekohasekai/sagernet/group/RawUpdater.kt b/app/src/main/java/io/nekohasekai/sagernet/group/RawUpdater.kt index 3cfbb48..c000182 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/group/RawUpdater.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/group/RawUpdater.kt @@ -328,7 +328,7 @@ object RawUpdater : GroupUpdater() { "tls" -> bean.security = if (opt.value.toString() == "true") "tls" else "" - "servername" -> bean.host = opt.value.toString() + "servername" -> bean.sni = opt.value.toString() "skip-cert-verify" -> bean.allowInsecure = opt.value.toString() == "true" @@ -409,9 +409,6 @@ object RawUpdater : GroupUpdater() { } } } - if (bean.isTLS() && bean.sni.isNullOrBlank() && !bean.host.isNullOrBlank()) { - bean.sni = bean.host - } proxies.add(bean) } @@ -578,8 +575,14 @@ object RawUpdater : GroupUpdater() { proxies.forEach { it.initializeDefaultValues() if (it is StandardV2RayBean) { + // 1. SNI + if (it.isTLS() && it.sni.isNullOrBlank() && !it.host.isNullOrBlank() && !it.host.isIpAddress()) { + it.sni = it.host + } + // 2. globalClientFingerprint if (!it.realityPubKey.isNullOrBlank() && it.utlsFingerprint.isNullOrBlank()) { it.utlsFingerprint = globalClientFingerprint + if (it.utlsFingerprint.isNullOrBlank()) it.utlsFingerprint = "chrome" } } } diff --git a/app/src/main/java/io/nekohasekai/sagernet/plugin/PluginManager.kt b/app/src/main/java/io/nekohasekai/sagernet/plugin/PluginManager.kt index ca8aa0d..e555d02 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/plugin/PluginManager.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/plugin/PluginManager.kt @@ -45,7 +45,7 @@ object PluginManager { // internal so if (info.applicationInfo == null) { try { - initNativeInternal(pluginId)!!.let { return InitResult(it, info) } + initNativeInternal(pluginId)?.let { return InitResult(it, info) } } catch (t: Throwable) { Logs.w("initNativeInternal failed", t) } @@ -53,7 +53,7 @@ object PluginManager { } try { - initNativeFaster(info)!!.let { return InitResult(it, info) } + initNativeFaster(info)?.let { return InitResult(it, info) } } catch (t: Throwable) { Logs.w("initNativeFaster failed", t) }