Compare commits

...

5 Commits

Author SHA1 Message Date
2dust
304232d029 up 1.8.34 2024-07-22 11:34:44 +08:00
2dust
f80c3bfe07 up 1.8.33 2024-07-20 15:05:45 +08:00
2dust
bb0a62fc8b up 1.8.32 2024-07-18 10:45:05 +08:00
2dust
5bfdca6cd9 Bug fix 2024-07-18 10:15:58 +08:00
2dust
447e712a9d up 1.8.31 2024-07-16 14:05:34 +08:00
3 changed files with 14 additions and 6 deletions

View File

@@ -11,8 +11,8 @@ android {
applicationId = "com.v2ray.ang" applicationId = "com.v2ray.ang"
minSdk = 21 minSdk = 21
targetSdk = 34 targetSdk = 34
versionCode = 574 versionCode = 578
versionName = "1.8.30" versionName = "1.8.34"
multiDexEnabled = true multiDexEnabled = true
splits.abi { splits.abi {
reset() reset()

View File

@@ -236,7 +236,13 @@ object Utils {
*/ */
fun isValidUrl(value: String?): Boolean { fun isValidUrl(value: String?): Boolean {
try { 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 return true
} }
} catch (e: Exception) { } catch (e: Exception) {

View File

@@ -52,9 +52,11 @@ object V2rayConfigUtil {
} }
val outbound = config.getProxyOutbound() ?: return Result(false, "") val outbound = config.getProxyOutbound() ?: return Result(false, "")
val address = outbound.getServerAddress() ?: return Result(false, "") val address = outbound.getServerAddress() ?: return Result(false, "")
if (!Utils.isIpAddress(address) && !Utils.isValidUrl(address)) { if (!Utils.isIpAddress(address)) {
Log.d(ANG_PACKAGE, "$address is an invalid ip or domain") if (!Utils.isValidUrl(address)) {
return Result(false, "") Log.d(ANG_PACKAGE, "$address is an invalid ip or domain")
return Result(false, "")
}
} }
val result = getV2rayNonCustomConfig(context, outbound, config.remarks) val result = getV2rayNonCustomConfig(context, outbound, config.remarks)