Compare commits

..

7 Commits
6.16 ... 6.18

Author SHA1 Message Date
2dust
08aebf5736 up 6.18 2023-03-17 13:53:14 +08:00
2dust
5a4966ba8d Adjust speed test 2023-03-17 10:32:56 +08:00
2dust
9ba963fc45 bug fixes 2023-03-16 20:11:10 +08:00
2dust
ccc10dbae4 Merge pull request #3493 from ShiinaRinne/AddEnableHWA
Add: 设置中添加"启用硬件加速"的选项
2023-03-16 14:10:20 +08:00
ShiinaRinne
d858342269 Add: 设置中添加"启用硬件加速"的选项 2023-03-15 23:27:51 +08:00
2dust
63f251d1fd up 6.17 2023-03-10 20:38:08 +08:00
2dust
83efe66f3e bug fixes 2023-03-10 11:25:34 +08:00
17 changed files with 103 additions and 74 deletions

View File

@@ -115,7 +115,7 @@ namespace v2rayN.Base
}
}
};
progress.Report("......");
//progress.Report("......");
using var stream = await downloader.DownloadFileTaskAsync(address: url, cancellationToken: cancellationToken.Token);

View File

@@ -972,46 +972,40 @@ namespace v2rayN.Handler
}
profileItem.subid = subid;
profileItem.isSub = isSub;
var addStatus = -1;
if (profileItem.configType == EConfigType.VMess)
{
if (AddServer(ref config, profileItem, false) == 0)
{
countServers++;
}
addStatus = AddServer(ref config, profileItem, false);
}
else if (profileItem.configType == EConfigType.Shadowsocks)
{
if (AddShadowsocksServer(ref config, profileItem, false) == 0)
{
countServers++;
}
addStatus = AddShadowsocksServer(ref config, profileItem, false);
}
else if (profileItem.configType == EConfigType.Socks)
{
if (AddSocksServer(ref config, profileItem, false) == 0)
{
countServers++;
}
addStatus = AddSocksServer(ref config, profileItem, false);
}
else if (profileItem.configType == EConfigType.Trojan)
{
if (AddTrojanServer(ref config, profileItem, false) == 0)
{
countServers++;
}
addStatus = AddTrojanServer(ref config, profileItem, false);
}
else if (profileItem.configType == EConfigType.VLESS)
{
if (AddVlessServer(ref config, profileItem, false) == 0)
{
countServers++;
}
addStatus = AddVlessServer(ref config, profileItem, false);
}
if (addStatus == 0)
{
countServers++;
lstAdd.Add(profileItem);
}
lstAdd.Add(profileItem);
}
SqliteHelper.Instance.InsertAll(lstAdd);
if (lstAdd.Count > 0)
{
SqliteHelper.Instance.InsertAll(lstAdd);
}
ToJsonFile(config);
return countServers;

View File

@@ -458,14 +458,7 @@ namespace v2rayN.Handler
if (node.streamSecurity == Global.StreamSecurityReality)
{
if (Utils.IsNullOrEmpty(node.flow))
{
usersItem.flow = Global.flows[1];
}
else
{
usersItem.flow = node.flow;
}
usersItem.flow = node.flow;
outbound.mux.enabled = false;
outbound.mux.concurrency = -1;
@@ -502,7 +495,7 @@ namespace v2rayN.Handler
serversItem.flow = string.Empty;
serversItem.ota = false;
serversItem.level = 1;
serversItem.level = 1;
outbound.mux.enabled = false;
outbound.mux.concurrency = -1;
@@ -569,7 +562,7 @@ namespace v2rayN.Handler
{
streamSettings.security = node.streamSecurity;
RealitySettings realitySettings = new()
TlsSettings realitySettings = new()
{
fingerprint = node.fingerprint.IsNullOrEmpty() ? config.coreBasicItem.defFingerprint : node.fingerprint,
serverName = sni,
@@ -638,13 +631,6 @@ namespace v2rayN.Handler
}
streamSettings.wsSettings = wsSettings;
//TlsSettings tlsSettings = new TlsSettings();
//tlsSettings.allowInsecure = config.allowInsecure();
//if (!string.IsNullOrWhiteSpace(host))
//{
// tlsSettings.serverName = host;
//}
//streamSettings.tlsSettings = tlsSettings;
break;
//h2
case "h2":
@@ -658,9 +644,6 @@ namespace v2rayN.Handler
streamSettings.httpSettings = httpSettings;
//TlsSettings tlsSettings2 = new TlsSettings();
//tlsSettings2.allowInsecure = config.allowInsecure();
//streamSettings.tlsSettings = tlsSettings2;
break;
//quic
case "quic":
@@ -696,7 +679,6 @@ namespace v2rayN.Handler
permit_without_stream = config.grpcItem.permit_without_stream,
initial_windows_size = config.grpcItem.initial_windows_size,
};
streamSettings.grpcSettings = grpcSettings;
break;
default:

View File

@@ -58,11 +58,11 @@ namespace v2rayN.Handler
ProfileExHandler.Instance.SetTestDelay(it.indexId, "0");
break;
case ESpeedActionType.Speedtest:
UpdateFunc(it.indexId, "", ResUI.Speedtesting);
UpdateFunc(it.indexId, "", ResUI.SpeedtestingWait);
ProfileExHandler.Instance.SetTestSpeed(it.indexId, "0");
break;
case ESpeedActionType.Mixedtest:
UpdateFunc(it.indexId, ResUI.Speedtesting, ResUI.Speedtesting);
UpdateFunc(it.indexId, ResUI.Speedtesting, ResUI.SpeedtestingWait);
ProfileExHandler.Instance.SetTestDelay(it.indexId, "0");
ProfileExHandler.Instance.SetTestSpeed(it.indexId, "0");
break;
@@ -236,6 +236,7 @@ namespace v2rayN.Handler
// continue;
//}
ProfileExHandler.Instance.SetTestSpeed(it.indexId, "-1");
UpdateFunc(it.indexId, "", ResUI.Speedtesting);
var item = LazyConfig.Instance.GetProfileItem(it.indexId);
if (item is null) continue;
@@ -287,6 +288,7 @@ namespace v2rayN.Handler
continue;
}
ProfileExHandler.Instance.SetTestSpeed(it.indexId, "-1");
UpdateFunc(it.indexId, "", ResUI.Speedtesting);
var item = LazyConfig.Instance.GetProfileItem(it.indexId);
if (item is null) continue;

View File

@@ -103,6 +103,8 @@ namespace v2rayN.Mode
public bool enableSecurityProtocolTls13 { get; set; }
public int trayMenuServersLimit { get; set; } = 20;
public bool enableHWA { get; set; } = true;
}
[Serializable]

View File

@@ -391,7 +391,7 @@ namespace v2rayN.Mode
/// <summary>
/// VLESS only
/// </summary>
public RealitySettings realitySettings { get; set; }
public TlsSettings realitySettings { get; set; }
/// <summary>
/// grpc
/// </summary>
@@ -404,34 +404,24 @@ namespace v2rayN.Mode
/// <summary>
/// 是否允许不安全连接(用于客户端)
/// </summary>
public bool allowInsecure { get; set; }
public bool? allowInsecure { get; set; }
/// <summary>
///
/// </summary>
public string serverName { get; set; }
public string? serverName { get; set; }
/// <summary>
///
/// </summary>
public List<string> alpn
{
get; set;
}
public List<string>? alpn { get; set; }
/// <summary>
/// "chrome" | "firefox" | "safari" | "randomized"
/// </summary>
public string fingerprint { get; set; }
public string? fingerprint { get; set; }
public bool? show { get; set; } = false;
public string? publicKey { get; set; }
public string? shortId { get; set; }
public string? spiderX { get; set; }
}
public class RealitySettings
{
public bool show { get; set; } = false;
public string fingerprint { get; set; }
public string serverName { get; set; }
public string publicKey { get; set; }
public string shortId { get; set; }
public string spiderX { get; set; }
}
public class TcpSettings

View File

@@ -1788,6 +1788,15 @@ namespace v2rayN.Resx {
}
}
/// <summary>
/// 查找类似 Waiting for testing 的本地化字符串。
/// </summary>
public static string SpeedtestingWait {
get {
return ResourceManager.GetString("SpeedtestingWait", resourceCulture);
}
}
/// <summary>
/// 查找类似 PAC failed to start. Please run this program as Administrator. 的本地化字符串。
/// </summary>
@@ -2509,6 +2518,15 @@ namespace v2rayN.Resx {
}
}
/// <summary>
/// 查找类似 Enable hardware acceleration(Require restart) 的本地化字符串。
/// </summary>
public static string TbSettingsEnableHWA {
get {
return ResourceManager.GetString("TbSettingsEnableHWA", resourceCulture);
}
}
/// <summary>
/// 查找类似 Exception 的本地化字符串。
/// </summary>

View File

@@ -1066,4 +1066,7 @@
<data name="TbSettingsDefUserAgentTips" xml:space="preserve">
<value>This parameter is valid only for tcp/http and ws</value>
</data>
<data name="TbSettingsEnableHWA" xml:space="preserve">
<value>فعال‌سازی شتاب‌دهنده سخت‌افزاری (نیاز به راه‌اندازی مجدد)</value>
</data>
</root>

View File

@@ -1141,4 +1141,10 @@
<data name="TbSpiderX" xml:space="preserve">
<value>SpiderX</value>
</data>
<data name="TbSettingsEnableHWA" xml:space="preserve">
<value>Enable hardware acceleration(Require restart)</value>
</data>
<data name="SpeedtestingWait" xml:space="preserve">
<value>Waiting for testing</value>
</data>
</root>

View File

@@ -1108,4 +1108,7 @@
<data name="TbSettingsFontSize" xml:space="preserve">
<value>Размер шрифта</value>
</data>
<data name="TbSettingsEnableHWA" xml:space="preserve">
<value>Включить аппаратное ускорение (требуется перезагрузка)</value>
</data>
</root>

View File

@@ -1141,4 +1141,10 @@
<data name="TbSpiderX" xml:space="preserve">
<value>SpiderX</value>
</data>
<data name="TbSettingsEnableHWA" xml:space="preserve">
<value>启用硬件加速(需重启)</value>
</data>
<data name="SpeedtestingWait" xml:space="preserve">
<value>等待测试中...</value>
</data>
</root>

View File

@@ -700,7 +700,7 @@ namespace v2rayN.ViewModels
_subId = SelectedSub?.id;
_config.subIndexId = _subId;
RefreshServers(false);
RefreshServers();
_updateView("ProfilesFocus");
}
@@ -715,13 +715,12 @@ namespace v2rayN.ViewModels
RefreshServers();
}
private void RefreshServers(bool blCheckDefault = true)
private void RefreshServers()
{
List<ProfileItemModel> lstModel = LazyConfig.Instance.ProfileItems(_subId, _serverFilter);
if (blCheckDefault)
{
ConfigHandler.SetDefaultServer(_config, lstModel);
}
ConfigHandler.SetDefaultServer(_config, lstModel);
List<ServerStatItem> lstServerStat = new();
if (_statistics != null && _statistics.Enable)
{

View File

@@ -65,6 +65,7 @@ namespace v2rayN.ViewModels
[Reactive] public string currentFontFamily { get; set; }
[Reactive] public int SpeedTestTimeout { get; set; }
[Reactive] public string SpeedTestUrl { get; set; }
[Reactive] public bool EnableHWA { get; set; }
#endregion
@@ -160,6 +161,7 @@ namespace v2rayN.ViewModels
currentFontFamily = _config.uiItem.currentFontFamily;
SpeedTestTimeout = _config.speedTestItem.speedTestTimeout;
SpeedTestUrl = _config.speedTestItem.speedTestUrl;
EnableHWA = _config.guiItem.enableHWA;
#endregion
@@ -339,6 +341,7 @@ namespace v2rayN.ViewModels
_config.uiItem.currentFontFamily = currentFontFamily;
_config.speedTestItem.speedTestTimeout = SpeedTestTimeout;
_config.speedTestItem.speedTestUrl = SpeedTestUrl;
_config.guiItem.enableHWA = EnableHWA;
//systemProxy
_config.systemProxyExceptions = systemProxyExceptions;

View File

@@ -197,6 +197,11 @@ namespace v2rayN.Views
{
WindowState = WindowState.Minimized;
}
if (!_config.guiItem.enableHWA)
{
RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
}
}
#region Event

View File

@@ -481,6 +481,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -752,6 +753,20 @@
Width="300"
Margin="{StaticResource SettingItemMargin}"
Style="{StaticResource DefComboBox}" />
<TextBlock
Grid.Row="18"
Grid.Column="0"
Margin="{StaticResource SettingItemMargin}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}"
Text="{x:Static resx:ResUI.TbSettingsEnableHWA}"/>
<ToggleButton
x:Name="togEnableHWA"
Grid.Row="18"
Grid.Column="1"
Margin="{StaticResource SettingItemMargin}"
HorizontalAlignment="Left" />
</Grid>
</ScrollViewer>
</TabItem>

View File

@@ -164,6 +164,7 @@ namespace v2rayN.Views
this.Bind(ViewModel, vm => vm.currentFontFamily, v => v.cmbcurrentFontFamily.Text).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.SpeedTestTimeout, v => v.cmbSpeedTestTimeout.Text).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.SpeedTestUrl, v => v.cmbSpeedTestUrl.Text).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.EnableHWA, v => v.togEnableHWA.IsChecked).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.systemProxyAdvancedProtocol, v => v.cmbsystemProxyAdvancedProtocol.Text).DisposeWith(disposables);

View File

@@ -10,12 +10,12 @@
<ImplicitUsings>enable</ImplicitUsings>
<ApplicationIcon>v2rayN.ico</ApplicationIcon>
<Copyright>Copyright © 2017-2023 (GPLv3)</Copyright>
<FileVersion>6.16</FileVersion>
<FileVersion>6.18</FileVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Downloader" Version="3.0.3" />
<PackageReference Include="MaterialDesignThemes" Version="4.8.0" />
<PackageReference Include="MaterialDesignThemes" Version="4.7.1" />
<PackageReference Include="Hardcodet.NotifyIcon.Wpf" Version="1.1.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="QRCoder.Xaml" Version="1.4.3" />