File tree Expand file tree Collapse file tree
app/src/main/java/io/nekohasekai/sagernet Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ import io.nekohasekai.sagernet.fmt.v2ray.parseV2Ray
1717import moe.matsuri.nb4a.proxy.anytls.parseAnytls
1818import moe.matsuri.nb4a.utils.JavaUtil.gson
1919import moe.matsuri.nb4a.utils.Util
20+ import okhttp3.HttpUrl
2021import org.json.JSONArray
2122import org.json.JSONException
2223import org.json.JSONObject
@@ -137,6 +138,14 @@ suspend fun parseProxies(text: String): List<AbstractBean> {
137138 entities.add(parseHttp(this ))
138139 }.onFailure {
139140 Logs .w(it)
141+ val clashUrl = HttpUrl .Builder ()
142+ .scheme(" https" )
143+ .host(" install-config" )
144+ .addQueryParameter(" url" , this )
145+ .build()
146+ .toString()
147+ .replaceFirst(" https://" , " clash://" )
148+ throw (SubscriptionFoundException (clashUrl))
140149 }
141150 } else if (startsWith(" vmess://" )) {
142151 Logs .d(" Try parse v2ray link: $this " )
Original file line number Diff line number Diff line change @@ -4,7 +4,6 @@ import android.Manifest
44import android.content.Intent
55import android.content.pm.ShortcutManager
66import android.graphics.ImageDecoder
7- import android.net.Uri
87import android.os.Build
98import android.os.Bundle
109import android.provider.MediaStore
@@ -13,6 +12,7 @@ import android.view.MenuItem
1312import android.widget.Toast
1413import androidx.activity.result.contract.ActivityResultContracts
1514import androidx.core.content.getSystemService
15+ import androidx.core.net.toUri
1616import com.google.zxing.Result
1717import com.king.zxing.CameraScan
1818import com.king.zxing.DefaultCameraScan
@@ -138,7 +138,7 @@ class ScannerActivity : ThemedActivity(),
138138 } catch (e: SubscriptionFoundException ) {
139139 startActivity(Intent (this @ScannerActivity, MainActivity ::class .java).apply {
140140 action = Intent .ACTION_VIEW
141- data = Uri .parse( e.link)
141+ data = e.link.toUri( )
142142 })
143143 } catch (e: Throwable ) {
144144 Logs .w(e)
You can’t perform that action at this time.
0 commit comments