Add Mldsa65Verify,Xray-core v25.7.26+

https://github.com/XTLS/Xray-core/pull/4915
pull/7732/head
2dust 2025-08-03 10:34:21 +08:00
parent 96e1f85d6f
commit d820c4367e
16 changed files with 71 additions and 2 deletions

View File

@ -246,6 +246,7 @@ public class ConfigHandler
item.PublicKey = profileItem.PublicKey; item.PublicKey = profileItem.PublicKey;
item.ShortId = profileItem.ShortId; item.ShortId = profileItem.ShortId;
item.SpiderX = profileItem.SpiderX; item.SpiderX = profileItem.SpiderX;
item.Mldsa65Verify = profileItem.Mldsa65Verify;
item.Extra = profileItem.Extra; item.Extra = profileItem.Extra;
item.MuxEnabled = profileItem.MuxEnabled; item.MuxEnabled = profileItem.MuxEnabled;
} }

View File

@ -59,6 +59,10 @@ public class BaseFmt
{ {
dicQuery.Add("spx", Utils.UrlEncode(item.SpiderX)); dicQuery.Add("spx", Utils.UrlEncode(item.SpiderX));
} }
if (item.Mldsa65Verify.IsNotEmpty())
{
dicQuery.Add("pqv", Utils.UrlEncode(item.Mldsa65Verify));
}
if (item.AllowInsecure.Equals("true")) if (item.AllowInsecure.Equals("true"))
{ {
dicQuery.Add("allowInsecure", "1"); dicQuery.Add("allowInsecure", "1");
@ -159,6 +163,7 @@ public class BaseFmt
item.PublicKey = Utils.UrlDecode(query["pbk"] ?? ""); item.PublicKey = Utils.UrlDecode(query["pbk"] ?? "");
item.ShortId = Utils.UrlDecode(query["sid"] ?? ""); item.ShortId = Utils.UrlDecode(query["sid"] ?? "");
item.SpiderX = Utils.UrlDecode(query["spx"] ?? ""); item.SpiderX = Utils.UrlDecode(query["spx"] ?? "");
item.Mldsa65Verify = Utils.UrlDecode(query["pqv"] ?? "");
item.AllowInsecure = (query["allowInsecure"] ?? "") == "1" ? "true" : ""; item.AllowInsecure = (query["allowInsecure"] ?? "") == "1" ? "true" : "";
item.Network = query["type"] ?? nameof(ETransport.tcp); item.Network = query["type"] ?? nameof(ETransport.tcp);

View File

@ -93,6 +93,7 @@ public class ProfileItem : ReactiveObject
public string PublicKey { get; set; } public string PublicKey { get; set; }
public string ShortId { get; set; } public string ShortId { get; set; }
public string SpiderX { get; set; } public string SpiderX { get; set; }
public string Mldsa65Verify { get; set; }
public string Extra { get; set; } public string Extra { get; set; }
public bool? MuxEnabled { get; set; } public bool? MuxEnabled { get; set; }
} }

View File

@ -340,6 +340,7 @@ public class TlsSettings4Ray
public string? publicKey { get; set; } public string? publicKey { get; set; }
public string? shortId { get; set; } public string? shortId { get; set; }
public string? spiderX { get; set; } public string? spiderX { get; set; }
public string? mldsa65Verify { get; set; }
} }
public class TcpSettings4Ray public class TcpSettings4Ray

View File

@ -2517,6 +2517,15 @@ namespace ServiceLib.Resx {
} }
} }
/// <summary>
/// 查找类似 Mldsa65Verify 的本地化字符串。
/// </summary>
public static string TbMldsa65Verify {
get {
return ResourceManager.GetString("TbMldsa65Verify", resourceCulture);
}
}
/// <summary> /// <summary>
/// 查找类似 Transport protocol(network) 的本地化字符串。 /// 查找类似 Transport protocol(network) 的本地化字符串。
/// </summary> /// </summary>

View File

@ -1398,4 +1398,7 @@
<data name="SudoIncorrectPasswordTip" xml:space="preserve"> <data name="SudoIncorrectPasswordTip" xml:space="preserve">
<value>Incorrect password, please try again.</value> <value>Incorrect password, please try again.</value>
</data> </data>
<data name="TbMldsa65Verify" xml:space="preserve">
<value>Mldsa65Verify</value>
</data>
</root> </root>

View File

@ -1398,4 +1398,7 @@
<data name="SudoIncorrectPasswordTip" xml:space="preserve"> <data name="SudoIncorrectPasswordTip" xml:space="preserve">
<value>Helytelen jelszó, próbálja újra.</value> <value>Helytelen jelszó, próbálja újra.</value>
</data> </data>
</root> <data name="TbMldsa65Verify" xml:space="preserve">
<value>Mldsa65Verify</value>
</data>
</root>

View File

@ -1398,4 +1398,7 @@
<data name="SudoIncorrectPasswordTip" xml:space="preserve"> <data name="SudoIncorrectPasswordTip" xml:space="preserve">
<value>Incorrect password, please try again.</value> <value>Incorrect password, please try again.</value>
</data> </data>
<data name="TbMldsa65Verify" xml:space="preserve">
<value>Mldsa65Verify</value>
</data>
</root> </root>

View File

@ -1398,4 +1398,7 @@
<data name="SudoIncorrectPasswordTip" xml:space="preserve"> <data name="SudoIncorrectPasswordTip" xml:space="preserve">
<value>Incorrect password, please try again.</value> <value>Incorrect password, please try again.</value>
</data> </data>
<data name="TbMldsa65Verify" xml:space="preserve">
<value>Mldsa65Verify</value>
</data>
</root> </root>

View File

@ -1395,4 +1395,7 @@
<data name="SudoIncorrectPasswordTip" xml:space="preserve"> <data name="SudoIncorrectPasswordTip" xml:space="preserve">
<value>密码错误,请重试。</value> <value>密码错误,请重试。</value>
</data> </data>
<data name="TbMldsa65Verify" xml:space="preserve">
<value>Mldsa65Verify</value>
</data>
</root> </root>

View File

@ -1395,4 +1395,7 @@
<data name="SudoIncorrectPasswordTip" xml:space="preserve"> <data name="SudoIncorrectPasswordTip" xml:space="preserve">
<value>密碼錯誤,請重試。</value> <value>密碼錯誤,請重試。</value>
</data> </data>
<data name="TbMldsa65Verify" xml:space="preserve">
<value>Mldsa65Verify</value>
</data>
</root> </root>

View File

@ -944,6 +944,7 @@ public class CoreConfigV2rayService
publicKey = node.PublicKey, publicKey = node.PublicKey,
shortId = node.ShortId, shortId = node.ShortId,
spiderX = node.SpiderX, spiderX = node.SpiderX,
mldsa65Verify = node.Mldsa65Verify,
show = false, show = false,
}; };

View File

@ -753,7 +753,7 @@
Grid.Row="7" Grid.Row="7"
ColumnDefinitions="180,Auto" ColumnDefinitions="180,Auto"
IsVisible="False" IsVisible="False"
RowDefinitions="Auto,Auto,Auto,Auto,Auto"> RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto">
<TextBlock <TextBlock
Grid.Row="0" Grid.Row="0"
@ -823,6 +823,20 @@
Width="400" Width="400"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
HorizontalAlignment="Left" /> HorizontalAlignment="Left" />
<TextBlock
Grid.Row="5"
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbMldsa65Verify}" />
<TextBox
x:Name="txtMldsa65Verify"
Grid.Row="5"
Grid.Column="1"
Width="400"
Margin="{StaticResource Margin4}"
HorizontalAlignment="Left" />
</Grid> </Grid>
<Separator Grid.Row="8" Margin="{StaticResource MarginTb8}" /> <Separator Grid.Row="8" Margin="{StaticResource MarginTb8}" />
</Grid> </Grid>

View File

@ -185,6 +185,7 @@ public partial class AddServerWindow : WindowBase<AddServerViewModel>
this.Bind(ViewModel, vm => vm.SelectedSource.PublicKey, v => v.txtPublicKey.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.SelectedSource.PublicKey, v => v.txtPublicKey.Text).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.SelectedSource.ShortId, v => v.txtShortId.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.SelectedSource.ShortId, v => v.txtShortId.Text).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.SelectedSource.SpiderX, v => v.txtSpiderX.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.SelectedSource.SpiderX, v => v.txtSpiderX.Text).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.SelectedSource.Mldsa65Verify, v => v.txtMldsa65Verify.Text).DisposeWith(disposables);
this.BindCommand(ViewModel, vm => vm.SaveCmd, v => v.btnSave).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.SaveCmd, v => v.btnSave).DisposeWith(disposables);
}); });

View File

@ -979,6 +979,7 @@
<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="180" /> <ColumnDefinition Width="180" />
@ -1064,6 +1065,22 @@
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
HorizontalAlignment="Left" HorizontalAlignment="Left"
Style="{StaticResource DefTextBox}" /> Style="{StaticResource DefTextBox}" />
<TextBlock
Grid.Row="5"
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}"
Text="{x:Static resx:ResUI.TbMldsa65Verify}" />
<TextBox
x:Name="txtMldsa65Verify"
Grid.Row="5"
Grid.Column="1"
Width="400"
Margin="{StaticResource Margin4}"
HorizontalAlignment="Left"
Style="{StaticResource DefTextBox}" />
</Grid> </Grid>
<Separator <Separator
Grid.Row="8" Grid.Row="8"

View File

@ -179,6 +179,7 @@ public partial class AddServerWindow
this.Bind(ViewModel, vm => vm.SelectedSource.PublicKey, v => v.txtPublicKey.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.SelectedSource.PublicKey, v => v.txtPublicKey.Text).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.SelectedSource.ShortId, v => v.txtShortId.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.SelectedSource.ShortId, v => v.txtShortId.Text).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.SelectedSource.SpiderX, v => v.txtSpiderX.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.SelectedSource.SpiderX, v => v.txtSpiderX.Text).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.SelectedSource.Mldsa65Verify, v => v.txtMldsa65Verify.Text).DisposeWith(disposables);
this.BindCommand(ViewModel, vm => vm.SaveCmd, v => v.btnSave).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.SaveCmd, v => v.btnSave).DisposeWith(disposables);
}); });