mirror of
https://github.com/2dust/v2rayN.git
synced 2026-05-30 01:34:08 +00:00
Opt
This commit is contained in:
parent
298f370f72
commit
d5ebe96f66
14 changed files with 51 additions and 37 deletions
|
|
@ -9,22 +9,23 @@ public class WireguardFmtTests
|
|||
[Fact]
|
||||
public void ResolveConfig_ShouldParsePeersAndIgnoreInlineComments()
|
||||
{
|
||||
var config = """
|
||||
[Interface]
|
||||
PrivateKey = interface-private-key
|
||||
Address = 10.0.0.2/32, fd00::2/128 ; inline comment
|
||||
MTU = 1420
|
||||
const string config =
|
||||
"""
|
||||
[Interface]
|
||||
PrivateKey = interface-private-key
|
||||
Address = 10.0.0.2/32, fd00::2/128 ; inline comment
|
||||
MTU = 1420
|
||||
|
||||
[Peer]
|
||||
PublicKey = peer-public-key
|
||||
PresharedKey = peer-preshared-key
|
||||
Reserved = 1, 2, 3 # inline comment
|
||||
Endpoint = [2001:db8::1]:51820 # inline comment
|
||||
[Peer]
|
||||
PublicKey = peer-public-key
|
||||
PresharedKey = peer-preshared-key
|
||||
Reserved = 1, 2, 3 # inline comment
|
||||
Endpoint = [2001:db8::1]:51820 # inline comment
|
||||
|
||||
[Peer]
|
||||
PublicKey = peer-public-key-2
|
||||
Endpoint = example.com:12345
|
||||
""";
|
||||
[Peer]
|
||||
PublicKey = peer-public-key-2
|
||||
Endpoint = example.com:12345
|
||||
""";
|
||||
|
||||
var resolved = WireguardFmt.ResolveConfig(config);
|
||||
|
||||
|
|
|
|||
|
|
@ -791,9 +791,22 @@ public static class ConfigHandler
|
|||
profileItem.Address = profileItem.Address.TrimEx();
|
||||
profileItem.Password = profileItem.Password.TrimEx();
|
||||
var wgReserved = profileItem.GetProtocolExtra().WgReserved?.TrimEx();
|
||||
if (!wgReserved.IsNullOrEmpty())
|
||||
if (!wgReserved.IsNullOrEmpty()
|
||||
&& !wgReserved.Contains(','))
|
||||
{
|
||||
wgReserved = wgReserved.Replace(", ", ",");
|
||||
// Base64 format, convert to standard format
|
||||
try
|
||||
{
|
||||
var bytes = Convert.FromBase64String(wgReserved);
|
||||
var reserved = new byte[3];
|
||||
Array.Copy(bytes, reserved, Math.Min(bytes.Length, 3));
|
||||
|
||||
wgReserved = string.Join(", ", reserved);
|
||||
}
|
||||
catch
|
||||
{
|
||||
// If conversion fails, keep the original value
|
||||
}
|
||||
}
|
||||
profileItem.SetProtocolExtra(profileItem.GetProtocolExtra() with
|
||||
{
|
||||
|
|
@ -1735,15 +1748,15 @@ public static class ConfigHandler
|
|||
{
|
||||
await RemoveServersViaSubid(config, subid, isSub);
|
||||
}
|
||||
var lstSsServer = WireguardFmt.ResolveConfig(strData);
|
||||
if (lstSsServer?.Count > 0)
|
||||
var lstServer = WireguardFmt.ResolveConfig(strData);
|
||||
if (lstServer?.Count > 0)
|
||||
{
|
||||
var counter = 0;
|
||||
foreach (var ssItem in lstSsServer)
|
||||
foreach (var item in lstServer)
|
||||
{
|
||||
ssItem.Subid = subid;
|
||||
ssItem.IsSub = isSub;
|
||||
if (await AddWireguardServer(config, ssItem) == 0)
|
||||
item.Subid = subid;
|
||||
item.IsSub = isSub;
|
||||
if (await AddWireguardServer(config, item) == 0)
|
||||
{
|
||||
counter++;
|
||||
}
|
||||
|
|
|
|||
2
v2rayN/ServiceLib/Resx/ResUI.Designer.cs
generated
2
v2rayN/ServiceLib/Resx/ResUI.Designer.cs
generated
|
|
@ -3448,7 +3448,7 @@ namespace ServiceLib.Resx {
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 Reserved (2,3,4) 的本地化字符串。
|
||||
/// 查找类似 Reserved 的本地化字符串。
|
||||
/// </summary>
|
||||
public static string TbReserved {
|
||||
get {
|
||||
|
|
|
|||
|
|
@ -1075,7 +1075,7 @@
|
|||
<value>کلید خصوصی</value>
|
||||
</data>
|
||||
<data name="TbReserved" xml:space="preserve">
|
||||
<value>Reserved (2,3,4)</value>
|
||||
<value>Reserved</value>
|
||||
</data>
|
||||
<data name="TbLocalAddress" xml:space="preserve">
|
||||
<value>آدرس (IPv4, IPv6)</value>
|
||||
|
|
|
|||
|
|
@ -1072,7 +1072,7 @@
|
|||
<value>PrivateKey</value>
|
||||
</data>
|
||||
<data name="TbReserved" xml:space="preserve">
|
||||
<value>Reserved (2,3,4)</value>
|
||||
<value>Reserved</value>
|
||||
</data>
|
||||
<data name="TbLocalAddress" xml:space="preserve">
|
||||
<value>Address (IPv4,IPv6)</value>
|
||||
|
|
|
|||
|
|
@ -1075,7 +1075,7 @@
|
|||
<value>Privát kulcs</value>
|
||||
</data>
|
||||
<data name="TbReserved" xml:space="preserve">
|
||||
<value>Fenntartott (2,3,4)</value>
|
||||
<value>Fenntartott</value>
|
||||
</data>
|
||||
<data name="TbLocalAddress" xml:space="preserve">
|
||||
<value>Cím (IPv4, IPv6)</value>
|
||||
|
|
|
|||
|
|
@ -1075,7 +1075,7 @@
|
|||
<value>Private Key</value>
|
||||
</data>
|
||||
<data name="TbReserved" xml:space="preserve">
|
||||
<value>Reserved (2,3,4)</value>
|
||||
<value>Reserved</value>
|
||||
</data>
|
||||
<data name="TbLocalAddress" xml:space="preserve">
|
||||
<value>Address (IPv4, IPv6)</value>
|
||||
|
|
|
|||
|
|
@ -1075,7 +1075,7 @@
|
|||
<value>Приватный ключ</value>
|
||||
</data>
|
||||
<data name="TbReserved" xml:space="preserve">
|
||||
<value>Зарезервировано (2, 3, 4)</value>
|
||||
<value>Зарезервировано</value>
|
||||
</data>
|
||||
<data name="TbLocalAddress" xml:space="preserve">
|
||||
<value>Адрес (IPv4, IPv6)</value>
|
||||
|
|
|
|||
|
|
@ -1072,7 +1072,7 @@
|
|||
<value>PrivateKey</value>
|
||||
</data>
|
||||
<data name="TbReserved" xml:space="preserve">
|
||||
<value>Reserved (2,3,4)</value>
|
||||
<value>Reserved</value>
|
||||
</data>
|
||||
<data name="TbLocalAddress" xml:space="preserve">
|
||||
<value>Address (IPv4,IPv6)</value>
|
||||
|
|
|
|||
|
|
@ -1072,7 +1072,7 @@
|
|||
<value>PrivateKey</value>
|
||||
</data>
|
||||
<data name="TbReserved" xml:space="preserve">
|
||||
<value>Reserved (2,3,4)</value>
|
||||
<value>Reserved</value>
|
||||
</data>
|
||||
<data name="TbLocalAddress" xml:space="preserve">
|
||||
<value>Address (Ipv4,Ipv6)</value>
|
||||
|
|
|
|||
|
|
@ -309,7 +309,7 @@ public partial class CoreConfigSingboxService
|
|||
{
|
||||
var protocolExtra = _node.GetProtocolExtra();
|
||||
|
||||
endpoint.address = Utils.String2List(protocolExtra.WgInterfaceAddress);
|
||||
endpoint.address = Utils.String2List(protocolExtra.WgInterfaceAddress)?.Select(s => s.Trim()).ToList() ?? ["172.16.0.2/32"];
|
||||
endpoint.type = Global.ProtocolTypes[_node.ConfigType];
|
||||
|
||||
switch (_node.ConfigType)
|
||||
|
|
@ -320,7 +320,7 @@ public partial class CoreConfigSingboxService
|
|||
{
|
||||
public_key = protocolExtra.WgPublicKey ?? string.Empty,
|
||||
pre_shared_key = protocolExtra.WgPresharedKey,
|
||||
reserved = Utils.String2List(protocolExtra.WgReserved)?.Select(int.Parse).ToList(),
|
||||
reserved = Utils.String2List(protocolExtra.WgReserved)?.Select(s => s.Trim()).Select(int.Parse).ToList(),
|
||||
address = _node.Address,
|
||||
port = _node.Port,
|
||||
allowed_ips = ["0.0.0.0/0", "::/0"],
|
||||
|
|
|
|||
|
|
@ -263,9 +263,9 @@ public partial class CoreConfigV2rayService
|
|||
};
|
||||
var setting = new Outboundsettings4Ray
|
||||
{
|
||||
address = Utils.String2List(protocolExtra.WgInterfaceAddress),
|
||||
address = Utils.String2List(protocolExtra.WgInterfaceAddress)?.Select(s => s.Trim()).ToList() ?? ["172.16.0.2/32"],
|
||||
secretKey = _node.Password,
|
||||
reserved = Utils.String2List(protocolExtra.WgReserved)?.Select(int.Parse).ToList(),
|
||||
reserved = Utils.String2List(protocolExtra.WgReserved)?.Select(s => s.Trim()).Select(int.Parse).ToList(),
|
||||
mtu = protocolExtra.WgMtu > 0 ? protocolExtra.WgMtu : Global.TunMtus.First(),
|
||||
peers = [peer]
|
||||
};
|
||||
|
|
|
|||
|
|
@ -563,7 +563,7 @@
|
|||
Grid.Column="1"
|
||||
Width="400"
|
||||
Margin="{StaticResource Margin4}"
|
||||
Watermark="2,3,4" />
|
||||
Watermark="0, 0, 0" />
|
||||
|
||||
<TextBlock
|
||||
Grid.Row="5"
|
||||
|
|
|
|||
|
|
@ -745,7 +745,7 @@
|
|||
Grid.Column="1"
|
||||
Width="400"
|
||||
Margin="{StaticResource Margin4}"
|
||||
materialDesign:HintAssist.Hint="2,3,4"
|
||||
materialDesign:HintAssist.Hint="0, 0, 0"
|
||||
Style="{StaticResource DefTextBox}" />
|
||||
|
||||
<TextBlock
|
||||
|
|
|
|||
Loading…
Reference in a new issue