From 6e65f46e3f0e8eb5a2e99a7778a1f751100913e1 Mon Sep 17 00:00:00 2001 From: DHR60 <192860629+DHR60@users.noreply.github.com> Date: Wed, 17 Jun 2026 12:36:24 +0000 Subject: [PATCH] kcp (#5793) --- .../com/v2ray/ang/core/CoreOutboundBuilder.kt | 27 ++++++++++--------- .../java/com/v2ray/ang/dto/V2rayConfig.kt | 4 +-- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/core/CoreOutboundBuilder.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/core/CoreOutboundBuilder.kt index 4eaeb048..f0c1eb28 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/core/CoreOutboundBuilder.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/core/CoreOutboundBuilder.kt @@ -368,37 +368,40 @@ object CoreOutboundBuilder { profileItem.kcpMtu?.let { kcpSetting.mtu = it } profileItem.kcpTti?.let { kcpSetting.tti = it } streamSettings.kcpSettings = kcpSetting - val udpMaskList = mutableListOf() + val udpMaskList = + mutableListOf() if (!headerType.isNullOrEmpty() && headerType != "none") { val kcpHeaderType = when { - headerType == "wechat-video" -> "header-wechat" - else -> "header-$headerType" + headerType == "wechat-video" -> "wechat" + else -> headerType } udpMaskList.add( OutboundBean.StreamSettingsBean.FinalMaskBean.MaskBean( - type = kcpHeaderType, - settings = if (headerType == "dns" && !host.isNullOrEmpty()) { + type = "mkcp-legacy", + settings = OutboundBean.StreamSettingsBean.FinalMaskBean.MaskBean.MaskSettingsBean( - domain = host + header = kcpHeaderType, + value = if (headerType == "dns" && !host.isNullOrEmpty()) { + host + } else { + null + } ) - } else { - null - } ) ) } if (seed.isNullOrEmpty()) { udpMaskList.add( OutboundBean.StreamSettingsBean.FinalMaskBean.MaskBean( - type = "mkcp-original" + type = "mkcp-legacy" ) ) } else { udpMaskList.add( OutboundBean.StreamSettingsBean.FinalMaskBean.MaskBean( - type = "mkcp-aes128gcm", + type = "mkcp-legacy", settings = OutboundBean.StreamSettingsBean.FinalMaskBean.MaskBean.MaskSettingsBean( - password = seed + value = seed ) ) ) diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/dto/V2rayConfig.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/dto/V2rayConfig.kt index f1416e74..9cc803b5 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/dto/V2rayConfig.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/dto/V2rayConfig.kt @@ -256,7 +256,6 @@ data class V2rayConfig( var verifyPeerCertByName: String? = null, var pinnedPeerCertSha256: String? = null, // REALITY settings - val show: Boolean = false, var publicKey: String? = null, var shortId: String? = null, var spiderX: String? = null, @@ -296,7 +295,8 @@ data class V2rayConfig( ) { data class MaskSettingsBean( val password: String? = null, - val domain: String? = null, + val header: String? = null, + val value: String? = null, // fragment val packets: String? = null, val length: String? = null,