mirror of
https://github.com/2dust/v2rayN.git
synced 2026-11-09 22:15:00 +03:00
Native Aot (#10295)
* Protect models * Json Context * YAML AOT-friendly optimization * Run the Test in AOT mode * Remove TaskScheduler * Clean build output * Workflows
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Configs;
|
||||
|
||||
[Serializable]
|
||||
public class Config
|
||||
{
|
||||
#region property
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Configs;
|
||||
|
||||
[Serializable]
|
||||
public class CoreBasicItem
|
||||
{
|
||||
public bool LogEnabled { get; set; }
|
||||
@@ -22,7 +21,6 @@ public class CoreBasicItem
|
||||
public bool EnableCacheFile4Sbox { get; set; } = true;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class InItem
|
||||
{
|
||||
public int LocalPort { get; set; }
|
||||
@@ -38,7 +36,6 @@ public class InItem
|
||||
public bool SecondLocalPortEnabled { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class KcpItem
|
||||
{
|
||||
public int Mtu { get; set; }
|
||||
@@ -54,7 +51,6 @@ public class KcpItem
|
||||
public int MaxSendingWindow { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class GrpcItem
|
||||
{
|
||||
public int? IdleTimeout { get; set; }
|
||||
@@ -63,7 +59,6 @@ public class GrpcItem
|
||||
public int? InitialWindowsSize { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class GUIItem
|
||||
{
|
||||
public bool AutoRun { get; set; }
|
||||
@@ -77,14 +72,12 @@ public class GUIItem
|
||||
public string? RootCertProvider { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class MsgUIItem
|
||||
{
|
||||
public string? MainMsgFilter { get; set; }
|
||||
public bool? AutoRefresh { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class UIItem
|
||||
{
|
||||
public bool EnableAutoAdjustMainLvColWidth { get; set; }
|
||||
@@ -106,7 +99,6 @@ public class UIItem
|
||||
public bool HideColumnIpInfo { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class ConstItem
|
||||
{
|
||||
public string? SubConvertUrl { get; set; }
|
||||
@@ -115,7 +107,6 @@ public class ConstItem
|
||||
public string? RouteRulesTemplateSourceUrl { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class KeyEventItem
|
||||
{
|
||||
public EGlobalHotkey EGlobalHotkey { get; set; }
|
||||
@@ -129,7 +120,6 @@ public class KeyEventItem
|
||||
public int? KeyCode { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class CoreTypeItem
|
||||
{
|
||||
public EConfigType ConfigType { get; set; }
|
||||
@@ -137,7 +127,6 @@ public class CoreTypeItem
|
||||
public ECoreType CoreType { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class TunModeItem
|
||||
{
|
||||
public bool EnableTun { get; set; }
|
||||
@@ -153,7 +142,6 @@ public class TunModeItem
|
||||
public string IPv6Address { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class SpeedTestItem
|
||||
{
|
||||
public int SpeedTestTimeout { get; set; }
|
||||
@@ -166,7 +154,6 @@ public class SpeedTestItem
|
||||
public int? SpeedTestDelayInterval { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class RoutingBasicItem
|
||||
{
|
||||
public string DomainStrategy { get; set; }
|
||||
@@ -174,7 +161,6 @@ public class RoutingBasicItem
|
||||
public string RoutingIndexId { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class ColumnItem
|
||||
{
|
||||
public string Name { get; set; }
|
||||
@@ -182,7 +168,6 @@ public class ColumnItem
|
||||
public int Index { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Mux4RayItem
|
||||
{
|
||||
public int? Concurrency { get; set; }
|
||||
@@ -190,7 +175,6 @@ public class Mux4RayItem
|
||||
public string? XudpProxyUDP443 { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Mux4SboxItem
|
||||
{
|
||||
public string Protocol { get; set; }
|
||||
@@ -198,7 +182,6 @@ public class Mux4SboxItem
|
||||
public bool? Padding { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class HysteriaItem
|
||||
{
|
||||
public int UpMbps { get; set; }
|
||||
@@ -206,7 +189,6 @@ public class HysteriaItem
|
||||
public int HopInterval { get; set; } = Global.Hysteria2DefaultHopInt;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class ClashUIItem
|
||||
{
|
||||
public bool EnableIPv6 { get; set; }
|
||||
@@ -219,7 +201,6 @@ public class ClashUIItem
|
||||
public List<ColumnItem> ConnectionsColumnItem { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class SystemProxyItem
|
||||
{
|
||||
public ESysProxyType SysProxyType { get; set; }
|
||||
@@ -230,7 +211,6 @@ public class SystemProxyItem
|
||||
public string? CustomSystemProxyScriptPath { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class WebDavItem
|
||||
{
|
||||
public string? Url { get; set; }
|
||||
@@ -239,7 +219,6 @@ public class WebDavItem
|
||||
public string? DirName { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class CheckUpdateItem
|
||||
{
|
||||
public bool UpdateViaProxy { get; set; } = true;
|
||||
@@ -247,7 +226,6 @@ public class CheckUpdateItem
|
||||
public List<string>? CheckPreReleaseCoreTypes { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Fragment4RayItem
|
||||
{
|
||||
public string? Packets { get; set; }
|
||||
@@ -262,7 +240,6 @@ public class Fragment4RayItem
|
||||
// migration end
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class WindowSizeItem
|
||||
{
|
||||
public string TypeName { get; set; }
|
||||
@@ -270,7 +247,6 @@ public class WindowSizeItem
|
||||
public int Height { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class SimpleDNSItem
|
||||
{
|
||||
public bool? UseSystemHosts { get; set; }
|
||||
@@ -293,7 +269,6 @@ public class SimpleDNSItem
|
||||
public bool? EnableHappyEyeballs { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class HappyEyeballs4RayItem
|
||||
{
|
||||
public int? TryDelayMs { get; set; }
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.CoreConfigs;
|
||||
|
||||
[Serializable]
|
||||
public class CoreInfo
|
||||
{
|
||||
public ECoreType CoreType { get; set; }
|
||||
|
||||
@@ -44,7 +44,6 @@ public class Route4Sbox
|
||||
public string? final { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Rule4Sbox
|
||||
{
|
||||
public string? outbound { get; set; }
|
||||
@@ -103,7 +102,6 @@ public class Rule4Sbox
|
||||
public bool? speculative { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class Inbound4Sbox
|
||||
{
|
||||
public string type { get; set; }
|
||||
@@ -232,7 +230,7 @@ public class Reality4Sbox
|
||||
public class Transport4Sbox
|
||||
{
|
||||
public string? type { get; set; }
|
||||
public object? host { get; set; }
|
||||
public JsonNode? host { get; set; }
|
||||
public string? path { get; set; }
|
||||
public Headers4Sbox? headers { get; set; }
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ namespace ServiceLib.Models.CoreConfigs;
|
||||
public class V2rayConfig
|
||||
{
|
||||
public Log4Ray log { get; set; }
|
||||
public object dns { get; set; }
|
||||
public JsonObject? dns { get; set; }
|
||||
public FakeDns4Ray? fakedns { get; set; }
|
||||
public List<Inbounds4Ray> inbounds { get; set; }
|
||||
public List<Outbounds4Ray> outbounds { get; set; }
|
||||
@@ -130,7 +130,7 @@ public class Outboundsettings4Ray
|
||||
|
||||
public string? secretKey { get; set; }
|
||||
|
||||
public object? address { get; set; }
|
||||
public JsonNode? address { get; set; }
|
||||
|
||||
public int? port { get; set; }
|
||||
|
||||
@@ -142,7 +142,7 @@ public class Outboundsettings4Ray
|
||||
|
||||
public string? email { get; set; }
|
||||
|
||||
public object? headers { get; set; }
|
||||
public JsonNode? headers { get; set; }
|
||||
|
||||
public List<WireguardPeer4Ray>? peers { get; set; }
|
||||
|
||||
@@ -199,8 +199,8 @@ public class Response4Ray
|
||||
|
||||
public class Dns4Ray
|
||||
{
|
||||
public Dictionary<string, object>? hosts { get; set; }
|
||||
public List<object> servers { get; set; }
|
||||
public Dictionary<string, JsonNode>? hosts { get; set; }
|
||||
public List<JsonNode> servers { get; set; }
|
||||
public bool? serveStale { get; set; }
|
||||
public bool? enableParallelQuery { get; set; }
|
||||
public string? queryStrategy { get; set; }
|
||||
@@ -226,7 +226,6 @@ public class Routing4Ray
|
||||
public List<BalancersItem4Ray>? balancers { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class RulesItem4Ray
|
||||
{
|
||||
public string? type { get; set; }
|
||||
@@ -321,7 +320,7 @@ public class StreamSettings4Ray
|
||||
public HysteriaSettings4Ray? hysteriaSettings { get; set; }
|
||||
public MasqueSettings4Ray? masqueSettings { get; set; }
|
||||
|
||||
public object? finalmask { get; set; }
|
||||
public JsonObject? finalmask { get; set; }
|
||||
|
||||
public Sockopt4Ray? sockopt { get; set; }
|
||||
}
|
||||
@@ -363,9 +362,9 @@ public class Header4Ray
|
||||
{
|
||||
public string type { get; set; }
|
||||
|
||||
public object request { get; set; }
|
||||
public JsonObject request { get; set; }
|
||||
|
||||
public object response { get; set; }
|
||||
public JsonObject response { get; set; }
|
||||
}
|
||||
|
||||
public class KcpSettings4Ray
|
||||
@@ -411,7 +410,7 @@ public class XhttpSettings4Ray
|
||||
public string? path { get; set; }
|
||||
public string? host { get; set; }
|
||||
public string? mode { get; set; }
|
||||
public object? extra { get; set; }
|
||||
public JsonObject? extra { get; set; }
|
||||
}
|
||||
|
||||
public class HttpSettings4Ray
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Dto;
|
||||
|
||||
[Serializable]
|
||||
public partial class ClashProxyModel : ReactiveObject
|
||||
{
|
||||
public string Name { get; set; }
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Dto;
|
||||
|
||||
[Serializable]
|
||||
public partial class ProfileItemModel : ReactiveObject
|
||||
{
|
||||
public bool IsActive { get; set; }
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Dto;
|
||||
|
||||
[Serializable]
|
||||
public class RoutingItemModel : RoutingItem
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Dto;
|
||||
|
||||
[Serializable]
|
||||
public class RoutingTemplate
|
||||
{
|
||||
public string Version { get; set; }
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Dto;
|
||||
|
||||
[Serializable]
|
||||
public class RulesItemModel : RulesItem
|
||||
{
|
||||
public string InboundTags { get; set; }
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Dto;
|
||||
|
||||
[Serializable]
|
||||
public class ServerSpeedItem : ServerStatItem
|
||||
{
|
||||
public long ProxyUp { get; set; }
|
||||
@@ -12,7 +11,6 @@ public class ServerSpeedItem : ServerStatItem
|
||||
public long DirectDown { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class TrafficItem
|
||||
{
|
||||
public ulong Up { get; set; }
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Dto;
|
||||
|
||||
[Serializable]
|
||||
public class ServerTestItem
|
||||
{
|
||||
public string? IndexId { get; set; }
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Dto;
|
||||
|
||||
[Serializable]
|
||||
public class SpeedTestResult
|
||||
{
|
||||
public string? IndexId { get; set; }
|
||||
|
||||
@@ -5,7 +5,6 @@ public class SsSIP008
|
||||
public List<SsServer>? servers { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class SsServer
|
||||
{
|
||||
public string? remarks { get; set; }
|
||||
|
||||
@@ -3,7 +3,6 @@ namespace ServiceLib.Models.Dto;
|
||||
/// <summary>
|
||||
/// https://github.com/2dust/v2rayN/wiki/
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class VmessQRCode
|
||||
{
|
||||
[JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Entities;
|
||||
|
||||
[Serializable]
|
||||
public class DNSItem
|
||||
{
|
||||
[PrimaryKey]
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Entities;
|
||||
|
||||
[Serializable]
|
||||
public class FullConfigTemplateItem
|
||||
{
|
||||
[PrimaryKey]
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Entities;
|
||||
|
||||
[Serializable]
|
||||
public class ProfileExItem
|
||||
{
|
||||
[PrimaryKey]
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
namespace ServiceLib.Models.Entities;
|
||||
|
||||
[Obsolete("Use ProtocolExtraItem instead.")]
|
||||
[Serializable]
|
||||
public class ProfileGroupItem
|
||||
{
|
||||
[PrimaryKey]
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Entities;
|
||||
|
||||
[Serializable]
|
||||
public class ProfileItem
|
||||
{
|
||||
private ProtocolExtraItem? _protocolExtraCache;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Entities;
|
||||
|
||||
[Serializable]
|
||||
public class RoutingItem
|
||||
{
|
||||
[PrimaryKey]
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Entities;
|
||||
|
||||
[Serializable]
|
||||
public class RulesItem
|
||||
{
|
||||
public string Id { get; set; }
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Entities;
|
||||
|
||||
[Serializable]
|
||||
public class ServerStatItem
|
||||
{
|
||||
[PrimaryKey]
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace ServiceLib.Models.Entities;
|
||||
|
||||
[Serializable]
|
||||
public class SubItem
|
||||
{
|
||||
[PrimaryKey]
|
||||
|
||||
Reference in New Issue
Block a user