import subscription url

This commit is contained in:
armv9 2025-09-02 20:24:46 +09:00
parent 56fd9df2e9
commit 7da3bdd0ee
2 changed files with 11 additions and 2 deletions

View File

@ -17,6 +17,7 @@ import io.nekohasekai.sagernet.fmt.v2ray.parseV2Ray
import moe.matsuri.nb4a.proxy.anytls.parseAnytls
import moe.matsuri.nb4a.utils.JavaUtil.gson
import moe.matsuri.nb4a.utils.Util
import okhttp3.HttpUrl
import org.json.JSONArray
import org.json.JSONException
import org.json.JSONObject
@ -137,6 +138,14 @@ suspend fun parseProxies(text: String): List<AbstractBean> {
entities.add(parseHttp(this))
}.onFailure {
Logs.w(it)
val clashUrl = HttpUrl.Builder()
.scheme("https")
.host("install-config")
.addQueryParameter("url", this)
.build()
.toString()
.replaceFirst("https://", "clash://")
throw (SubscriptionFoundException(clashUrl))
}
} else if (startsWith("vmess://")) {
Logs.d("Try parse v2ray link: $this")

View File

@ -4,7 +4,6 @@ import android.Manifest
import android.content.Intent
import android.content.pm.ShortcutManager
import android.graphics.ImageDecoder
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.provider.MediaStore
@ -13,6 +12,7 @@ import android.view.MenuItem
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.content.getSystemService
import androidx.core.net.toUri
import com.google.zxing.Result
import com.king.zxing.CameraScan
import com.king.zxing.DefaultCameraScan
@ -138,7 +138,7 @@ class ScannerActivity : ThemedActivity(),
} catch (e: SubscriptionFoundException) {
startActivity(Intent(this@ScannerActivity, MainActivity::class.java).apply {
action = Intent.ACTION_VIEW
data = Uri.parse(e.link)
data = e.link.toUri()
})
} catch (e: Throwable) {
Logs.w(e)