From 57a2f0bebfeb23f1ba060d09f89f219014e9f23b Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Fri, 3 Feb 2023 10:11:40 +0800 Subject: [PATCH] share link to add fingerprint --- .../src/main/kotlin/com/v2ray/ang/dto/VmessQRCode.kt | 3 ++- .../main/kotlin/com/v2ray/ang/util/AngConfigManager.kt | 10 +++++++--- V2rayNG/app/src/main/res/values/arrays.xml | 7 ++++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/dto/VmessQRCode.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/dto/VmessQRCode.kt index 48f3a341..54b7dd74 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/dto/VmessQRCode.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/dto/VmessQRCode.kt @@ -13,4 +13,5 @@ data class VmessQRCode(var v: String = "", var path: String = "", var tls: String = "", var sni: String = "", - var alpn: String = "") \ No newline at end of file + var alpn: String = "", + var fp: String = "") \ No newline at end of file diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt index 5a58a8c4..c4a3c4a5 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt @@ -186,8 +186,6 @@ object AngConfigManager { config = ServerConfig.create(EConfigType.VMESS) val streamSetting = config.outboundBean?.streamSettings ?: return -1 - var fingerprint = streamSetting.tlsSettings?.fingerprint - if (!tryParseNewVmess(str, config, allowInsecure)) { if (str.indexOf("?") > 0) { @@ -221,7 +219,7 @@ object AngConfigManager { val sni = streamSetting.populateTransportSettings(vmessQRCode.net, vmessQRCode.type, vmessQRCode.host, vmessQRCode.path, vmessQRCode.path, vmessQRCode.host, vmessQRCode.path, vmessQRCode.type, vmessQRCode.path) - + val fingerprint = vmessQRCode.fp ?: streamSetting.tlsSettings?.fingerprint streamSetting.populateTlsSettings(vmessQRCode.tls, allowInsecure, if (TextUtils.isEmpty(vmessQRCode.sni)) sni else vmessQRCode.sni, fingerprint, vmessQRCode.alpn) } @@ -306,6 +304,7 @@ object AngConfigManager { val sni = config.outboundBean?.streamSettings?.populateTransportSettings(queryParam["type"] ?: "tcp", queryParam["headerType"], queryParam["host"], queryParam["path"], queryParam["seed"], queryParam["quicSecurity"], queryParam["key"], queryParam["mode"], queryParam["serviceName"]) + fingerprint = queryParam["fp"] ?: "" config.outboundBean?.streamSettings?.populateTlsSettings(queryParam["security"] ?: TLS, allowInsecure, queryParam["sni"] ?: sni!!, fingerprint, queryParam["alpn"]) flow = queryParam["flow"] ?: "" } else { @@ -339,6 +338,7 @@ object AngConfigManager { val sni = streamSetting.populateTransportSettings(queryParam["type"] ?: "tcp", queryParam["headerType"], queryParam["host"], queryParam["path"], queryParam["seed"], queryParam["quicSecurity"], queryParam["key"], queryParam["mode"], queryParam["serviceName"]) + fingerprint = queryParam["fp"] ?: "" streamSetting.populateTlsSettings(queryParam["security"] ?: "", allowInsecure, queryParam["sni"] ?: sni, fingerprint, queryParam["alpn"]) } if (config == null){ @@ -478,6 +478,7 @@ object AngConfigManager { vmessQRCode.tls = streamSetting.security vmessQRCode.sni = streamSetting.tlsSettings?.serverName.orEmpty() vmessQRCode.alpn = Utils.removeWhiteSpace(streamSetting.tlsSettings?.alpn?.joinToString()).orEmpty() + vmessQRCode.fp = streamSetting.tlsSettings?.fingerprint.orEmpty() outbound.getTransportSettingDetails()?.let { transportDetails -> vmessQRCode.type = transportDetails[0] vmessQRCode.host = transportDetails[1] @@ -535,6 +536,9 @@ object AngConfigManager { if (!tlsSetting.alpn.isNullOrEmpty() && tlsSetting.alpn.isNotEmpty()) { dicQuery["alpn"] = Utils.removeWhiteSpace(tlsSetting.alpn.joinToString()).orEmpty() } + if (!TextUtils.isEmpty(tlsSetting.fingerprint)) { + dicQuery["fp"] = tlsSetting.fingerprint!! + } } dicQuery["type"] = streamSetting.network.ifEmpty { V2rayConfig.DEFAULT_NETWORK } diff --git a/V2rayNG/app/src/main/res/values/arrays.xml b/V2rayNG/app/src/main/res/values/arrays.xml index 0fdb316f..5cc55810 100644 --- a/V2rayNG/app/src/main/res/values/arrays.xml +++ b/V2rayNG/app/src/main/res/values/arrays.xml @@ -64,7 +64,12 @@ chrome firefox - safari + ios + android + edge + 360 + qq + random randomized