From 591f8e5a5c44c0d8997b036299b72bd74280cc2b Mon Sep 17 00:00:00 2001 From: ChsBuffer <33744752+chsbuffer@users.noreply.github.com> Date: Wed, 21 Oct 2020 21:33:18 +0800 Subject: [PATCH] feat: V2Ray TLS AllowInsecure Setting --- Netch/Servers/VLESS/VLESSForm/VLESSForm.cs | 17 ++++++++++++++--- Netch/Servers/VMess/Form/VMessForm.cs | 19 +++++++++++++++---- Netch/Servers/VMess/Utils/V2rayConfigUtils.cs | 4 ++-- Netch/Servers/VMess/VMess.cs | 2 +- Netch/Servers/VMess/VMessUtil.cs | 2 +- 5 files changed, 33 insertions(+), 11 deletions(-) diff --git a/Netch/Servers/VLESS/VLESSForm/VLESSForm.cs b/Netch/Servers/VLESS/VLESSForm/VLESSForm.cs index 375003e6..2febb86f 100644 --- a/Netch/Servers/VLESS/VLESSForm/VLESSForm.cs +++ b/Netch/Servers/VLESS/VLESSForm/VLESSForm.cs @@ -1,3 +1,4 @@ +using System.Collections.Generic; using Netch.Forms; namespace Netch.Servers.VLESS.VLESSForm @@ -38,9 +39,19 @@ namespace Netch.Servers.VLESS.VLESSForm s => true, s => server.Path = s, server.Path); - CreateCheckBox("TLSSecure", "TLS Secure", - b => server.TLSSecure = b, - server.TLSSecure); + CreateComboBox("TLSSecure", "TLS Secure", + new List {"", "true", "false"}, + s => + { + server.TLSSecure = s switch + { + "" => null, + "true" => true, + "false" => false, + _ => null + }; + }, + server.TLSSecure?.ToString() ?? string.Empty); CreateCheckBox("UseMux", "Use Mux", b => server.UseMux = b, server.UseMux); diff --git a/Netch/Servers/VMess/Form/VMessForm.cs b/Netch/Servers/VMess/Form/VMessForm.cs index f2dbdaed..1b1012c7 100644 --- a/Netch/Servers/VMess/Form/VMessForm.cs +++ b/Netch/Servers/VMess/Form/VMessForm.cs @@ -1,4 +1,5 @@ -using Netch.Forms; +using System.Collections.Generic; +using Netch.Forms; namespace Netch.Servers.VMess.Form { @@ -47,12 +48,22 @@ namespace Netch.Servers.VMess.Form s => true, s => server.QUICSecret = s, server.QUICSecret); + CreateComboBox("TLSSecure", "TLS Secure", + new List {"", "true", "false"}, + s => + { + server.TLSSecure = s switch + { + "" => null, + "true" => true, + "false" => false, + _ => null + }; + }, + server.TLSSecure?.ToString() ?? string.Empty); CreateCheckBox("UseMux", "Use Mux", s => server.UseMux = s, server.UseMux); - CreateCheckBox("TLSSecure", "TLS Secure", - s => server.TLSSecure = s, - server.TLSSecure); } } } \ No newline at end of file diff --git a/Netch/Servers/VMess/Utils/V2rayConfigUtils.cs b/Netch/Servers/VMess/Utils/V2rayConfigUtils.cs index ad1bb215..c7082e24 100644 --- a/Netch/Servers/VMess/Utils/V2rayConfigUtils.cs +++ b/Netch/Servers/VMess/Utils/V2rayConfigUtils.cs @@ -238,7 +238,7 @@ namespace Netch.Servers.VMess.Utils { streamSettings.network = server.TransferProtocol; var host = server.Host; - if (server.TLSSecure) + if (server.TLSSecure ?? Global.Settings.V2RayConfig.AllowInsecure) { streamSettings.security = "tls"; @@ -318,7 +318,7 @@ namespace Netch.Servers.VMess.Utils type = server.FakeType } }; - if (server.TLSSecure) + if (server.TLSSecure ?? Global.Settings.V2RayConfig.AllowInsecure) { streamSettings.tlsSettings.serverName = server.Hostname; } diff --git a/Netch/Servers/VMess/VMess.cs b/Netch/Servers/VMess/VMess.cs index 4eeb4fd7..a76b89fc 100644 --- a/Netch/Servers/VMess/VMess.cs +++ b/Netch/Servers/VMess/VMess.cs @@ -64,7 +64,7 @@ namespace Netch.Servers.VMess /// /// TLS 底层传输安全 /// - public bool TLSSecure { get; set; } = false; + public bool? TLSSecure { get; set; } /// /// Mux 多路复用 diff --git a/Netch/Servers/VMess/VMessUtil.cs b/Netch/Servers/VMess/VMessUtil.cs index b36b9a00..e78f31ca 100644 --- a/Netch/Servers/VMess/VMessUtil.cs +++ b/Netch/Servers/VMess/VMessUtil.cs @@ -49,7 +49,7 @@ namespace Netch.Servers.VMess type = server.FakeType, host = server.Host, path = server.Path, - tls = server.TLSSecure ? "tls" : "" + tls = server.TLSSecure ?? Global.Settings.V2RayConfig.AllowInsecure ? "tls" : "" }); return "vmess://" + ShareLink.URLSafeBase64Encode(vmessJson); }