diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt index 6fefd03d..fb68aab5 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt @@ -486,7 +486,7 @@ object AngConfigManager { allowInsecure: Boolean ): Boolean { return runCatching { - val uri = URI(uriString) + val uri = URI(Utils.fixIllegalUrl(uriString)) check(uri.scheme == "vmess") val (_, protocol, tlsStr, uuid, alterId) = Regex("(tcp|http|ws|kcp|quic|grpc)(\\+tls)?:([0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12})") diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/MmkvManager.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/MmkvManager.kt index f00ab0e8..fcade87f 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/MmkvManager.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/MmkvManager.kt @@ -6,6 +6,7 @@ import com.v2ray.ang.dto.AssetUrlItem import com.v2ray.ang.dto.ServerAffiliationInfo import com.v2ray.ang.dto.ServerConfig import com.v2ray.ang.dto.SubscriptionItem +import java.net.URI object MmkvManager { const val ID_MAIN = "MAIN" @@ -121,8 +122,9 @@ object MmkvManager { return 0 } } + val uri = URI(Utils.fixIllegalUrl(url)) val subItem = SubscriptionItem() - subItem.remarks = "import sub" + subItem.remarks = Utils.urlDecode(uri.fragment ?: "import sub") subItem.url = url subStorage?.encode(Utils.getUuid(), Gson().toJson(subItem)) return 1