mirror of
https://github.com/2dust/v2rayN.git
synced 2025-07-01 12:32:10 +00:00
Merge d10c9da7c3
into 84f93f2ae6
This commit is contained in:
commit
a664ce71b3
10 changed files with 622 additions and 478 deletions
919
v2rayN/ServiceLib/Resx/ResUI.Designer.cs
generated
919
v2rayN/ServiceLib/Resx/ResUI.Designer.cs
generated
File diff suppressed because it is too large
Load diff
|
@ -1131,6 +1131,15 @@
|
||||||
<data name="TbSettingsEnableFragment" xml:space="preserve">
|
<data name="TbSettingsEnableFragment" xml:space="preserve">
|
||||||
<value>فعال کردن فرگمنت</value>
|
<value>فعال کردن فرگمنت</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="TbSettingsFragmentInterval" xml:space="preserve">
|
||||||
|
<value>Fragment Interval</value>
|
||||||
|
</data>
|
||||||
|
<data name="TbSettingsFragmentLength" xml:space="preserve">
|
||||||
|
<value>Fragment Length</value>
|
||||||
|
</data>
|
||||||
|
<data name="TbSettingsFragmentPackets" xml:space="preserve">
|
||||||
|
<value>Fragment Packets</value>
|
||||||
|
</data>
|
||||||
<data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve">
|
<data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve">
|
||||||
<value>فعال کردن کش فایل مجموعه قوانین برای sing-box</value>
|
<value>فعال کردن کش فایل مجموعه قوانین برای sing-box</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -1419,4 +1428,4 @@
|
||||||
<data name="TbSettingsIPAPIUrl" xml:space="preserve">
|
<data name="TbSettingsIPAPIUrl" xml:space="preserve">
|
||||||
<value>URL آزمایش اطلاعات اتصال فعلی</value>
|
<value>URL آزمایش اطلاعات اتصال فعلی</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -1131,6 +1131,15 @@
|
||||||
<data name="TbSettingsEnableFragment" xml:space="preserve">
|
<data name="TbSettingsEnableFragment" xml:space="preserve">
|
||||||
<value>Fragmentum engedélyezése</value>
|
<value>Fragmentum engedélyezése</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="TbSettingsFragmentInterval" xml:space="preserve">
|
||||||
|
<value>Fragment Interval</value>
|
||||||
|
</data>
|
||||||
|
<data name="TbSettingsFragmentLength" xml:space="preserve">
|
||||||
|
<value>Fragment Length</value>
|
||||||
|
</data>
|
||||||
|
<data name="TbSettingsFragmentPackets" xml:space="preserve">
|
||||||
|
<value>Fragment Packets</value>
|
||||||
|
</data>
|
||||||
<data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve">
|
<data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve">
|
||||||
<value>Cache fájl engedélyezése a sing-box számára (szabálykészlet fájlok)</value>
|
<value>Cache fájl engedélyezése a sing-box számára (szabálykészlet fájlok)</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -1131,6 +1131,15 @@
|
||||||
<data name="TbSettingsEnableFragment" xml:space="preserve">
|
<data name="TbSettingsEnableFragment" xml:space="preserve">
|
||||||
<value>Enable fragment</value>
|
<value>Enable fragment</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="TbSettingsFragmentInterval" xml:space="preserve">
|
||||||
|
<value>Fragment Interval</value>
|
||||||
|
</data>
|
||||||
|
<data name="TbSettingsFragmentLength" xml:space="preserve">
|
||||||
|
<value>Fragment Length</value>
|
||||||
|
</data>
|
||||||
|
<data name="TbSettingsFragmentPackets" xml:space="preserve">
|
||||||
|
<value>Fragment Packets</value>
|
||||||
|
</data>
|
||||||
<data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve">
|
<data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve">
|
||||||
<value>Enable cache file for sing-box (ruleset files)</value>
|
<value>Enable cache file for sing-box (ruleset files)</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<root>
|
<root>
|
||||||
<!--
|
<!--
|
||||||
Microsoft ResX Schema
|
Microsoft ResX Schema
|
||||||
|
|
||||||
Version 2.0
|
Version 2.0
|
||||||
|
|
||||||
The primary goals of this format is to allow a simple XML format
|
The primary goals of this format is to allow a simple XML format
|
||||||
that is mostly human readable. The generation and parsing of the
|
that is mostly human readable. The generation and parsing of the
|
||||||
various data types are done through the TypeConverter classes
|
various data types are done through the TypeConverter classes
|
||||||
associated with the data types.
|
associated with the data types.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
... ado.net/XML headers & schema ...
|
... ado.net/XML headers & schema ...
|
||||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
<resheader name="version">2.0</resheader>
|
<resheader name="version">2.0</resheader>
|
||||||
|
@ -26,36 +26,36 @@
|
||||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
<comment>This is a comment</comment>
|
<comment>This is a comment</comment>
|
||||||
</data>
|
</data>
|
||||||
|
|
||||||
There are any number of "resheader" rows that contain simple
|
There are any number of "resheader" rows that contain simple
|
||||||
name/value pairs.
|
name/value pairs.
|
||||||
|
|
||||||
Each data row contains a name, and value. The row also contains a
|
Each data row contains a name, and value. The row also contains a
|
||||||
type or mimetype. Type corresponds to a .NET class that support
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
text/value conversion through the TypeConverter architecture.
|
text/value conversion through the TypeConverter architecture.
|
||||||
Classes that don't support this are serialized and stored with the
|
Classes that don't support this are serialized and stored with the
|
||||||
mimetype set.
|
mimetype set.
|
||||||
|
|
||||||
The mimetype is used for serialized objects, and tells the
|
The mimetype is used for serialized objects, and tells the
|
||||||
ResXResourceReader how to depersist the object. This is currently not
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
extensible. For a given mimetype the value must be set accordingly:
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
that the ResXResourceWriter will generate, however the reader can
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
read any of the formats listed below.
|
read any of the formats listed below.
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.binary.base64
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
value : The object must be serialized with
|
value : The object must be serialized with
|
||||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
: and then encoded with base64 encoding.
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.soap.base64
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
value : The object must be serialized with
|
value : The object must be serialized with
|
||||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
: and then encoded with base64 encoding.
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
value : The object must be serialized into a byte array
|
value : The object must be serialized into a byte array
|
||||||
: using a System.ComponentModel.TypeConverter
|
: using a System.ComponentModel.TypeConverter
|
||||||
: and then encoded with base64 encoding.
|
: and then encoded with base64 encoding.
|
||||||
-->
|
-->
|
||||||
|
@ -816,9 +816,6 @@
|
||||||
<data name="menuMoveUp" xml:space="preserve">
|
<data name="menuMoveUp" xml:space="preserve">
|
||||||
<value>Вверх (U)</value>
|
<value>Вверх (U)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuMoveTo" xml:space="preserve">
|
|
||||||
<value>Переместить вверх/вниз</value>
|
|
||||||
</data>
|
|
||||||
<data name="MsgFilterTitle" xml:space="preserve">
|
<data name="MsgFilterTitle" xml:space="preserve">
|
||||||
<value>Фильтр, поддерживает regex</value>
|
<value>Фильтр, поддерживает regex</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -990,6 +987,9 @@
|
||||||
<data name="TbSettingsSpeedTestUrl" xml:space="preserve">
|
<data name="TbSettingsSpeedTestUrl" xml:space="preserve">
|
||||||
<value>URL для тестирования скорости</value>
|
<value>URL для тестирования скорости</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="menuMoveTo" xml:space="preserve">
|
||||||
|
<value>Переместить вверх/вниз</value>
|
||||||
|
</data>
|
||||||
<data name="TbPublicKey" xml:space="preserve">
|
<data name="TbPublicKey" xml:space="preserve">
|
||||||
<value>PublicKey</value>
|
<value>PublicKey</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -1131,6 +1131,15 @@
|
||||||
<data name="TbSettingsEnableFragment" xml:space="preserve">
|
<data name="TbSettingsEnableFragment" xml:space="preserve">
|
||||||
<value>Включить фрагментацию (Fragment)</value>
|
<value>Включить фрагментацию (Fragment)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="TbSettingsFragmentInterval" xml:space="preserve">
|
||||||
|
<value>Fragment Interval</value>
|
||||||
|
</data>
|
||||||
|
<data name="TbSettingsFragmentLength" xml:space="preserve">
|
||||||
|
<value>Fragment Length</value>
|
||||||
|
</data>
|
||||||
|
<data name="TbSettingsFragmentPackets" xml:space="preserve">
|
||||||
|
<value>Fragment Packets</value>
|
||||||
|
</data>
|
||||||
<data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve">
|
<data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve">
|
||||||
<value>Включить файл кэша для sing-box (файлы наборов правил)</value>
|
<value>Включить файл кэша для sing-box (файлы наборов правил)</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -1419,4 +1428,4 @@
|
||||||
<data name="TbSettingsIPAPIUrl" xml:space="preserve">
|
<data name="TbSettingsIPAPIUrl" xml:space="preserve">
|
||||||
<value>URL для тестирования текущего соединения</value>
|
<value>URL для тестирования текущего соединения</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -1128,6 +1128,15 @@
|
||||||
<data name="TbSettingsEnableFragment" xml:space="preserve">
|
<data name="TbSettingsEnableFragment" xml:space="preserve">
|
||||||
<value>启用分片(Fragment)</value>
|
<value>启用分片(Fragment)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="TbSettingsFragmentInterval" xml:space="preserve">
|
||||||
|
<value>Fragment Interval</value>
|
||||||
|
</data>
|
||||||
|
<data name="TbSettingsFragmentLength" xml:space="preserve">
|
||||||
|
<value>Fragment Length</value>
|
||||||
|
</data>
|
||||||
|
<data name="TbSettingsFragmentPackets" xml:space="preserve">
|
||||||
|
<value>Fragment Packets</value>
|
||||||
|
</data>
|
||||||
<data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve">
|
<data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve">
|
||||||
<value>启用 sing-box(规则集文件)的缓存文件</value>
|
<value>启用 sing-box(规则集文件)的缓存文件</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -1128,6 +1128,15 @@
|
||||||
<data name="TbSettingsEnableFragment" xml:space="preserve">
|
<data name="TbSettingsEnableFragment" xml:space="preserve">
|
||||||
<value>啟用分片(Fragment)</value>
|
<value>啟用分片(Fragment)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="TbSettingsFragmentInterval" xml:space="preserve">
|
||||||
|
<value>Fragment Interval</value>
|
||||||
|
</data>
|
||||||
|
<data name="TbSettingsFragmentLength" xml:space="preserve">
|
||||||
|
<value>Fragment Length</value>
|
||||||
|
</data>
|
||||||
|
<data name="TbSettingsFragmentPackets" xml:space="preserve">
|
||||||
|
<value>Fragment Packets</value>
|
||||||
|
</data>
|
||||||
<data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve">
|
<data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve">
|
||||||
<value>啟用 sing-box(規則集檔案)的快取檔案</value>
|
<value>啟用 sing-box(規則集檔案)的快取檔案</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -29,6 +29,9 @@ public class OptionSettingViewModel : MyReactiveObject
|
||||||
[Reactive] public int hyUpMbps { get; set; }
|
[Reactive] public int hyUpMbps { get; set; }
|
||||||
[Reactive] public int hyDownMbps { get; set; }
|
[Reactive] public int hyDownMbps { get; set; }
|
||||||
[Reactive] public bool enableFragment { get; set; }
|
[Reactive] public bool enableFragment { get; set; }
|
||||||
|
[Reactive] public string fragmentPackets { get; set; }
|
||||||
|
[Reactive] public string fragmentInterval { get; set; }
|
||||||
|
[Reactive] public string fragmentLength { get; set; }
|
||||||
|
|
||||||
#endregion Core
|
#endregion Core
|
||||||
|
|
||||||
|
@ -146,6 +149,9 @@ public class OptionSettingViewModel : MyReactiveObject
|
||||||
hyUpMbps = _config.HysteriaItem.UpMbps;
|
hyUpMbps = _config.HysteriaItem.UpMbps;
|
||||||
hyDownMbps = _config.HysteriaItem.DownMbps;
|
hyDownMbps = _config.HysteriaItem.DownMbps;
|
||||||
enableFragment = _config.CoreBasicItem.EnableFragment;
|
enableFragment = _config.CoreBasicItem.EnableFragment;
|
||||||
|
fragmentInterval = _config.Fragment4RayItem.Interval;
|
||||||
|
fragmentLength = _config.Fragment4RayItem.Length;
|
||||||
|
fragmentPackets = _config.Fragment4RayItem.Packets;
|
||||||
|
|
||||||
#endregion Core
|
#endregion Core
|
||||||
|
|
||||||
|
@ -321,6 +327,9 @@ public class OptionSettingViewModel : MyReactiveObject
|
||||||
_config.HysteriaItem.UpMbps = hyUpMbps;
|
_config.HysteriaItem.UpMbps = hyUpMbps;
|
||||||
_config.HysteriaItem.DownMbps = hyDownMbps;
|
_config.HysteriaItem.DownMbps = hyDownMbps;
|
||||||
_config.CoreBasicItem.EnableFragment = enableFragment;
|
_config.CoreBasicItem.EnableFragment = enableFragment;
|
||||||
|
_config.Fragment4RayItem.Packets = fragmentPackets;
|
||||||
|
_config.Fragment4RayItem.Interval = fragmentInterval;
|
||||||
|
_config.Fragment4RayItem.Length = fragmentLength;
|
||||||
|
|
||||||
_config.GuiItem.AutoRun = AutoRun;
|
_config.GuiItem.AutoRun = AutoRun;
|
||||||
_config.GuiItem.EnableStatistics = EnableStatistics;
|
_config.GuiItem.EnableStatistics = EnableStatistics;
|
||||||
|
|
|
@ -66,6 +66,9 @@
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="Auto" />
|
<ColumnDefinition Width="Auto" />
|
||||||
|
@ -399,6 +402,54 @@
|
||||||
Style="{StaticResource ToolbarTextBlock}"
|
Style="{StaticResource ToolbarTextBlock}"
|
||||||
Text="{x:Static resx:ResUI.TbSettingsEnableFragmentTips}"
|
Text="{x:Static resx:ResUI.TbSettingsEnableFragmentTips}"
|
||||||
TextWrapping="Wrap" />
|
TextWrapping="Wrap" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextBlock
|
||||||
|
Grid.Row="21"
|
||||||
|
Grid.Column="0"
|
||||||
|
Margin="{StaticResource Margin8}"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Style="{StaticResource ToolbarTextBlock}"
|
||||||
|
Text="{x:Static resx:ResUI.TbSettingsFragmentPackets}" />
|
||||||
|
<TextBox
|
||||||
|
x:Name="txtfragmentpackets"
|
||||||
|
Grid.Row="21"
|
||||||
|
Grid.Column="1"
|
||||||
|
Width="200"
|
||||||
|
Margin="{StaticResource Margin8}"
|
||||||
|
Style="{StaticResource DefTextBox}" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextBlock
|
||||||
|
Grid.Row="22"
|
||||||
|
Grid.Column="0"
|
||||||
|
Margin="{StaticResource Margin8}"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Style="{StaticResource ToolbarTextBlock}"
|
||||||
|
Text="{x:Static resx:ResUI.TbSettingsFragmentLength}" />
|
||||||
|
<TextBox
|
||||||
|
x:Name="txtfragmentlength"
|
||||||
|
Grid.Row="22"
|
||||||
|
Grid.Column="1"
|
||||||
|
Width="200"
|
||||||
|
Margin="{StaticResource Margin8}"
|
||||||
|
Style="{StaticResource DefTextBox}" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextBlock
|
||||||
|
Grid.Row="23"
|
||||||
|
Grid.Column="0"
|
||||||
|
Margin="{StaticResource Margin8}"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Style="{StaticResource ToolbarTextBlock}"
|
||||||
|
Text="{x:Static resx:ResUI.TbSettingsFragmentInterval}" />
|
||||||
|
<TextBox
|
||||||
|
x:Name="txtfragmentinterval"
|
||||||
|
Grid.Row="23"
|
||||||
|
Grid.Column="1"
|
||||||
|
Width="200"
|
||||||
|
Margin="{StaticResource Margin8}"
|
||||||
|
Style="{StaticResource DefTextBox}" />
|
||||||
</Grid>
|
</Grid>
|
||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
|
@ -134,6 +134,9 @@ public partial class OptionSettingWindow
|
||||||
this.Bind(ViewModel, vm => vm.hyUpMbps, v => v.txtUpMbps.Text).DisposeWith(disposables);
|
this.Bind(ViewModel, vm => vm.hyUpMbps, v => v.txtUpMbps.Text).DisposeWith(disposables);
|
||||||
this.Bind(ViewModel, vm => vm.hyDownMbps, v => v.txtDownMbps.Text).DisposeWith(disposables);
|
this.Bind(ViewModel, vm => vm.hyDownMbps, v => v.txtDownMbps.Text).DisposeWith(disposables);
|
||||||
this.Bind(ViewModel, vm => vm.enableFragment, v => v.togenableFragment.IsChecked).DisposeWith(disposables);
|
this.Bind(ViewModel, vm => vm.enableFragment, v => v.togenableFragment.IsChecked).DisposeWith(disposables);
|
||||||
|
this.Bind(ViewModel, vm => vm.fragmentInterval, v => v.txtfragmentinterval.Text).DisposeWith(disposables);
|
||||||
|
this.Bind(ViewModel, vm => vm.fragmentLength, v => v.txtfragmentlength.Text).DisposeWith(disposables);
|
||||||
|
this.Bind(ViewModel, vm => vm.fragmentPackets, v => v.txtfragmentpackets.Text).DisposeWith(disposables);
|
||||||
|
|
||||||
//this.Bind(ViewModel, vm => vm.Kcpmtu, v => v.txtKcpmtu.Text).DisposeWith(disposables);
|
//this.Bind(ViewModel, vm => vm.Kcpmtu, v => v.txtKcpmtu.Text).DisposeWith(disposables);
|
||||||
//this.Bind(ViewModel, vm => vm.Kcptti, v => v.txtKcptti.Text).DisposeWith(disposables);
|
//this.Bind(ViewModel, vm => vm.Kcptti, v => v.txtKcptti.Text).DisposeWith(disposables);
|
||||||
|
|
Loading…
Reference in a new issue