From ad56106c083011c6fa5084766c5433741712a8ab Mon Sep 17 00:00:00 2001 From: yuhan6665 <1588741+yuhan6665@users.noreply.github.com> Date: Sat, 13 Jun 2020 23:33:55 -0400 Subject: [PATCH] Remove legacy "connectionReuse" in config Also auto-refactor the data class naming to be proper camelcase --- .../kotlin/com/v2ray/ang/dto/V2rayConfig.kt | 31 ++++++++-------- .../com/v2ray/ang/util/V2rayConfigUtil.kt | 37 +++++++++---------- 2 files changed, 32 insertions(+), 36 deletions(-) diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/dto/V2rayConfig.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/dto/V2rayConfig.kt index ec1a87ec..f8ef577f 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/dto/V2rayConfig.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/dto/V2rayConfig.kt @@ -64,22 +64,21 @@ data class V2rayConfig( data class StreamSettingsBean(var network: String, var security: String, - var tcpSettings: TcpsettingsBean?, - var kcpsettings: KcpsettingsBean?, - var wssettings: WssettingsBean?, - var httpsettings: HttpsettingsBean?, - var tlssettings: TlssettingsBean?, - var quicsettings: QuicsettingBean? + var tcpSettings: TcpSettingsBean?, + var kcpSettings: KcpSettingsBean?, + var wsSettings: WsSettingsBean?, + var httpSettings: HttpSettingsBean?, + var tlsSettings: TlsSettingsBean?, + var quicSettings: QuicSettingBean? ) { - data class TcpsettingsBean(var connectionReuse: Boolean = true, - var header: HeaderBean = HeaderBean()) { + data class TcpSettingsBean(var header: HeaderBean = HeaderBean()) { data class HeaderBean(var type: String = "none", var request: Any? = null, var response: Any? = null) } - data class KcpsettingsBean(var mtu: Int = 1350, + data class KcpSettingsBean(var mtu: Int = 1350, var tti: Int = 20, var uplinkCapacity: Int = 12, var downlinkCapacity: Int = 100, @@ -90,20 +89,20 @@ data class V2rayConfig( data class HeaderBean(var type: String = "none") } - data class WssettingsBean(var connectionReuse: Boolean = true, - var path: String = "", + data class WsSettingsBean(var path: String = "", var headers: HeadersBean = HeadersBean()) { data class HeadersBean(var Host: String = "") } - data class HttpsettingsBean(var host: List = ArrayList(), var path: String = "") + data class HttpSettingsBean(var host: List = ArrayList(), + var path: String = "") - data class TlssettingsBean(var allowInsecure: Boolean = true, + data class TlsSettingsBean(var allowInsecure: Boolean = true, var serverName: String = "") - data class QuicsettingBean(var security: String = "none", - var key: String = "", - var header: HeaderBean = HeaderBean()) { + data class QuicSettingBean(var security: String = "none", + var key: String = "", + var header: HeaderBean = HeaderBean()) { data class HeaderBean(var type: String = "none") } } diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/V2rayConfigUtil.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/V2rayConfigUtil.kt index 559efc4a..d3c97cc4 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/V2rayConfigUtil.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/V2rayConfigUtil.kt @@ -9,7 +9,6 @@ import com.v2ray.ang.AngApplication import com.v2ray.ang.AppConfig import com.v2ray.ang.dto.AngConfig.VmessBean import com.v2ray.ang.dto.V2rayConfig -import com.v2ray.ang.extension.defaultDPreference import com.v2ray.ang.ui.SettingsActivity import org.json.JSONException import org.json.JSONObject @@ -246,7 +245,7 @@ object V2rayConfigUtil { //streamSettings when (streamSettings.network) { "kcp" -> { - val kcpsettings = V2rayConfig.OutboundBean.StreamSettingsBean.KcpsettingsBean() + val kcpsettings = V2rayConfig.OutboundBean.StreamSettingsBean.KcpSettingsBean() kcpsettings.mtu = 1350 kcpsettings.tti = 50 kcpsettings.uplinkCapacity = 12 @@ -254,34 +253,33 @@ object V2rayConfigUtil { kcpsettings.congestion = false kcpsettings.readBufferSize = 1 kcpsettings.writeBufferSize = 1 - kcpsettings.header = V2rayConfig.OutboundBean.StreamSettingsBean.KcpsettingsBean.HeaderBean() + kcpsettings.header = V2rayConfig.OutboundBean.StreamSettingsBean.KcpSettingsBean.HeaderBean() kcpsettings.header.type = vmess.headerType - streamSettings.kcpsettings = kcpsettings + streamSettings.kcpSettings = kcpsettings } "ws" -> { - val wssettings = V2rayConfig.OutboundBean.StreamSettingsBean.WssettingsBean() - wssettings.connectionReuse = true + val wssettings = V2rayConfig.OutboundBean.StreamSettingsBean.WsSettingsBean() val host = vmess.requestHost.trim() val path = vmess.path.trim() if (!TextUtils.isEmpty(host)) { - wssettings.headers = V2rayConfig.OutboundBean.StreamSettingsBean.WssettingsBean.HeadersBean() + wssettings.headers = V2rayConfig.OutboundBean.StreamSettingsBean.WsSettingsBean.HeadersBean() wssettings.headers.Host = host } if (!TextUtils.isEmpty(path)) { wssettings.path = path } - streamSettings.wssettings = wssettings + streamSettings.wsSettings = wssettings - val tlssettings = V2rayConfig.OutboundBean.StreamSettingsBean.TlssettingsBean() + val tlssettings = V2rayConfig.OutboundBean.StreamSettingsBean.TlsSettingsBean() tlssettings.allowInsecure = true if (!TextUtils.isEmpty(host)) { tlssettings.serverName = host } - streamSettings.tlssettings = tlssettings + streamSettings.tlsSettings = tlssettings } "h2" -> { - val httpsettings = V2rayConfig.OutboundBean.StreamSettingsBean.HttpsettingsBean() + val httpsettings = V2rayConfig.OutboundBean.StreamSettingsBean.HttpSettingsBean() val host = vmess.requestHost.trim() val path = vmess.path.trim() @@ -289,31 +287,30 @@ object V2rayConfigUtil { httpsettings.host = host.split(",").map { it.trim() } } httpsettings.path = path - streamSettings.httpsettings = httpsettings + streamSettings.httpSettings = httpsettings - val tlssettings = V2rayConfig.OutboundBean.StreamSettingsBean.TlssettingsBean() + val tlssettings = V2rayConfig.OutboundBean.StreamSettingsBean.TlsSettingsBean() tlssettings.allowInsecure = true - streamSettings.tlssettings = tlssettings + streamSettings.tlsSettings = tlssettings } "quic" -> { - val quicsettings = V2rayConfig.OutboundBean.StreamSettingsBean.QuicsettingBean() + val quicsettings = V2rayConfig.OutboundBean.StreamSettingsBean.QuicSettingBean() val host = vmess.requestHost.trim() val path = vmess.path.trim() quicsettings.security = host quicsettings.key = path - quicsettings.header = V2rayConfig.OutboundBean.StreamSettingsBean.QuicsettingBean.HeaderBean() + quicsettings.header = V2rayConfig.OutboundBean.StreamSettingsBean.QuicSettingBean.HeaderBean() quicsettings.header.type = vmess.headerType - streamSettings.quicsettings = quicsettings + streamSettings.quicSettings = quicsettings } else -> { //tcp带http伪装 if (vmess.headerType == "http") { - val tcpSettings = V2rayConfig.OutboundBean.StreamSettingsBean.TcpsettingsBean() - tcpSettings.connectionReuse = true - tcpSettings.header = V2rayConfig.OutboundBean.StreamSettingsBean.TcpsettingsBean.HeaderBean() + val tcpSettings = V2rayConfig.OutboundBean.StreamSettingsBean.TcpSettingsBean() + tcpSettings.header = V2rayConfig.OutboundBean.StreamSettingsBean.TcpSettingsBean.HeaderBean() tcpSettings.header.type = vmess.headerType // if (requestObj.has("headers")