From 0ffa4d0bdd115e151472c9155dbd42c30ff43769 Mon Sep 17 00:00:00 2001 From: Restia-Ashbell <107416976+Restia-Ashbell@users.noreply.github.com> Date: Sun, 13 Apr 2025 19:51:29 +0800 Subject: [PATCH] fix: resolve some configuration parsing issues --- .../sagernet/fmt/v2ray/StandardV2RayBean.java | 2 +- .../io/nekohasekai/sagernet/fmt/v2ray/V2RayFmt.kt | 15 ++++----------- .../io/nekohasekai/sagernet/group/RawUpdater.kt | 3 +-- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/io/nekohasekai/sagernet/fmt/v2ray/StandardV2RayBean.java b/app/src/main/java/io/nekohasekai/sagernet/fmt/v2ray/StandardV2RayBean.java index 0e76e72..61a2a73 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/fmt/v2ray/StandardV2RayBean.java +++ b/app/src/main/java/io/nekohasekai/sagernet/fmt/v2ray/StandardV2RayBean.java @@ -81,7 +81,7 @@ public abstract class StandardV2RayBean extends AbstractBean { if (JavaUtil.isNullOrBlank(path)) path = ""; if (JavaUtil.isNullOrBlank(security)) { - if (this instanceof TrojanBean || isVLESS()) { + if (this instanceof TrojanBean) { security = "tls"; } else { security = "none"; 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 79f80bc..93684a5 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 @@ -153,7 +153,7 @@ fun StandardV2RayBean.parseDuckSoft(url: HttpUrl) { } type = url.queryParameter("type") ?: "tcp" - if (type == "h2") type = "http" + if (type == "h2" || url.queryParameter("headerType") == "http") type = "http" security = url.queryParameter("security") if (security.isNullOrBlank()) { @@ -163,6 +163,9 @@ fun StandardV2RayBean.parseDuckSoft(url: HttpUrl) { when (security) { "tls", "reality" -> { security = "tls" + url.queryParameter("allowInsecure")?.let { + allowInsecure = it == "1" || it == "true" + } url.queryParameter("sni")?.let { sni = it } @@ -185,16 +188,6 @@ fun StandardV2RayBean.parseDuckSoft(url: HttpUrl) { } when (type) { - "tcp" -> { - // v2rayNG - if (url.queryParameter("headerType") == "http") { - url.queryParameter("host")?.let { - type = "http" - host = it - } - } - } - "http" -> { url.queryParameter("host")?.let { host = it 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 c8a6143..943674b 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/group/RawUpdater.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/group/RawUpdater.kt @@ -251,7 +251,7 @@ object RawUpdater : GroupUpdater() { setTLS(proxy["tls"]?.toString() == "true") sni = proxy["sni"]?.toString() name = proxy["name"]?.toString() - allowInsecure = proxy["name"]?.toString() == "true" + allowInsecure = proxy["skip-cert-verify"]?.toString() == "true" }) } @@ -296,7 +296,6 @@ object RawUpdater : GroupUpdater() { "vless" -> VMessBean().apply { alterId = -1 // make it VLESS packetEncoding = 2 // clash meta default XUDP - security = "tls" } "trojan" -> TrojanBean().apply {