diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/Utils.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/Utils.kt index b2b0135c..9ebc42b5 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/Utils.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/Utils.kt @@ -236,7 +236,13 @@ object Utils { */ fun isValidUrl(value: String?): Boolean { try { - if (value != null && Patterns.WEB_URL.matcher(value).matches() || URLUtil.isValidUrl(value)) { + if (value.isNullOrEmpty()) { + return false + } + if (Patterns.WEB_URL.matcher(value).matches() + || Patterns.DOMAIN_NAME.matcher(value).matches() + || URLUtil.isValidUrl(value) + ) { return true } } catch (e: Exception) { diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/V2rayConfigUtil.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/V2rayConfigUtil.kt index 2644be2c..1ca09c3c 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/V2rayConfigUtil.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/V2rayConfigUtil.kt @@ -52,9 +52,11 @@ object V2rayConfigUtil { } val outbound = config.getProxyOutbound() ?: return Result(false, "") val address = outbound.getServerAddress() ?: return Result(false, "") - if (!Utils.isIpAddress(address) && !Utils.isValidUrl(address)) { - Log.d(ANG_PACKAGE, "$address is an invalid ip or domain") - return Result(false, "") + if (!Utils.isIpAddress(address)) { + if (!Utils.isValidUrl(address)) { + Log.d(ANG_PACKAGE, "$address is an invalid ip or domain") + return Result(false, "") + } } val result = getV2rayNonCustomConfig(context, outbound, config.remarks)