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