mirror of
https://github.com/MatsuriDayo/NekoBoxForAndroid.git
synced 2025-12-19 06:30:05 +08:00
import subscription url
This commit is contained in:
parent
56fd9df2e9
commit
7da3bdd0ee
@ -17,6 +17,7 @@ import io.nekohasekai.sagernet.fmt.v2ray.parseV2Ray
|
|||||||
import moe.matsuri.nb4a.proxy.anytls.parseAnytls
|
import moe.matsuri.nb4a.proxy.anytls.parseAnytls
|
||||||
import moe.matsuri.nb4a.utils.JavaUtil.gson
|
import moe.matsuri.nb4a.utils.JavaUtil.gson
|
||||||
import moe.matsuri.nb4a.utils.Util
|
import moe.matsuri.nb4a.utils.Util
|
||||||
|
import okhttp3.HttpUrl
|
||||||
import org.json.JSONArray
|
import org.json.JSONArray
|
||||||
import org.json.JSONException
|
import org.json.JSONException
|
||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
@ -137,6 +138,14 @@ suspend fun parseProxies(text: String): List<AbstractBean> {
|
|||||||
entities.add(parseHttp(this))
|
entities.add(parseHttp(this))
|
||||||
}.onFailure {
|
}.onFailure {
|
||||||
Logs.w(it)
|
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://")) {
|
} else if (startsWith("vmess://")) {
|
||||||
Logs.d("Try parse v2ray link: $this")
|
Logs.d("Try parse v2ray link: $this")
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import android.Manifest
|
|||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.pm.ShortcutManager
|
import android.content.pm.ShortcutManager
|
||||||
import android.graphics.ImageDecoder
|
import android.graphics.ImageDecoder
|
||||||
import android.net.Uri
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.provider.MediaStore
|
import android.provider.MediaStore
|
||||||
@ -13,6 +12,7 @@ import android.view.MenuItem
|
|||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.core.content.getSystemService
|
import androidx.core.content.getSystemService
|
||||||
|
import androidx.core.net.toUri
|
||||||
import com.google.zxing.Result
|
import com.google.zxing.Result
|
||||||
import com.king.zxing.CameraScan
|
import com.king.zxing.CameraScan
|
||||||
import com.king.zxing.DefaultCameraScan
|
import com.king.zxing.DefaultCameraScan
|
||||||
@ -138,7 +138,7 @@ class ScannerActivity : ThemedActivity(),
|
|||||||
} catch (e: SubscriptionFoundException) {
|
} catch (e: SubscriptionFoundException) {
|
||||||
startActivity(Intent(this@ScannerActivity, MainActivity::class.java).apply {
|
startActivity(Intent(this@ScannerActivity, MainActivity::class.java).apply {
|
||||||
action = Intent.ACTION_VIEW
|
action = Intent.ACTION_VIEW
|
||||||
data = Uri.parse(e.link)
|
data = e.link.toUri()
|
||||||
})
|
})
|
||||||
} catch (e: Throwable) {
|
} catch (e: Throwable) {
|
||||||
Logs.w(e)
|
Logs.w(e)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user