Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4458fd7541 | ||
|
|
f0b03f59ff | ||
|
|
d5b17b3cfb | ||
|
|
9664d1d77f | ||
|
|
d329646a52 | ||
|
|
8eafe72bb0 | ||
|
|
c38a0bde65 | ||
|
|
eef5d3cc16 | ||
|
|
59ada594a5 | ||
|
|
5ec1d18143 | ||
|
|
fd1e1bb6bf | ||
|
|
5d545d8a85 | ||
|
|
e38bc45527 |
@@ -5982,7 +5982,8 @@ var rules = [
|
||||
"zyzc9.com",
|
||||
"zzcartoon.com",
|
||||
"zzcloud.me",
|
||||
"zzux.com"
|
||||
"zzux.com",
|
||||
"chat.openai.com"
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Google.Protobuf" Version="3.23.2" />
|
||||
<PackageReference Include="Grpc.Net.Client" Version="2.53.0" />
|
||||
<PackageReference Include="Google.Protobuf" Version="3.23.3" />
|
||||
<PackageReference Include="Grpc.Net.Client" Version="2.54.0" />
|
||||
<PackageReference Include="Grpc.Tools" Version="2.54.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
|
||||
@@ -70,5 +70,15 @@ namespace v2rayN.Base
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
public static string UpperFirstChar(this string value)
|
||||
{
|
||||
if (string.IsNullOrEmpty(value))
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
return char.ToUpper(value[0]) + value.Substring(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -369,6 +369,10 @@ namespace v2rayN.Handler
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
if (profileItem.id.IsNullOrEmpty())
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
AddServerCommon(ref config, profileItem, toFile);
|
||||
|
||||
@@ -636,6 +640,10 @@ namespace v2rayN.Handler
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
if (profileItem.id.IsNullOrEmpty())
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
AddServerCommon(ref config, profileItem, toFile);
|
||||
|
||||
@@ -675,6 +683,10 @@ namespace v2rayN.Handler
|
||||
{
|
||||
profileItem.streamSecurity = Global.StreamSecurity;
|
||||
}
|
||||
if (profileItem.id.IsNullOrEmpty())
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
AddServerCommon(ref config, profileItem, toFile);
|
||||
|
||||
@@ -800,6 +812,10 @@ namespace v2rayN.Handler
|
||||
{
|
||||
profileItem.flow = Global.flows.First();
|
||||
}
|
||||
if (profileItem.id.IsNullOrEmpty())
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
AddServerCommon(ref config, profileItem, toFile);
|
||||
|
||||
|
||||
@@ -113,9 +113,9 @@ namespace v2rayN.Handler
|
||||
|
||||
var mdif = (KeyModifiers)_fsModifiers;
|
||||
var key = KeyInterop.KeyFromVirtualKey(_vkey);
|
||||
if ((mdif | KeyModifiers.Ctrl) == KeyModifiers.Ctrl) _hotkeyStr.Append($"{KeyModifiers.Ctrl}+");
|
||||
if ((mdif | KeyModifiers.Alt) == KeyModifiers.Alt) _hotkeyStr.Append($"{KeyModifiers.Alt}+");
|
||||
if ((mdif | KeyModifiers.Shift) == KeyModifiers.Shift) _hotkeyStr.Append($"{KeyModifiers.Shift}+");
|
||||
if ((mdif & KeyModifiers.Ctrl) == KeyModifiers.Ctrl) _hotkeyStr.Append($"{KeyModifiers.Ctrl}+");
|
||||
if ((mdif & KeyModifiers.Alt) == KeyModifiers.Alt) _hotkeyStr.Append($"{KeyModifiers.Alt}+");
|
||||
if ((mdif & KeyModifiers.Shift) == KeyModifiers.Shift) _hotkeyStr.Append($"{KeyModifiers.Shift}+");
|
||||
_hotkeyStr.Append(key.ToString());
|
||||
|
||||
foreach (var name in _hotkeyTriggerDic[hotkeycode])
|
||||
@@ -177,4 +177,4 @@ namespace v2rayN.Handler
|
||||
NoRepeat = 0x4000
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -629,7 +629,7 @@ namespace v2rayN.Handler
|
||||
server.security = details.Groups["method"].Value;
|
||||
server.id = details.Groups["password"].Value;
|
||||
server.address = details.Groups["hostname"].Value;
|
||||
server.port = int.Parse(details.Groups["port"].Value);
|
||||
server.port = Utils.ToInt(details.Groups["port"].Value);
|
||||
return server;
|
||||
}
|
||||
|
||||
|
||||
@@ -514,7 +514,7 @@ namespace v2rayN.Handler
|
||||
throw new ArgumentException("Type");
|
||||
}
|
||||
|
||||
if (curVersion >= version)
|
||||
if (curVersion >= version && version != new SemanticVersion(0, 0, 0))
|
||||
{
|
||||
AbsoluteCompleted?.Invoke(this, new ResultEventArgs(false, message));
|
||||
return;
|
||||
|
||||
@@ -160,7 +160,7 @@ namespace v2rayN.Mode
|
||||
public class TunModeItem
|
||||
{
|
||||
public bool enableTun { get; set; }
|
||||
public bool strictRoute { get; set; }
|
||||
public bool strictRoute { get; set; } = true;
|
||||
public string stack { get; set; }
|
||||
public int mtu { get; set; }
|
||||
public bool enableExInbound { get; set; }
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace v2rayN.Tool
|
||||
this.major = 0;
|
||||
this.minor = 0;
|
||||
this.patch = 0;
|
||||
this.version = "0.0.0";
|
||||
//this.version = "0.0.0";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1529,7 +1529,7 @@ namespace v2rayN.ViewModels
|
||||
private void ChangeSystemProxyStatus(ESysProxyType type, bool blChange)
|
||||
{
|
||||
SysProxyHandle.UpdateSysProxy(_config, _config.tunModeItem.enableTun ? true : false);
|
||||
_noticeHandler?.SendMessage(ResUI.TipChangeSystemProxy, true);
|
||||
_noticeHandler?.SendMessage(ResUI.TipChangeSystemProxy + _config.sysProxyType.ToString(), true);
|
||||
|
||||
Application.Current.Dispatcher.Invoke((Action)(() =>
|
||||
{
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
x:TypeArguments="vms:AddServerViewModel"
|
||||
Background="{DynamicResource MaterialDesignPaper}"
|
||||
FontFamily="{x:Static conv:MaterialDesignFonts.MyFont}"
|
||||
ResizeMode="NoResize"
|
||||
ResizeMode="CanResize"
|
||||
ShowInTaskbar="False"
|
||||
TextElement.FontFamily="{x:Static conv:MaterialDesignFonts.MyFont}"
|
||||
TextElement.Foreground="{DynamicResource MaterialDesignBody}"
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:conv="clr-namespace:v2rayN.Converters"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:reactiveui="http://reactiveui.net"
|
||||
xmlns:resx="clr-namespace:v2rayN.Resx"
|
||||
@@ -84,13 +85,15 @@
|
||||
Cursor="Hand"
|
||||
Style="{StaticResource DefButton}" />
|
||||
</StackPanel>
|
||||
|
||||
<TextBox
|
||||
x:Name="txtnormalDNS"
|
||||
Margin="{StaticResource SettingItemMargin}"
|
||||
VerticalAlignment="Stretch"
|
||||
materialDesign:HintAssist.Hint="Http/Socks"
|
||||
AcceptsReturn="True"
|
||||
BorderThickness="1"
|
||||
Style="{StaticResource DefTextBox}"
|
||||
Style="{StaticResource MaterialDesignOutlinedTextBox}"
|
||||
TextWrapping="Wrap"
|
||||
VerticalScrollBarVisibility="Auto" />
|
||||
</DockPanel>
|
||||
@@ -122,35 +125,29 @@
|
||||
<ColumnDefinition Width="1*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<GroupBox
|
||||
<TextBox
|
||||
x:Name="txtnormalDNS2"
|
||||
Grid.Column="0"
|
||||
Header=""
|
||||
Style="{StaticResource MyGroupBox}">
|
||||
<TextBox
|
||||
x:Name="txtnormalDNS2"
|
||||
Margin="{StaticResource SettingItemMargin}"
|
||||
VerticalAlignment="Stretch"
|
||||
AcceptsReturn="True"
|
||||
BorderThickness="1"
|
||||
Style="{StaticResource DefTextBox}"
|
||||
TextWrapping="Wrap"
|
||||
VerticalScrollBarVisibility="Auto" />
|
||||
</GroupBox>
|
||||
VerticalAlignment="Stretch"
|
||||
materialDesign:HintAssist.Hint="Http/Socks"
|
||||
AcceptsReturn="True"
|
||||
BorderThickness="1"
|
||||
Style="{StaticResource MaterialDesignOutlinedTextBox}"
|
||||
TextWrapping="Wrap"
|
||||
VerticalScrollBarVisibility="Auto" />
|
||||
|
||||
<GridSplitter Grid.Column="1" HorizontalAlignment="Stretch" />
|
||||
<GroupBox
|
||||
|
||||
<TextBox
|
||||
x:Name="txttunDNS2"
|
||||
Grid.Column="2"
|
||||
Header="{x:Static resx:ResUI.TbSettingsTunMode}"
|
||||
Style="{StaticResource MyGroupBox}">
|
||||
<TextBox
|
||||
x:Name="txttunDNS2"
|
||||
Margin="{StaticResource SettingItemMargin}"
|
||||
VerticalAlignment="Stretch"
|
||||
AcceptsReturn="True"
|
||||
BorderThickness="1"
|
||||
Style="{StaticResource DefTextBox}"
|
||||
TextWrapping="Wrap"
|
||||
VerticalScrollBarVisibility="Auto" />
|
||||
</GroupBox>
|
||||
VerticalAlignment="Stretch"
|
||||
materialDesign:HintAssist.Hint="{x:Static resx:ResUI.TbSettingsTunMode}"
|
||||
AcceptsReturn="True"
|
||||
BorderThickness="1"
|
||||
Style="{StaticResource MaterialDesignOutlinedTextBox}"
|
||||
TextWrapping="Wrap"
|
||||
VerticalScrollBarVisibility="Auto" />
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</TabItem>
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace v2rayN.Views
|
||||
|
||||
private void linkDnsSingboxObjectDoc_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Utils.ProcessStart("http://sing-box.sagernet.org/zh/configuration/dns/");
|
||||
Utils.ProcessStart("https://sing-box.sagernet.org/zh/configuration/dns/");
|
||||
}
|
||||
|
||||
private void btnCancel_Click(object sender, RoutedEventArgs e)
|
||||
|
||||
@@ -209,7 +209,7 @@
|
||||
<MenuItem
|
||||
x:Name="menuCheckUpdateN"
|
||||
Height="{StaticResource MenuItemHeight}"
|
||||
Header="v2rayN" />
|
||||
Header="V2rayN" />
|
||||
<MenuItem
|
||||
x:Name="menuCheckUpdateV2flyCore"
|
||||
Height="{StaticResource MenuItemHeight}"
|
||||
@@ -235,7 +235,7 @@
|
||||
<MenuItem
|
||||
x:Name="menuCheckUpdateSingBoxCore"
|
||||
Height="{StaticResource MenuItemHeight}"
|
||||
Header="sing-box Core" />
|
||||
Header="Sing-box Core" />
|
||||
<Separator Margin="-40,5" />
|
||||
<MenuItem
|
||||
x:Name="menuCheckUpdateGeo"
|
||||
|
||||
@@ -519,10 +519,14 @@ namespace v2rayN.Views
|
||||
var coreInfos = LazyConfig.Instance.GetCoreInfos();
|
||||
foreach (var it in coreInfos)
|
||||
{
|
||||
if (it.coreType == ECoreType.v2fly)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
var item = new MenuItem()
|
||||
{
|
||||
Tag = it.coreUrl.Replace(@"/releases", ""),
|
||||
Header = string.Format(Resx.ResUI.menuWebsiteItem, it.coreType.ToString().Replace("_", " "))
|
||||
Header = string.Format(Resx.ResUI.menuWebsiteItem, it.coreType.ToString().Replace("_", " ")).UpperFirstChar()
|
||||
};
|
||||
item.Click += MenuItem_Click;
|
||||
menuHelp.Items.Add(item);
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
xmlns:resx="clr-namespace:v2rayN.Resx"
|
||||
xmlns:vms="clr-namespace:v2rayN.ViewModels"
|
||||
Title="{x:Static resx:ResUI.menuRoutingRuleSetting}"
|
||||
Width="900"
|
||||
Width="960"
|
||||
Height="700"
|
||||
x:TypeArguments="vms:RoutingRuleSettingViewModel"
|
||||
Background="{DynamicResource MaterialDesignPaper}"
|
||||
@@ -280,7 +280,7 @@
|
||||
Binding="{Binding outboundTag}"
|
||||
Header="outboundTag" />
|
||||
<DataGridTextColumn
|
||||
Width="100"
|
||||
Width="80"
|
||||
Binding="{Binding port}"
|
||||
Header="port" />
|
||||
<DataGridTextColumn
|
||||
@@ -288,15 +288,15 @@
|
||||
Binding="{Binding protocols}"
|
||||
Header="protocol" />
|
||||
<DataGridTextColumn
|
||||
Width="120"
|
||||
Width="110"
|
||||
Binding="{Binding inboundTags}"
|
||||
Header="inboundTag" />
|
||||
<DataGridTextColumn
|
||||
Width="150"
|
||||
Width="220"
|
||||
Binding="{Binding domains}"
|
||||
Header="domain" />
|
||||
<DataGridTextColumn
|
||||
Width="150"
|
||||
Width="220"
|
||||
Binding="{Binding ips}"
|
||||
Header="ip" />
|
||||
<DataGridTextColumn
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<ApplicationIcon>v2rayN.ico</ApplicationIcon>
|
||||
<Copyright>Copyright © 2017-2023 (GPLv3)</Copyright>
|
||||
<FileVersion>6.26</FileVersion>
|
||||
<FileVersion>6.27</FileVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Downloader" Version="3.0.5" />
|
||||
<PackageReference Include="Downloader" Version="3.0.6" />
|
||||
<PackageReference Include="MaterialDesignThemes" Version="4.9.0" />
|
||||
<PackageReference Include="H.NotifyIcon.Wpf" Version="2.0.108" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
@@ -26,7 +26,7 @@
|
||||
<PackageReference Include="ReactiveUI.Validation" Version="3.0.22" />
|
||||
<PackageReference Include="ReactiveUI.WPF" Version="18.4.1" />
|
||||
<PackageReference Include="Splat.NLog" Version="14.6.37" />
|
||||
<PackageReference Include="System.Reactive" Version="5.0.0" />
|
||||
<PackageReference Include="System.Reactive" Version="6.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
Reference in New Issue
Block a user