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);