mirror of https://github.com/2dust/v2rayN
commit
22641a1da0
|
@ -20,9 +20,9 @@ public class PacHandler
|
|||
|
||||
public static void Start(string configPath, int httpPort, int pacPort)
|
||||
{
|
||||
if (configPath.Equals(_configPath)
|
||||
&& httpPort.Equals(_httpPort)
|
||||
&& pacPort.Equals(_pacPort)
|
||||
if (configPath == _configPath
|
||||
&& httpPort == _httpPort
|
||||
&& pacPort == _pacPort
|
||||
&& _isRunning)
|
||||
{
|
||||
_needRestart = false;
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace v2rayN.Base
|
|||
}
|
||||
}
|
||||
|
||||
public static string TrimEx(this string value)
|
||||
public static string TrimEx(this string? value)
|
||||
{
|
||||
return value == null ? string.Empty : value.Trim();
|
||||
}
|
||||
|
|
|
@ -613,12 +613,12 @@ namespace v2rayN.Handler
|
|||
mtu = config.kcpItem.mtu,
|
||||
tti = config.kcpItem.tti
|
||||
};
|
||||
if (iobound.Equals("out"))
|
||||
if (iobound == "out")
|
||||
{
|
||||
kcpSettings.uplinkCapacity = config.kcpItem.uplinkCapacity;
|
||||
kcpSettings.downlinkCapacity = config.kcpItem.downlinkCapacity;
|
||||
}
|
||||
else if (iobound.Equals("in"))
|
||||
else if (iobound == "in")
|
||||
{
|
||||
kcpSettings.uplinkCapacity = config.kcpItem.downlinkCapacity; ;
|
||||
kcpSettings.downlinkCapacity = config.kcpItem.downlinkCapacity;
|
||||
|
@ -724,7 +724,7 @@ namespace v2rayN.Handler
|
|||
break;
|
||||
default:
|
||||
//tcp
|
||||
if (node.headerType.Equals(Global.TcpHeaderHttp))
|
||||
if (node.headerType == Global.TcpHeaderHttp)
|
||||
{
|
||||
TcpSettings tcpSettings = new()
|
||||
{
|
||||
|
@ -734,7 +734,7 @@ namespace v2rayN.Handler
|
|||
}
|
||||
};
|
||||
|
||||
if (iobound.Equals("out"))
|
||||
if (iobound == "out")
|
||||
{
|
||||
//request Host
|
||||
string request = Utils.GetEmbedText(Global.v2raySampleHttprequestFileName);
|
||||
|
@ -753,7 +753,7 @@ namespace v2rayN.Handler
|
|||
request = request.Replace("$requestPath$", $"\"{pathHttp}\"");
|
||||
tcpSettings.header.request = Utils.FromJson<object>(request);
|
||||
}
|
||||
else if (iobound.Equals("in"))
|
||||
else if (iobound == "in")
|
||||
{
|
||||
//string response = Utils.GetEmbedText(Global.v2raySampleHttpresponseFileName);
|
||||
//tcpSettings.header.response = Utils.FromJson<object>(response);
|
||||
|
@ -1184,7 +1184,7 @@ namespace v2rayN.Handler
|
|||
&& outbound.streamSettings.tcpSettings.header != null
|
||||
&& !Utils.IsNullOrEmpty(outbound.streamSettings.tcpSettings.header.type))
|
||||
{
|
||||
if (outbound.streamSettings.tcpSettings.header.type.Equals(Global.TcpHeaderHttp))
|
||||
if (outbound.streamSettings.tcpSettings.header.type == Global.TcpHeaderHttp)
|
||||
{
|
||||
profileItem.headerType = outbound.streamSettings.tcpSettings.header.type;
|
||||
string request = Convert.ToString(outbound.streamSettings.tcpSettings.header.request);
|
||||
|
@ -1322,7 +1322,7 @@ namespace v2rayN.Handler
|
|||
&& inbound.streamSettings.tcpSettings.header != null
|
||||
&& !Utils.IsNullOrEmpty(inbound.streamSettings.tcpSettings.header.type))
|
||||
{
|
||||
if (inbound.streamSettings.tcpSettings.header.type.Equals(Global.TcpHeaderHttp))
|
||||
if (inbound.streamSettings.tcpSettings.header.type == Global.TcpHeaderHttp)
|
||||
{
|
||||
profileItem.headerType = inbound.streamSettings.tcpSettings.header.type;
|
||||
string request = Convert.ToString(inbound.streamSettings.tcpSettings.header.request);
|
||||
|
|
|
@ -45,7 +45,7 @@ namespace v2rayN.Base
|
|||
{
|
||||
var socksPort = LazyConfig.Instance.GetLocalPort(Global.InboundSocks);
|
||||
|
||||
if (socksPort.Equals(_socksPort)
|
||||
if (socksPort == _socksPort
|
||||
&& _process != null
|
||||
&& !_process.HasExited)
|
||||
{
|
||||
|
|
|
@ -489,7 +489,7 @@ namespace v2rayN
|
|||
{
|
||||
return true;
|
||||
}
|
||||
if (text.Equals("null"))
|
||||
if (text == "null")
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -636,7 +636,7 @@ namespace v2rayN
|
|||
|
||||
string value = RegReadValue(Global.AutoRunRegPath, Global.AutoRunName, "");
|
||||
string exePath = GetExePath();
|
||||
if (value?.Equals(exePath) == true || value?.Equals($"\"{exePath}\"") == true)
|
||||
if (value == exePath || value == $"\"{exePath}\"")
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -788,7 +788,7 @@ namespace v2rayN.ViewModels
|
|||
|
||||
var item = new ComboItem() { ID = it.indexId, Text = name };
|
||||
_servers.Add(item);
|
||||
if (_config.indexId.Equals(it.indexId))
|
||||
if (_config.indexId == it.indexId)
|
||||
{
|
||||
SelectedServer = item;
|
||||
}
|
||||
|
@ -1456,7 +1456,7 @@ namespace v2rayN.ViewModels
|
|||
foreach (var item in routings)
|
||||
{
|
||||
_routingItems.Add(item);
|
||||
if (item.id.Equals(_config.routingBasicItem.routingIndexId))
|
||||
if (item.id == _config.routingBasicItem.routingIndexId)
|
||||
{
|
||||
SelectedRouting = item;
|
||||
}
|
||||
|
|
|
@ -163,7 +163,7 @@ namespace v2rayN.ViewModels
|
|||
foreach (var item in routings)
|
||||
{
|
||||
bool def = false;
|
||||
if (item.id.Equals(_config.routingBasicItem.routingIndexId))
|
||||
if (item.id == _config.routingBasicItem.routingIndexId)
|
||||
{
|
||||
def = true;
|
||||
}
|
||||
|
|
|
@ -185,12 +185,12 @@ namespace v2rayN.Views
|
|||
return;
|
||||
}
|
||||
|
||||
if (network.Equals(Global.DefaultNetwork))
|
||||
if (network == Global.DefaultNetwork)
|
||||
{
|
||||
cmbHeaderType.Items.Add(Global.None);
|
||||
cmbHeaderType.Items.Add(Global.TcpHeaderHttp);
|
||||
}
|
||||
else if (network.Equals("kcp") || network.Equals("quic"))
|
||||
else if (network is "kcp" or "quic")
|
||||
{
|
||||
cmbHeaderType.Items.Add(Global.None);
|
||||
Global.kcpHeaderTypes.ForEach(it =>
|
||||
|
@ -198,7 +198,7 @@ namespace v2rayN.Views
|
|||
cmbHeaderType.Items.Add(it);
|
||||
});
|
||||
}
|
||||
else if (network.Equals("grpc"))
|
||||
else if (network == "grpc")
|
||||
{
|
||||
cmbHeaderType.Items.Add(Global.GrpcgunMode);
|
||||
cmbHeaderType.Items.Add(Global.GrpcmultiMode);
|
||||
|
@ -222,37 +222,34 @@ namespace v2rayN.Views
|
|||
tipPath.Text =
|
||||
tipHeaderType.Text = string.Empty;
|
||||
|
||||
if (network.Equals(Global.DefaultNetwork))
|
||||
switch (network)
|
||||
{
|
||||
tipRequestHost.Text = ResUI.TransportRequestHostTip1;
|
||||
tipHeaderType.Text = ResUI.TransportHeaderTypeTip1;
|
||||
}
|
||||
else if (network.Equals("kcp"))
|
||||
{
|
||||
tipHeaderType.Text = ResUI.TransportHeaderTypeTip2;
|
||||
tipPath.Text = ResUI.TransportPathTip5;
|
||||
}
|
||||
else if (network.Equals("ws"))
|
||||
{
|
||||
tipRequestHost.Text = ResUI.TransportRequestHostTip2;
|
||||
tipPath.Text = ResUI.TransportPathTip1;
|
||||
}
|
||||
else if (network.Equals("h2"))
|
||||
{
|
||||
tipRequestHost.Text = ResUI.TransportRequestHostTip3;
|
||||
tipPath.Text = ResUI.TransportPathTip2;
|
||||
}
|
||||
else if (network.Equals("quic"))
|
||||
{
|
||||
tipRequestHost.Text = ResUI.TransportRequestHostTip4;
|
||||
tipPath.Text = ResUI.TransportPathTip3;
|
||||
tipHeaderType.Text = ResUI.TransportHeaderTypeTip3;
|
||||
}
|
||||
else if (network.Equals("grpc"))
|
||||
{
|
||||
tipPath.Text = ResUI.TransportPathTip4;
|
||||
tipHeaderType.Text = ResUI.TransportHeaderTypeTip4;
|
||||
labHeaderType.Visibility = Visibility.Hidden;
|
||||
case Global.DefaultNetwork:
|
||||
tipRequestHost.Text = ResUI.TransportRequestHostTip1;
|
||||
tipHeaderType.Text = ResUI.TransportHeaderTypeTip1;
|
||||
break;
|
||||
case "kcp":
|
||||
tipHeaderType.Text = ResUI.TransportHeaderTypeTip2;
|
||||
tipPath.Text = ResUI.TransportPathTip5;
|
||||
break;
|
||||
case "ws":
|
||||
tipRequestHost.Text = ResUI.TransportRequestHostTip2;
|
||||
tipPath.Text = ResUI.TransportPathTip1;
|
||||
break;
|
||||
case "h2":
|
||||
tipRequestHost.Text = ResUI.TransportRequestHostTip3;
|
||||
tipPath.Text = ResUI.TransportPathTip2;
|
||||
break;
|
||||
case "quic":
|
||||
tipRequestHost.Text = ResUI.TransportRequestHostTip4;
|
||||
tipPath.Text = ResUI.TransportPathTip3;
|
||||
tipHeaderType.Text = ResUI.TransportHeaderTypeTip3;
|
||||
break;
|
||||
case "grpc":
|
||||
tipPath.Text = ResUI.TransportPathTip4;
|
||||
tipHeaderType.Text = ResUI.TransportHeaderTypeTip4;
|
||||
labHeaderType.Visibility = Visibility.Hidden;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -85,19 +85,19 @@ namespace v2rayN.Views
|
|||
|
||||
if (item.Control)
|
||||
{
|
||||
keys += $"{Forms.Keys.Control.ToString()} + ";
|
||||
keys += $"{Forms.Keys.Control} + ";
|
||||
}
|
||||
if (item.Alt)
|
||||
{
|
||||
keys += $"{Forms.Keys.Alt.ToString()} + ";
|
||||
keys += $"{Forms.Keys.Alt} + ";
|
||||
}
|
||||
if (item.Shift)
|
||||
{
|
||||
keys += $"{Forms.Keys.Shift.ToString()} + ";
|
||||
keys += $"{Forms.Keys.Shift} + ";
|
||||
}
|
||||
if (item.KeyCode != null)
|
||||
{
|
||||
keys += $"{item.KeyCode.ToString()}";
|
||||
keys += $"{item.KeyCode}";
|
||||
}
|
||||
|
||||
SetText($"txtGlobalHotkey{k}", keys);
|
||||
|
@ -148,11 +148,11 @@ namespace v2rayN.Views
|
|||
{
|
||||
foreach (UIElement element in gridText.Children)
|
||||
{
|
||||
if (element is TextBox)
|
||||
if (element is TextBox box)
|
||||
{
|
||||
if (((TextBox)element).Name == name)
|
||||
if (box.Name == name)
|
||||
{
|
||||
((TextBox)element).Text = txt;
|
||||
box.Text = txt;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -359,6 +359,7 @@
|
|||
Margin="4,0"
|
||||
materialDesign:HintAssist.Hint="{x:Static resx:ResUI.MsgServerTitle}"
|
||||
materialDesign:TextFieldAssist.HasClearButton="True"
|
||||
VerticalContentAlignment="Center"
|
||||
Style="{StaticResource DefTextBox}" />
|
||||
</WrapPanel>
|
||||
|
||||
|
|
|
@ -197,13 +197,13 @@ namespace v2rayN.Views
|
|||
{
|
||||
if (action == "AdjustMainLvColWidth")
|
||||
{
|
||||
Application.Current.Dispatcher.Invoke((Action)(() =>
|
||||
Application.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
foreach (var it in lstProfiles.Columns)
|
||||
{
|
||||
it.Width = new DataGridLength(1, DataGridLengthUnitType.Auto);
|
||||
}
|
||||
}));
|
||||
});
|
||||
}
|
||||
else if (action == "ProfilesFocus")
|
||||
{
|
||||
|
@ -355,7 +355,7 @@ namespace v2rayN.Views
|
|||
}
|
||||
else
|
||||
{
|
||||
if (e.Key == Key.Enter || e.Key == Key.Return)
|
||||
if (e.Key is Key.Enter or Key.Return)
|
||||
{
|
||||
ViewModel?.SetDefaultServer();
|
||||
}
|
||||
|
@ -471,9 +471,8 @@ namespace v2rayN.Views
|
|||
}
|
||||
private void MenuItem_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (sender is MenuItem)
|
||||
if (sender is MenuItem item)
|
||||
{
|
||||
MenuItem item = (MenuItem)sender;
|
||||
Utils.ProcessStart(item.Tag.ToString());
|
||||
}
|
||||
}
|
||||
|
@ -482,7 +481,7 @@ namespace v2rayN.Views
|
|||
#endregion
|
||||
#region Drag and Drop
|
||||
|
||||
private Point startPoint = new Point();
|
||||
private Point startPoint = new();
|
||||
private int startIndex = -1;
|
||||
private string formatData = "ProfileItemModel";
|
||||
|
||||
|
@ -523,8 +522,7 @@ namespace v2rayN.Views
|
|||
Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance))
|
||||
{
|
||||
// Get the dragged Item
|
||||
var listView = sender as DataGrid;
|
||||
if (listView == null) return;
|
||||
if (sender is not DataGrid listView) return;
|
||||
var listViewItem = FindAnchestor<DataGridRow>((DependencyObject)e.OriginalSource);
|
||||
if (listViewItem == null) return; // Abort
|
||||
// Find the data behind the ListViewItem
|
||||
|
@ -532,7 +530,7 @@ namespace v2rayN.Views
|
|||
if (item == null) return; // Abort
|
||||
// Initialize the drag & drop operation
|
||||
startIndex = lstProfiles.SelectedIndex;
|
||||
DataObject dragData = new DataObject(formatData, item);
|
||||
DataObject dragData = new(formatData, item);
|
||||
DragDrop.DoDragDrop(listViewItem, dragData, DragDropEffects.Copy | DragDropEffects.Move);
|
||||
}
|
||||
}
|
||||
|
@ -550,8 +548,7 @@ namespace v2rayN.Views
|
|||
if (e.Data.GetDataPresent(formatData) && sender == e.Source)
|
||||
{
|
||||
// Get the drop Item destination
|
||||
var listView = sender as DataGrid;
|
||||
if (listView == null) return;
|
||||
if (sender is not DataGrid listView) return;
|
||||
var listViewItem = FindAnchestor<DataGridRow>((DependencyObject)e.OriginalSource);
|
||||
if (listViewItem == null)
|
||||
{
|
||||
|
|
|
@ -11,6 +11,10 @@ namespace v2rayN.Views
|
|||
public partial class MsgView
|
||||
{
|
||||
private static Config _config;
|
||||
|
||||
private string lastMsgFilter;
|
||||
private bool lastMsgFilterNotAvailable;
|
||||
|
||||
public MsgView()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
@ -28,29 +32,39 @@ namespace v2rayN.Views
|
|||
|
||||
void DelegateAppendText(string msg)
|
||||
{
|
||||
Dispatcher.BeginInvoke(new Action<string>(AppendText), DispatcherPriority.Send, msg);
|
||||
Dispatcher.BeginInvoke(AppendText, DispatcherPriority.Send, msg);
|
||||
}
|
||||
|
||||
public void AppendText(string msg)
|
||||
{
|
||||
if (msg.Equals(Global.CommandClearMsg))
|
||||
if (msg == Global.CommandClearMsg)
|
||||
{
|
||||
ClearMsg();
|
||||
return;
|
||||
}
|
||||
if (!togAutoRefresh.IsChecked.Value)
|
||||
if (togAutoRefresh.IsChecked == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var MsgFilter = cmbMsgFilter.Text.TrimEx();
|
||||
if (!Utils.IsNullOrEmpty(MsgFilter))
|
||||
if (MsgFilter != lastMsgFilter) lastMsgFilterNotAvailable = false;
|
||||
if (!string.IsNullOrEmpty(MsgFilter) && !lastMsgFilterNotAvailable)
|
||||
{
|
||||
if (!Regex.IsMatch(msg, MsgFilter))
|
||||
try
|
||||
{
|
||||
return;
|
||||
if (!Regex.IsMatch(msg, MsgFilter)) // 如果不是正则表达式会异常
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
lastMsgFilterNotAvailable = true;
|
||||
}
|
||||
}
|
||||
|
||||
lastMsgFilter = MsgFilter;
|
||||
|
||||
ShowMsg(msg);
|
||||
}
|
||||
|
||||
|
|
|
@ -76,13 +76,12 @@ namespace v2rayN.Views
|
|||
//fill fonts
|
||||
try
|
||||
{
|
||||
var dir = new DirectoryInfo(Utils.GetFontsPath());
|
||||
var files = dir.GetFiles("*.ttf");
|
||||
var culture = _config.uiItem.currentLanguage.Equals(Global.Languages[0]) ? "zh-cn" : "en-us";
|
||||
var files = Directory.GetFiles(Utils.GetFontsPath(), "*.ttf");
|
||||
var culture = _config.uiItem.currentLanguage == Global.Languages[0] ? "zh-cn" : "en-us";
|
||||
var culture2 = "en-us";
|
||||
foreach (var it in files)
|
||||
foreach (var ttf in files)
|
||||
{
|
||||
var families = Fonts.GetFontFamilies(Utils.GetFontsPath(it.Name));
|
||||
var families = Fonts.GetFontFamilies(Utils.GetFontsPath(ttf));
|
||||
foreach (FontFamily family in families)
|
||||
{
|
||||
var typefaces = family.GetTypefaces();
|
||||
|
|
Loading…
Reference in New Issue