mirror of
https://github.com/2dust/v2rayN.git
synced 2026-11-09 22:15:00 +03:00
Add Route Exclude Address setting and UI for sing-box tun
https://github.com/2dust/v2rayN/issues/9456
This commit is contained in:
@@ -148,6 +148,7 @@ public class TunModeItem
|
||||
public bool EnableIPv6Address { get; set; }
|
||||
public string IcmpRouting { get; set; }
|
||||
public bool EnableLegacyProtect { get; set; }
|
||||
public List<string>? RouteExcludeAddress { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
|
||||
@@ -110,6 +110,7 @@ public class Inbound4Sbox
|
||||
public bool? endpoint_independent_nat { get; set; }
|
||||
public string? stack { get; set; }
|
||||
public List<User4Sbox> users { get; set; }
|
||||
public List<string>? route_exclude_address { get; set; }
|
||||
}
|
||||
|
||||
public class User4Sbox
|
||||
|
||||
Generated
+29
-11
@@ -1,4 +1,4 @@
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:4.0.30319.42000
|
||||
@@ -3005,16 +3005,7 @@ namespace ServiceLib.Resx {
|
||||
return ResourceManager.GetString("TbEchConfigList", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 Verify Peer Cert By Name 的本地化字符串。
|
||||
/// </summary>
|
||||
public static string TbVerifyPeerCertByName {
|
||||
get {
|
||||
return ResourceManager.GetString("TbVerifyPeerCertByName", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 Edit 的本地化字符串。
|
||||
/// </summary>
|
||||
@@ -3546,6 +3537,24 @@ namespace ServiceLib.Resx {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 Route Exclude Address 的本地化字符串。
|
||||
/// </summary>
|
||||
public static string TbRouteExcludeAddress {
|
||||
get {
|
||||
return ResourceManager.GetString("TbRouteExcludeAddress", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 Use commas (,) to separate. 的本地化字符串。
|
||||
/// </summary>
|
||||
public static string TbRouteExcludeAddressTip {
|
||||
get {
|
||||
return ResourceManager.GetString("TbRouteExcludeAddressTip", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 tun: TUN inbound, socks: local port, socks2: second local port, socks3: LAN port 的本地化字符串。
|
||||
/// </summary>
|
||||
@@ -4716,6 +4725,15 @@ namespace ServiceLib.Resx {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 Verify Peer Cert By Name 的本地化字符串。
|
||||
/// </summary>
|
||||
public static string TbVerifyPeerCertByName {
|
||||
get {
|
||||
return ResourceManager.GetString("TbVerifyPeerCertByName", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 The delay: {0} ms, {1} 的本地化字符串。
|
||||
/// </summary>
|
||||
|
||||
@@ -1752,4 +1752,10 @@ The "Get Certificate" action may fail if a self-signed certificate is used or if
|
||||
<data name="MsgAllowInsecureDeprecated" xml:space="preserve">
|
||||
<value>Warning: Xray will disable allowInsecure (skip certificate verification) in August 2026. Please switch to pinnedPeerCertSha256 (fixed certificate fingerprint) as soon as possible. allowInsecure will not be usable after its expiration.</value>
|
||||
</data>
|
||||
</root>
|
||||
<data name="TbRouteExcludeAddress" xml:space="preserve">
|
||||
<value>Route Exclude Address</value>
|
||||
</data>
|
||||
<data name="TbRouteExcludeAddressTip" xml:space="preserve">
|
||||
<value>Use commas (,) to separate.</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1749,4 +1749,10 @@
|
||||
<data name="TbVerifyPeerCertByName" xml:space="preserve">
|
||||
<value>Verify Peer Cert By Name</value>
|
||||
</data>
|
||||
<data name="TbRouteExcludeAddress" xml:space="preserve">
|
||||
<value>路由排除地址</value>
|
||||
</data>
|
||||
<data name="TbRouteExcludeAddressTip" xml:space="preserve">
|
||||
<value>使用逗号 (,) 分隔</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1749,4 +1749,10 @@
|
||||
<data name="TbVerifyPeerCertByName" xml:space="preserve">
|
||||
<value>Verify Peer Cert By Name</value>
|
||||
</data>
|
||||
<data name="TbRouteExcludeAddress" xml:space="preserve">
|
||||
<value>路由排除位址</value>
|
||||
</data>
|
||||
<data name="TbRouteExcludeAddressTip" xml:space="preserve">
|
||||
<value>使用逗號 (,) 分隔</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -71,6 +71,7 @@ public partial class CoreConfigSingboxService
|
||||
{
|
||||
tunInbound.address = ["172.18.0.1/30"];
|
||||
}
|
||||
tunInbound.route_exclude_address = _config.TunModeItem.RouteExcludeAddress;
|
||||
|
||||
_coreConfig.inbounds.Add(tunInbound);
|
||||
}
|
||||
|
||||
@@ -100,6 +100,7 @@ public class OptionSettingViewModel : MyReactiveObject
|
||||
[Reactive] public bool TunEnableIPv6Address { get; set; }
|
||||
[Reactive] public string TunIcmpRouting { get; set; }
|
||||
[Reactive] public bool TunEnableLegacyProtect { get; set; }
|
||||
[Reactive] public string TunRouteExcludeAddress { get; set; }
|
||||
|
||||
#endregion Tun mode
|
||||
|
||||
@@ -228,6 +229,7 @@ public class OptionSettingViewModel : MyReactiveObject
|
||||
TunEnableIPv6Address = _config.TunModeItem.EnableIPv6Address;
|
||||
TunIcmpRouting = _config.TunModeItem.IcmpRouting;
|
||||
TunEnableLegacyProtect = _config.TunModeItem.EnableLegacyProtect;
|
||||
TunRouteExcludeAddress = Utils.List2String(_config.TunModeItem.RouteExcludeAddress, true);
|
||||
|
||||
#endregion Tun mode
|
||||
|
||||
@@ -397,6 +399,7 @@ public class OptionSettingViewModel : MyReactiveObject
|
||||
_config.TunModeItem.EnableIPv6Address = TunEnableIPv6Address;
|
||||
_config.TunModeItem.IcmpRouting = TunIcmpRouting;
|
||||
_config.TunModeItem.EnableLegacyProtect = TunEnableLegacyProtect;
|
||||
_config.TunModeItem.RouteExcludeAddress = Utils.String2List(TunRouteExcludeAddress);
|
||||
|
||||
//coreType
|
||||
await SaveCoreType();
|
||||
|
||||
Reference in New Issue
Block a user