From 08c73964044f239e24bd06a432fc71fdab65b78e Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Mon, 15 Jan 2024 17:11:00 +0800 Subject: [PATCH] Add mtu setting 4 Wireguard --- v2rayN/v2rayN/Common/Utils.cs | 4 ++-- v2rayN/v2rayN/Global.cs | 2 +- v2rayN/v2rayN/Handler/ConfigHandler.cs | 4 ++++ v2rayN/v2rayN/Handler/CoreConfigSingbox.cs | 2 +- v2rayN/v2rayN/Views/AddServerWindow.xaml | 25 +++++++++++++++++---- v2rayN/v2rayN/Views/AddServerWindow.xaml.cs | 1 + 6 files changed, 30 insertions(+), 8 deletions(-) diff --git a/v2rayN/v2rayN/Common/Utils.cs b/v2rayN/v2rayN/Common/Utils.cs index c74ade7d..daa66c8b 100644 --- a/v2rayN/v2rayN/Common/Utils.cs +++ b/v2rayN/v2rayN/Common/Utils.cs @@ -200,11 +200,11 @@ namespace v2rayN /// /// /// - public static int ToInt(object obj) + public static int ToInt(object? obj) { try { - return Convert.ToInt32(obj); + return Convert.ToInt32(obj ?? string.Empty); } catch //(Exception ex) { diff --git a/v2rayN/v2rayN/Global.cs b/v2rayN/v2rayN/Global.cs index 70f6a3af..7328cf50 100644 --- a/v2rayN/v2rayN/Global.cs +++ b/v2rayN/v2rayN/Global.cs @@ -176,7 +176,7 @@ namespace v2rayN public static readonly List LogLevels = new() { "debug", "info", "warning", "error", "none" }; public static readonly List InboundTags = new() { "socks", "http", "socks2", "http2" }; public static readonly List RuleProtocols = new() { "http", "tls", "bittorrent" }; - public static readonly List TunMtus = new() { "9000", "1500" }; + public static readonly List TunMtus = new() { "1280", "1408", "1500", "9000" }; public static readonly List TunStacks = new() { "gvisor", "system" }; public static readonly List PresetMsgFilters = new() { "proxy", "direct", "block", "" }; public static readonly List SingboxMuxs = new() { "h2mux", "smux", "yamux", "" }; diff --git a/v2rayN/v2rayN/Handler/ConfigHandler.cs b/v2rayN/v2rayN/Handler/ConfigHandler.cs index 8185d0e5..d0177f28 100644 --- a/v2rayN/v2rayN/Handler/ConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/ConfigHandler.cs @@ -785,6 +785,10 @@ namespace v2rayN.Handler profileItem.path = profileItem.path.TrimEx(); profileItem.requestHost = profileItem.requestHost.TrimEx(); profileItem.network = string.Empty; + if (profileItem.shortId.IsNullOrEmpty()) + { + profileItem.shortId = Global.TunMtus.FirstOrDefault(); + } if (profileItem.id.IsNullOrEmpty()) { diff --git a/v2rayN/v2rayN/Handler/CoreConfigSingbox.cs b/v2rayN/v2rayN/Handler/CoreConfigSingbox.cs index efe86502..4e05a140 100644 --- a/v2rayN/v2rayN/Handler/CoreConfigSingbox.cs +++ b/v2rayN/v2rayN/Handler/CoreConfigSingbox.cs @@ -306,7 +306,7 @@ namespace v2rayN.Handler outbound.peer_public_key = node.publicKey; outbound.reserved = Utils.String2List(node.path).Select(int.Parse).ToArray(); outbound.local_address = [.. Utils.String2List(node.requestHost)]; - + outbound.mtu = Utils.ToInt(node.shortId.IsNullOrEmpty() ? Global.TunMtus.FirstOrDefault() : node.shortId); GenOutboundMux(node, outbound); } diff --git a/v2rayN/v2rayN/Views/AddServerWindow.xaml b/v2rayN/v2rayN/Views/AddServerWindow.xaml index c6be3abc..be1d03cf 100644 --- a/v2rayN/v2rayN/Views/AddServerWindow.xaml +++ b/v2rayN/v2rayN/Views/AddServerWindow.xaml @@ -1,12 +1,12 @@  + @@ -586,6 +587,22 @@ Width="400" Margin="{StaticResource ServerItemMargin}" Style="{StaticResource DefTextBox}" /> + + + vm.SelectedSource.publicKey, v => v.txtPublicKey9.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.SelectedSource.path, v => v.txtPath9.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.SelectedSource.requestHost, v => v.txtRequestHost9.Text).DisposeWith(disposables); + this.Bind(ViewModel, vm => vm.SelectedSource.shortId, v => v.txtShortId9.Text).DisposeWith(disposables); break; } this.Bind(ViewModel, vm => vm.SelectedSource.network, v => v.cmbNetwork.Text).DisposeWith(disposables);