diff --git a/v2rayN/v2rayN/App.xaml.cs b/v2rayN/v2rayN/App.xaml.cs index 78199e70..9fbaf10f 100644 --- a/v2rayN/v2rayN/App.xaml.cs +++ b/v2rayN/v2rayN/App.xaml.cs @@ -1,7 +1,7 @@ using System.Windows; using System.Windows.Threading; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; namespace v2rayN { @@ -27,7 +27,7 @@ namespace v2rayN /// protected override void OnStartup(StartupEventArgs e) { - var exePathKey = Utils.GetMD5(Utils.GetExePath()); + var exePathKey = Utile.GetMD5(Utile.GetExePath()); var rebootas = (e.Args ?? new string[] { }).Any(t => t == Global.RebootAs); ProgramStarted = new EventWaitHandle(false, EventResetMode.AutoReset, exePathKey, out bool bCreatedNew); @@ -42,7 +42,7 @@ namespace v2rayN Logging.Setup(); Init(); Logging.LoggingEnabled(_config.guiItem.enableLog); - Logging.SaveLog($"v2rayN start up | {Utils.GetVersion()} | {Utils.GetExePath()}"); + Logging.SaveLog($"v2rayN start up | {Utile.GetVersion()} | {Utile.GetExePath()}"); Logging.ClearLogs(); Thread.CurrentThread.CurrentUICulture = new(_config.uiItem.currentLanguage); diff --git a/v2rayN/v2rayN/Common/DownloaderHelper.cs b/v2rayN/v2rayN/Common/DownloaderHelper.cs index 21e16535..9ae47282 100644 --- a/v2rayN/v2rayN/Common/DownloaderHelper.cs +++ b/v2rayN/v2rayN/Common/DownloaderHelper.cs @@ -19,9 +19,9 @@ namespace v2rayN Uri uri = new(url); //Authorization Header var headers = new WebHeaderCollection(); - if (!Utils.IsNullOrEmpty(uri.UserInfo)) + if (!Utile.IsNullOrEmpty(uri.UserInfo)) { - headers.Add(HttpRequestHeader.Authorization, "Basic " + Utils.Base64Encode(uri.UserInfo)); + headers.Add(HttpRequestHeader.Authorization, "Basic " + Utile.Base64Encode(uri.UserInfo)); } var downloadOpt = new DownloadConfiguration() diff --git a/v2rayN/v2rayN/Common/FileManager.cs b/v2rayN/v2rayN/Common/FileManager.cs index 4fa627b8..6fc6a21c 100644 --- a/v2rayN/v2rayN/Common/FileManager.cs +++ b/v2rayN/v2rayN/Common/FileManager.cs @@ -20,7 +20,7 @@ namespace v2rayN return false; } - public static void UncompressFile(string fileName, byte[] content) + public static void UncompressedFile(string fileName, byte[] content) { try { @@ -67,7 +67,7 @@ namespace v2rayN } try { - if (!Utils.IsNullOrEmpty(ignoredName) && entry.Name.Contains(ignoredName)) + if (!Utile.IsNullOrEmpty(ignoredName) && entry.Name.Contains(ignoredName)) { continue; } diff --git a/v2rayN/v2rayN/Common/HttpClientHelper.cs b/v2rayN/v2rayN/Common/HttpClientHelper.cs index 7a635e29..7b623e96 100644 --- a/v2rayN/v2rayN/Common/HttpClientHelper.cs +++ b/v2rayN/v2rayN/Common/HttpClientHelper.cs @@ -35,7 +35,7 @@ namespace v2rayN public async Task PutAsync(string url, Dictionary headers) { - var jsonContent = JsonUtils.Serialize(headers); + var jsonContent = JsonUtile.Serialize(headers); var content = new StringContent(jsonContent, Encoding.UTF8, MediaTypeNames.Application.Json); var result = await httpClient.PutAsync(url, content); diff --git a/v2rayN/v2rayN/Common/JsonUtils.cs b/v2rayN/v2rayN/Common/JsonUtile.cs similarity index 99% rename from v2rayN/v2rayN/Common/JsonUtils.cs rename to v2rayN/v2rayN/Common/JsonUtile.cs index 2ee9ceb2..bf585cbd 100644 --- a/v2rayN/v2rayN/Common/JsonUtils.cs +++ b/v2rayN/v2rayN/Common/JsonUtile.cs @@ -5,7 +5,7 @@ using System.Text.Json.Serialization; namespace v2rayN { - internal class JsonUtils + internal class JsonUtile { /// /// DeepCopy diff --git a/v2rayN/v2rayN/Common/Logging.cs b/v2rayN/v2rayN/Common/Logging.cs index ba5b97e7..d989aabf 100644 --- a/v2rayN/v2rayN/Common/Logging.cs +++ b/v2rayN/v2rayN/Common/Logging.cs @@ -13,7 +13,7 @@ namespace v2rayN FileTarget fileTarget = new(); config.AddTarget("file", fileTarget); fileTarget.Layout = "${longdate}-${level:uppercase=true} ${message}"; - fileTarget.FileName = Utils.GetLogPath("${shortdate}.txt"); + fileTarget.FileName = Utile.GetLogPath("${shortdate}.txt"); config.LoggingRules.Add(new LoggingRule("*", LogLevel.Debug, fileTarget)); LogManager.Configuration = config; } @@ -33,7 +33,7 @@ namespace v2rayN try { var now = DateTime.Now.AddMonths(-1); - var dir = Utils.GetLogPath(); + var dir = Utile.GetLogPath(); var files = Directory.GetFiles(dir, "*.txt"); foreach (var filePath in files) { diff --git a/v2rayN/v2rayN/Common/QueryableExtension.cs b/v2rayN/v2rayN/Common/QueryableExtension.cs index 258456bf..113f2824 100644 --- a/v2rayN/v2rayN/Common/QueryableExtension.cs +++ b/v2rayN/v2rayN/Common/QueryableExtension.cs @@ -29,22 +29,22 @@ namespace v2rayN public static IOrderedQueryable OrderByInternal(IQueryable query, PropertyInfo memberProperty) {//public - return query.OrderBy(_GetLamba(memberProperty)); + return query.OrderBy(_GetLambda(memberProperty)); } public static IOrderedQueryable OrderByDescendingInternal(IQueryable query, PropertyInfo memberProperty) {//public - return query.OrderByDescending(_GetLamba(memberProperty)); + return query.OrderByDescending(_GetLambda(memberProperty)); } - private static Expression> _GetLamba(PropertyInfo memberProperty) + private static Expression> _GetLambda(PropertyInfo memberProperty) { if (memberProperty.PropertyType != typeof(TProp)) throw new Exception(); var thisArg = Expression.Parameter(typeof(T)); - var lamba = Expression.Lambda>(Expression.Property(thisArg, memberProperty), thisArg); + var lambda = Expression.Lambda>(Expression.Property(thisArg, memberProperty), thisArg); - return lamba; + return lambda; } } } \ No newline at end of file diff --git a/v2rayN/v2rayN/Common/SqliteHelper.cs b/v2rayN/v2rayN/Common/SqliteHelper.cs index 5daab53c..68d70fef 100644 --- a/v2rayN/v2rayN/Common/SqliteHelper.cs +++ b/v2rayN/v2rayN/Common/SqliteHelper.cs @@ -3,19 +3,19 @@ using System.Collections; namespace v2rayN { - public sealed class SqliteHelper + public sealed class SQLiteHelper { - private static readonly Lazy _instance = new(() => new()); - public static SqliteHelper Instance => _instance.Value; + private static readonly Lazy _instance = new(() => new()); + public static SQLiteHelper Instance => _instance.Value; private string _connstr; private SQLiteConnection _db; private SQLiteAsyncConnection _dbAsync; private static readonly object objLock = new(); public readonly string _configDB = "guiNDB.db"; - public SqliteHelper() + public SQLiteHelper() { - _connstr = Utils.GetConfigPath(_configDB); + _connstr = Utile.GetConfigPath(_configDB); _db = new SQLiteConnection(_connstr, false); _dbAsync = new SQLiteAsyncConnection(_connstr, false); } @@ -51,7 +51,7 @@ namespace v2rayN } } - public async Task Replacesync(object model) + public async Task ReplaceAsync(object model) { return await _dbAsync.InsertOrReplaceAsync(model); } diff --git a/v2rayN/v2rayN/Common/Utils.cs b/v2rayN/v2rayN/Common/Utile.cs similarity index 99% rename from v2rayN/v2rayN/Common/Utils.cs rename to v2rayN/v2rayN/Common/Utile.cs index a56e814e..7b5a1f5d 100644 --- a/v2rayN/v2rayN/Common/Utils.cs +++ b/v2rayN/v2rayN/Common/Utile.cs @@ -25,7 +25,7 @@ using ZXing.Windows.Compatibility; namespace v2rayN { - internal class Utils + internal class Utile { #region 资源Json操作 @@ -404,7 +404,7 @@ namespace v2rayN /// /// /// - public static bool IsNumberic(string oText) + public static bool IsNumeric(string oText) { try { @@ -456,7 +456,7 @@ namespace v2rayN string[] cidr = ip.Split('/'); if (cidr.Length == 2) { - if (!IsNumberic(cidr[0])) + if (!IsNumeric(cidr[0])) { return false; } @@ -581,7 +581,7 @@ namespace v2rayN try { int defaultPort = 9090; - if (!Utils.PortInUse(defaultPort)) + if (!Utile.PortInUse(defaultPort)) { return defaultPort; } diff --git a/v2rayN/v2rayN/Converters/MaterialDesignFonts.cs b/v2rayN/v2rayN/Converters/MaterialDesignFonts.cs index 0b6908d1..313182db 100644 --- a/v2rayN/v2rayN/Converters/MaterialDesignFonts.cs +++ b/v2rayN/v2rayN/Converters/MaterialDesignFonts.cs @@ -14,7 +14,7 @@ namespace v2rayN.Converters var fontFamily = LazyConfig.Instance.GetConfig().uiItem.currentFontFamily; if (!string.IsNullOrEmpty(fontFamily)) { - var fontPath = Utils.GetFontsPath(); + var fontPath = Utile.GetFontsPath(); MyFont = new FontFamily(new Uri(@$"file:///{fontPath}\"), $"./#{fontFamily}"); } } diff --git a/v2rayN/v2rayN/Global.cs b/v2rayN/v2rayN/Global.cs index 08dddfea..d85ffd7c 100644 --- a/v2rayN/v2rayN/Global.cs +++ b/v2rayN/v2rayN/Global.cs @@ -1,4 +1,4 @@ -using v2rayN.Mode; +using v2rayN.Model; namespace v2rayN { @@ -35,8 +35,8 @@ namespace v2rayN public const string CoreSpeedtestConfigFileName = "configSpeedtest.json"; public const string V2raySampleClient = "v2rayN.Sample.SampleClientConfig"; public const string SingboxSampleClient = "v2rayN.Sample.SingboxSampleClientConfig"; - public const string V2raySampleHttprequestFileName = "v2rayN.Sample.SampleHttprequest"; - public const string V2raySampleHttpresponseFileName = "v2rayN.Sample.SampleHttpresponse"; + public const string V2raySampleHttpRequestFileName = "v2rayN.Sample.SampleHttpRequest"; + public const string V2raySampleHttpResponseFileName = "v2rayN.Sample.SampleHttpResponse"; public const string V2raySampleInbound = "v2rayN.Sample.SampleInbound"; public const string V2raySampleOutbound = "v2rayN.Sample.SampleOutbound"; public const string SingboxSampleOutbound = "v2rayN.Sample.SingboxSampleOutbound"; @@ -62,7 +62,7 @@ namespace v2rayN public const string InboundHttp2 = "http2"; public const string Loopback = "127.0.0.1"; public const string InboundAPITagName = "api"; - public const string InboundAPIProtocal = "dokodemo-door"; + public const string InboundAPIProtocol = "dokodemo-door"; public const string HttpProtocol = "http://"; public const string HttpsProtocol = "https://"; @@ -74,8 +74,8 @@ namespace v2rayN public const string CustomIconName = "v2rayN.ico"; public const string IEProxyExceptions = "localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.*"; public const string RoutingRuleComma = ""; - public const string GrpcgunMode = "gun"; - public const string GrpcmultiMode = "multi"; + public const string GrpcGunMode = "gun"; + public const string GrpcMultiMode = "multi"; public const int MaxPort = 65536; public const string CommandClearMsg = "CommandClearMsg"; public const string DelayUnit = ""; @@ -122,7 +122,7 @@ namespace v2rayN @"https://www.google.com/generate_204", }; - public static readonly Dictionary UserAgentTxts = new() + public static readonly Dictionary UserAgentTexts = new() { {"chrome","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36" }, {"firefox","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0" }, @@ -157,23 +157,23 @@ namespace v2rayN {EConfigType.Wireguard,"wireguard"} }; - public static readonly List VmessSecuritys = new() { "aes-128-gcm", "chacha20-poly1305", "auto", "none", "zero" }; - public static readonly List SsSecuritys = new() { "aes-256-gcm", "aes-128-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305", "none", "plain" }; - public static readonly List SsSecuritysInSagerNet = new() { "none", "2022-blake3-aes-128-gcm", "2022-blake3-aes-256-gcm", "2022-blake3-chacha20-poly1305", "aes-128-gcm", "aes-192-gcm", "aes-256-gcm", "chacha20-ietf-poly1305", "xchacha20-ietf-poly1305", "rc4", "rc4-md5", "aes-128-ctr", "aes-192-ctr", "aes-256-ctr", "aes-128-cfb", "aes-192-cfb", "aes-256-cfb", "aes-128-cfb8", "aes-192-cfb8", "aes-256-cfb8", "aes-128-ofb", "aes-192-ofb", "aes-256-ofb", "bf-cfb", "cast5-cfb", "des-cfb", "idea-cfb", "rc2-cfb", "seed-cfb", "camellia-128-cfb", "camellia-192-cfb", "camellia-256-cfb", "camellia-128-cfb8", "camellia-192-cfb8", "camellia-256-cfb8", "salsa20", "chacha20", "chacha20-ietf", "xchacha20" }; - public static readonly List SsSecuritysInXray = new() { "aes-256-gcm", "aes-128-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305", "xchacha20-poly1305", "xchacha20-ietf-poly1305", "none", "plain", "2022-blake3-aes-128-gcm", "2022-blake3-aes-256-gcm", "2022-blake3-chacha20-poly1305" }; - public static readonly List SsSecuritysInSingbox = new() { "aes-256-gcm", "aes-192-gcm", "aes-128-gcm", "chacha20-ietf-poly1305", "xchacha20-ietf-poly1305", "none", "2022-blake3-aes-128-gcm", "2022-blake3-aes-256-gcm", "2022-blake3-chacha20-poly1305", "aes-128-ctr", "aes-192-ctr", "aes-256-ctr", "aes-128-cfb", "aes-192-cfb", "aes-256-cfb", "rc4-md5", "chacha20-ietf", "xchacha20" }; + public static readonly List VmessSecurities = new() { "aes-128-gcm", "chacha20-poly1305", "auto", "none", "zero" }; + public static readonly List SsSecurities = new() { "aes-256-gcm", "aes-128-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305", "none", "plain" }; + public static readonly List SsSecuritiesInSagerNet = new() { "none", "2022-blake3-aes-128-gcm", "2022-blake3-aes-256-gcm", "2022-blake3-chacha20-poly1305", "aes-128-gcm", "aes-192-gcm", "aes-256-gcm", "chacha20-ietf-poly1305", "xchacha20-ietf-poly1305", "rc4", "rc4-md5", "aes-128-ctr", "aes-192-ctr", "aes-256-ctr", "aes-128-cfb", "aes-192-cfb", "aes-256-cfb", "aes-128-cfb8", "aes-192-cfb8", "aes-256-cfb8", "aes-128-ofb", "aes-192-ofb", "aes-256-ofb", "bf-cfb", "cast5-cfb", "des-cfb", "idea-cfb", "rc2-cfb", "seed-cfb", "camellia-128-cfb", "camellia-192-cfb", "camellia-256-cfb", "camellia-128-cfb8", "camellia-192-cfb8", "camellia-256-cfb8", "salsa20", "chacha20", "chacha20-ietf", "xchacha20" }; + public static readonly List SsSecuritiesInXray = new() { "aes-256-gcm", "aes-128-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305", "xchacha20-poly1305", "xchacha20-ietf-poly1305", "none", "plain", "2022-blake3-aes-128-gcm", "2022-blake3-aes-256-gcm", "2022-blake3-chacha20-poly1305" }; + public static readonly List SsSecuritiesInSingbox = new() { "aes-256-gcm", "aes-192-gcm", "aes-128-gcm", "chacha20-ietf-poly1305", "xchacha20-ietf-poly1305", "none", "2022-blake3-aes-128-gcm", "2022-blake3-aes-256-gcm", "2022-blake3-chacha20-poly1305", "aes-128-ctr", "aes-192-ctr", "aes-256-ctr", "aes-128-cfb", "aes-192-cfb", "aes-256-cfb", "rc4-md5", "chacha20-ietf", "xchacha20" }; public static readonly List Flows = new() { "", "xtls-rprx-vision", "xtls-rprx-vision-udp443" }; public static readonly List Networks = new() { "tcp", "kcp", "ws", "h2", "quic", "grpc" }; public static readonly List KcpHeaderTypes = new() { "srtp", "utp", "wechat-video", "dtls", "wireguard" }; public static readonly List CoreTypes = new() { "v2fly", "SagerNet", "Xray", "sing_box" }; public static readonly List CoreTypes4VLESS = new() { "Xray", "sing_box" }; - public static readonly List DomainStrategys = new() { "AsIs", "IPIfNonMatch", "IPOnDemand" }; - public static readonly List DomainStrategys4Singbox = new() { "ipv4_only", "ipv6_only", "prefer_ipv4", "prefer_ipv6", "" }; + public static readonly List DomainStrategies = new() { "AsIs", "IPIfNonMatch", "IPOnDemand" }; + public static readonly List DomainStrategies4Singbox = new() { "ipv4_only", "ipv6_only", "prefer_ipv4", "prefer_ipv6", "" }; public static readonly List DomainMatchers = new() { "linear", "mph", "" }; public static readonly List Fingerprints = new() { "chrome", "firefox", "safari", "ios", "android", "edge", "360", "qq", "random", "randomized", "" }; public static readonly List UserAgent = new() { "chrome", "firefox", "safari", "edge", "none" }; - public static readonly List AllowInsecures = new() { "true", "false", "" }; + public static readonly List AllowInsecure = new() { "true", "false", "" }; public static readonly List DomainStrategy4Freedoms = new() { "AsIs", "UseIP", "UseIPv4", "UseIPv6", "" }; public static readonly List Languages = new() { "zh-Hans", "zh-Hant", "en", "fa-Ir", "ru" }; public static readonly List Alpns = new() { "h3", "h2", "http/1.1", "h3,h2,http/1.1", "h3,h2", "h2,http/1.1", "" }; diff --git a/v2rayN/v2rayN/Handler/ConfigHandler.cs b/v2rayN/v2rayN/Handler/ConfigHandler.cs index 74b68a13..09a52362 100644 --- a/v2rayN/v2rayN/Handler/ConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/ConfigHandler.cs @@ -1,7 +1,7 @@ using System.Data; using System.IO; using System.Text.RegularExpressions; -using v2rayN.Mode; +using v2rayN.Model; namespace v2rayN.Handler { @@ -23,15 +23,15 @@ namespace v2rayN.Handler public static int LoadConfig(ref Config? config) { //载入配置文件 - var result = Utils.LoadResource(Utils.GetConfigPath(configRes)); - if (!Utils.IsNullOrEmpty(result)) + var result = Utile.LoadResource(Utile.GetConfigPath(configRes)); + if (!Utile.IsNullOrEmpty(result)) { //转成Json - config = JsonUtils.Deserialize(result); + config = JsonUtile.Deserialize(result); } else { - if (File.Exists(Utils.GetConfigPath(configRes))) + if (File.Exists(Utile.GetConfigPath(configRes))) { Logging.SaveLog("LoadConfig Exception"); return -1; @@ -92,11 +92,11 @@ namespace v2rayN.Handler }; } //路由规则 - if (Utils.IsNullOrEmpty(config.routingBasicItem.domainStrategy)) + if (Utile.IsNullOrEmpty(config.routingBasicItem.domainStrategy)) { - config.routingBasicItem.domainStrategy = Global.DomainStrategys[0];//"IPIfNonMatch"; + config.routingBasicItem.domainStrategy = Global.DomainStrategies[0];//"IPIfNonMatch"; } - //if (Utils.IsNullOrEmpty(config.domainMatcher)) + //if (Utile.IsNullOrEmpty(config.domainMatcher)) //{ // config.domainMatcher = "linear"; //} @@ -151,7 +151,7 @@ namespace v2rayN.Handler { config.uiItem.mainColumnItem = new(); } - if (Utils.IsNullOrEmpty(config.uiItem.currentLanguage)) + if (Utile.IsNullOrEmpty(config.uiItem.currentLanguage)) { config.uiItem.currentLanguage = Global.Languages[0]; } @@ -160,7 +160,7 @@ namespace v2rayN.Handler { config.constItem = new ConstItem(); } - if (Utils.IsNullOrEmpty(config.constItem.defIEProxyExceptions)) + if (Utile.IsNullOrEmpty(config.constItem.defIEProxyExceptions)) { config.constItem.defIEProxyExceptions = Global.IEProxyExceptions; } @@ -173,11 +173,11 @@ namespace v2rayN.Handler { config.speedTestItem.speedTestTimeout = 10; } - if (Utils.IsNullOrEmpty(config.speedTestItem.speedTestUrl)) + if (Utile.IsNullOrEmpty(config.speedTestItem.speedTestUrl)) { config.speedTestItem.speedTestUrl = Global.SpeedTestUrls[0]; } - if (Utils.IsNullOrEmpty(config.speedTestItem.speedPingTestUrl)) + if (Utile.IsNullOrEmpty(config.speedTestItem.speedPingTestUrl)) { config.speedTestItem.speedPingTestUrl = Global.SpeedPingTestUrl; } @@ -227,9 +227,9 @@ namespace v2rayN.Handler try { //save temp file - var resPath = Utils.GetConfigPath(configRes); + var resPath = Utile.GetConfigPath(configRes); var tempPath = $"{resPath}_temp"; - if (JsonUtils.ToFile(config, tempPath) != 0) + if (JsonUtile.ToFile(config, tempPath) != 0) { return; } @@ -250,36 +250,36 @@ namespace v2rayN.Handler public static int ImportOldGuiConfig(Config config, string fileName) { - var result = Utils.LoadResource(fileName); - if (Utils.IsNullOrEmpty(result)) + var result = Utile.LoadResource(fileName); + if (Utile.IsNullOrEmpty(result)) { return -1; } - var configOld = JsonUtils.Deserialize(result); + var configOld = JsonUtile.Deserialize(result); if (configOld == null) { return -1; } - var subItem = JsonUtils.Deserialize>(JsonUtils.Serialize(configOld.subItem)); + var subItem = JsonUtile.Deserialize>(JsonUtile.Serialize(configOld.subItem)); foreach (var it in subItem) { - if (Utils.IsNullOrEmpty(it.id)) + if (Utile.IsNullOrEmpty(it.id)) { - it.id = Utils.GetGUID(false); + it.id = Utile.GetGUID(false); } - SqliteHelper.Instance.Replace(it); + SQLiteHelper.Instance.Replace(it); } - var profileItems = JsonUtils.Deserialize>(JsonUtils.Serialize(configOld.vmess)); + var profileItems = JsonUtile.Deserialize>(JsonUtile.Serialize(configOld.vmess)); foreach (var it in profileItems) { - if (Utils.IsNullOrEmpty(it.indexId)) + if (Utile.IsNullOrEmpty(it.indexId)) { - it.indexId = Utils.GetGUID(false); + it.indexId = Utile.GetGUID(false); } - SqliteHelper.Instance.Replace(it); + SQLiteHelper.Instance.Replace(it); } foreach (var it in configOld.routings) @@ -288,22 +288,22 @@ namespace v2rayN.Handler { continue; } - var routing = JsonUtils.Deserialize(JsonUtils.Serialize(it)); + var routing = JsonUtile.Deserialize(JsonUtile.Serialize(it)); foreach (var it2 in it.rules) { - it2.id = Utils.GetGUID(false); + it2.id = Utile.GetGUID(false); } routing.ruleNum = it.rules.Count; - routing.ruleSet = JsonUtils.Serialize(it.rules, false); + routing.ruleSet = JsonUtile.Serialize(it.rules, false); - if (Utils.IsNullOrEmpty(routing.id)) + if (Utile.IsNullOrEmpty(routing.id)) { - routing.id = Utils.GetGUID(false); + routing.id = Utile.GetGUID(false); } - SqliteHelper.Instance.Replace(routing); + SQLiteHelper.Instance.Replace(routing); } - config = JsonUtils.Deserialize(JsonUtils.Serialize(configOld)); + config = JsonUtile.Deserialize(JsonUtile.Serialize(configOld)); if (config.coreBasicItem == null) { @@ -369,7 +369,7 @@ namespace v2rayN.Handler profileItem.path = profileItem.path.TrimEx(); profileItem.streamSecurity = profileItem.streamSecurity.TrimEx(); - if (!Global.VmessSecuritys.Contains(profileItem.security)) + if (!Global.VmessSecurities.Contains(profileItem.security)) { return -1; } @@ -387,17 +387,17 @@ namespace v2rayN.Handler /// 移除服务器 /// /// - /// + /// /// - public static int RemoveServer(Config config, List indexs) + public static int RemoveServer(Config config, List indexes) { var subid = "TempRemoveSubId"; - foreach (var item in indexs) + foreach (var item in indexes) { item.subid = subid; } - SqliteHelper.Instance.UpdateAll(indexs); + SQLiteHelper.Instance.UpdateAll(indexes); RemoveServerViaSubid(config, subid, false); return 0; @@ -409,9 +409,9 @@ namespace v2rayN.Handler /// /// /// - public static int CopyServer(Config config, List indexs) + public static int CopyServer(Config config, List indexes) { - foreach (var it in indexs) + foreach (var it in indexes) { var item = LazyConfig.Instance.GetProfileItem(it.indexId); if (item is null) @@ -419,13 +419,13 @@ namespace v2rayN.Handler continue; } - ProfileItem profileItem = JsonUtils.DeepCopy(item); + ProfileItem profileItem = JsonUtile.DeepCopy(item); profileItem.indexId = string.Empty; profileItem.remarks = $"{item.remarks}-clone"; if (profileItem.configType == EConfigType.Custom) { - profileItem.address = Utils.GetConfigPath(profileItem.address); + profileItem.address = Utile.GetConfigPath(profileItem.address); if (AddCustomServer(config, profileItem, false) == 0) { } @@ -447,7 +447,7 @@ namespace v2rayN.Handler /// public static int SetDefaultServerIndex(Config config, string? indexId) { - if (Utils.IsNullOrEmpty(indexId)) + if (Utile.IsNullOrEmpty(indexId)) { return -1; } @@ -465,7 +465,7 @@ namespace v2rayN.Handler { return 0; } - if (SqliteHelper.Instance.Table().Where(t => t.indexId == config.indexId).Any()) + if (SQLiteHelper.Instance.Table().Where(t => t.indexId == config.indexId).Any()) { return 0; } @@ -473,7 +473,7 @@ namespace v2rayN.Handler { return SetDefaultServerIndex(config, lstProfile.Where(t => t.port > 0).FirstOrDefault()?.indexId); } - return SetDefaultServerIndex(config, SqliteHelper.Instance.Table().Where(t => t.port > 0).Select(t => t.indexId).FirstOrDefault()); + return SetDefaultServerIndex(config, SQLiteHelper.Instance.Table().Where(t => t.port > 0).Select(t => t.indexId).FirstOrDefault()); } public static ProfileItem? GetDefaultServer(Config config) @@ -481,7 +481,7 @@ namespace v2rayN.Handler var item = LazyConfig.Instance.GetProfileItem(config.indexId); if (item is null) { - var item2 = SqliteHelper.Instance.Table().FirstOrDefault(); + var item2 = SQLiteHelper.Instance.Table().FirstOrDefault(); SetDefaultServerIndex(config, item2?.indexId); return item2; } @@ -577,12 +577,12 @@ namespace v2rayN.Handler return -1; } var ext = Path.GetExtension(fileName); - string newFileName = $"{Utils.GetGUID()}{ext}"; - //newFileName = Path.Combine(Utils.GetTempPath(), newFileName); + string newFileName = $"{Utile.GetGUID()}{ext}"; + //newFileName = Path.Combine(Utile.GetTempPath(), newFileName); try { - File.Copy(fileName, Utils.GetConfigPath(newFileName)); + File.Copy(fileName, Utile.GetConfigPath(newFileName)); if (blDelete) { File.Delete(fileName); @@ -596,7 +596,7 @@ namespace v2rayN.Handler profileItem.address = newFileName; profileItem.configType = EConfigType.Custom; - if (Utils.IsNullOrEmpty(profileItem.remarks)) + if (Utile.IsNullOrEmpty(profileItem.remarks)) { profileItem.remarks = $"import custom@{DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")}"; } @@ -614,7 +614,7 @@ namespace v2rayN.Handler /// public static int EditCustomServer(Config config, ProfileItem profileItem) { - if (SqliteHelper.Instance.Update(profileItem) > 0) + if (SQLiteHelper.Instance.Update(profileItem) > 0) { return 0; } @@ -640,7 +640,7 @@ namespace v2rayN.Handler profileItem.id = profileItem.id.TrimEx(); profileItem.security = profileItem.security.TrimEx(); - if (!LazyConfig.Instance.GetShadowsocksSecuritys(profileItem).Contains(profileItem.security)) + if (!LazyConfig.Instance.GetShadowsocksSecurities(profileItem).Contains(profileItem.security)) { return -1; } @@ -683,7 +683,7 @@ namespace v2rayN.Handler profileItem.address = profileItem.address.TrimEx(); profileItem.id = profileItem.id.TrimEx(); - if (Utils.IsNullOrEmpty(profileItem.streamSecurity)) + if (Utile.IsNullOrEmpty(profileItem.streamSecurity)) { profileItem.streamSecurity = Global.StreamSecurity; } @@ -713,7 +713,7 @@ namespace v2rayN.Handler profileItem.path = profileItem.path.TrimEx(); profileItem.network = string.Empty; - if (Utils.IsNullOrEmpty(profileItem.streamSecurity)) + if (Utile.IsNullOrEmpty(profileItem.streamSecurity)) { profileItem.streamSecurity = Global.StreamSecurity; } @@ -748,11 +748,11 @@ namespace v2rayN.Handler profileItem.headerType = Global.TuicCongestionControls.FirstOrDefault()!; } - if (Utils.IsNullOrEmpty(profileItem.streamSecurity)) + if (Utile.IsNullOrEmpty(profileItem.streamSecurity)) { profileItem.streamSecurity = Global.StreamSecurity; } - if (Utils.IsNullOrEmpty(profileItem.alpn)) + if (Utile.IsNullOrEmpty(profileItem.alpn)) { profileItem.alpn = "h3"; } @@ -954,27 +954,27 @@ namespace v2rayN.Handler { profileItem.configVersion = 2; - if (!Utils.IsNullOrEmpty(profileItem.streamSecurity)) + if (!Utile.IsNullOrEmpty(profileItem.streamSecurity)) { - if (Utils.IsNullOrEmpty(profileItem.allowInsecure)) + if (Utile.IsNullOrEmpty(profileItem.allowInsecure)) { profileItem.allowInsecure = config.coreBasicItem.defAllowInsecure.ToString().ToLower(); } - if (Utils.IsNullOrEmpty(profileItem.fingerprint) && profileItem.streamSecurity == Global.StreamSecurityReality) + if (Utile.IsNullOrEmpty(profileItem.fingerprint) && profileItem.streamSecurity == Global.StreamSecurityReality) { profileItem.fingerprint = config.coreBasicItem.defFingerprint; } } - if (!Utils.IsNullOrEmpty(profileItem.network) && !Global.Networks.Contains(profileItem.network)) + if (!Utile.IsNullOrEmpty(profileItem.network) && !Global.Networks.Contains(profileItem.network)) { profileItem.network = Global.DefaultNetwork; } var maxSort = -1; - if (Utils.IsNullOrEmpty(profileItem.indexId)) + if (Utile.IsNullOrEmpty(profileItem.indexId)) { - profileItem.indexId = Utils.GetGUID(false); + profileItem.indexId = Utile.GetGUID(false); maxSort = ProfileExHandler.Instance.GetMaxSort(); } if (!toFile && maxSort < 0) @@ -988,7 +988,7 @@ namespace v2rayN.Handler if (toFile) { - SqliteHelper.Instance.Replace(profileItem); + SQLiteHelper.Instance.Replace(profileItem); } return 0; } @@ -1027,10 +1027,10 @@ namespace v2rayN.Handler } if (item.configType == EConfigType.Custom) { - File.Delete(Utils.GetConfigPath(item.address)); + File.Delete(Utile.GetConfigPath(item.address)); } - SqliteHelper.Instance.Delete(item); + SQLiteHelper.Instance.Delete(item); } catch (Exception ex) { @@ -1053,14 +1053,14 @@ namespace v2rayN.Handler /// 成功导入的数量 private static int AddBatchServers(Config config, string clipboardData, string subid, bool isSub, List lstOriSub) { - if (Utils.IsNullOrEmpty(clipboardData)) + if (Utile.IsNullOrEmpty(clipboardData)) { return -1; } string subFilter = string.Empty; //remove sub items - if (isSub && !Utils.IsNullOrEmpty(subid)) + if (isSub && !Utile.IsNullOrEmpty(subid)) { RemoveServerViaSubid(config, subid, isSub); subFilter = LazyConfig.Instance.GetSubItem(subid)?.filter ?? ""; @@ -1093,7 +1093,7 @@ namespace v2rayN.Handler } //exist sub items - if (isSub && !Utils.IsNullOrEmpty(subid)) + if (isSub && !Utile.IsNullOrEmpty(subid)) { var existItem = lstOriSub?.FirstOrDefault(t => t.isSub == isSub && config.uiItem.enableUpdateSubOnlyRemarksExist ? t.remarks == profileItem.remarks : CompareProfileItem(t, profileItem, true)); @@ -1102,7 +1102,7 @@ namespace v2rayN.Handler //Check for duplicate indexId if (lstDbIndexId is null) { - lstDbIndexId = LazyConfig.Instance.ProfileItemIndexs(""); + lstDbIndexId = LazyConfig.Instance.ProfileItemIndexes(""); } if (lstAdd.Any(t => t.indexId == existItem.indexId) || lstDbIndexId.Any(t => t == existItem.indexId)) @@ -1115,7 +1115,7 @@ namespace v2rayN.Handler } } //filter - if (!Utils.IsNullOrEmpty(subFilter)) + if (!Utile.IsNullOrEmpty(subFilter)) { if (!Regex.IsMatch(profileItem.remarks, subFilter)) { @@ -1148,7 +1148,7 @@ namespace v2rayN.Handler if (lstAdd.Count > 0) { - SqliteHelper.Instance.InsertAll(lstAdd); + SQLiteHelper.Instance.InsertAll(lstAdd); } ToJsonFile(config); @@ -1157,13 +1157,13 @@ namespace v2rayN.Handler private static int AddBatchServers4Custom(Config config, string clipboardData, string subid, bool isSub, List lstOriSub) { - if (Utils.IsNullOrEmpty(clipboardData)) + if (Utile.IsNullOrEmpty(clipboardData)) { return -1; } //判断str是否包含s的任意一个字符串 - static bool Containss(string str, params string[] s) + static bool Contains(string str, params string[] s) { foreach (var item in s) { @@ -1174,11 +1174,11 @@ namespace v2rayN.Handler ProfileItem profileItem = new(); //Is v2ray configuration - V2rayConfig? v2rayConfig = JsonUtils.Deserialize(clipboardData); + V2rayConfig? v2rayConfig = JsonUtile.Deserialize(clipboardData); if (v2rayConfig?.inbounds?.Count > 0 && v2rayConfig.outbounds?.Count > 0) { - var fileName = Utils.GetTempPath($"{Utils.GetGUID(false)}.json"); + var fileName = Utile.GetTempPath($"{Utile.GetGUID(false)}.json"); File.WriteAllText(fileName, clipboardData); profileItem.coreType = ECoreType.Xray; @@ -1186,9 +1186,9 @@ namespace v2rayN.Handler profileItem.remarks = "v2ray_custom"; } //Is Clash configuration - else if (Containss(clipboardData, "port", "socks-port", "proxies")) + else if (Contains(clipboardData, "port", "socks-port", "proxies")) { - var fileName = Utils.GetTempPath($"{Utils.GetGUID(false)}.yaml"); + var fileName = Utile.GetTempPath($"{Utile.GetGUID(false)}.yaml"); File.WriteAllText(fileName, clipboardData); profileItem.coreType = ECoreType.mihomo; @@ -1196,9 +1196,9 @@ namespace v2rayN.Handler profileItem.remarks = "clash_custom"; } //Is hysteria configuration - else if (Containss(clipboardData, "server", "up", "down", "listen", "", "")) + else if (Contains(clipboardData, "server", "up", "down", "listen", "", "")) { - var fileName = Utils.GetTempPath($"{Utils.GetGUID(false)}.json"); + var fileName = Utile.GetTempPath($"{Utile.GetGUID(false)}.json"); File.WriteAllText(fileName, clipboardData); profileItem.coreType = ECoreType.hysteria; @@ -1206,9 +1206,9 @@ namespace v2rayN.Handler profileItem.remarks = "hysteria_custom"; } //Is naiveproxy configuration - else if (Containss(clipboardData, "listen", "proxy", "", "")) + else if (Contains(clipboardData, "listen", "proxy", "", "")) { - var fileName = Utils.GetTempPath($"{Utils.GetGUID(false)}.json"); + var fileName = Utile.GetTempPath($"{Utile.GetGUID(false)}.json"); File.WriteAllText(fileName, clipboardData); profileItem.coreType = ECoreType.naiveproxy; @@ -1219,14 +1219,14 @@ namespace v2rayN.Handler else { return -1; - //var fileName = Utils.GetTempPath($"{Utils.GetGUID(false)}.txt"); + //var fileName = Utile.GetTempPath($"{Utile.GetGUID(false)}.txt"); //File.WriteAllText(fileName, clipboardData); //profileItem.address = fileName; //profileItem.remarks = "other_custom"; } - if (isSub && !Utils.IsNullOrEmpty(subid)) + if (isSub && !Utile.IsNullOrEmpty(subid)) { RemoveServerViaSubid(config, subid, isSub); } @@ -1237,7 +1237,7 @@ namespace v2rayN.Handler profileItem.subid = subid; profileItem.isSub = isSub; - if (Utils.IsNullOrEmpty(profileItem.address)) + if (Utile.IsNullOrEmpty(profileItem.address)) { return -1; } @@ -1254,21 +1254,21 @@ namespace v2rayN.Handler private static int AddBatchServers4SsSIP008(Config config, string clipboardData, string subid, bool isSub, List lstOriSub) { - if (Utils.IsNullOrEmpty(clipboardData)) + if (Utile.IsNullOrEmpty(clipboardData)) { return -1; } - if (isSub && !Utils.IsNullOrEmpty(subid)) + if (isSub && !Utile.IsNullOrEmpty(subid)) { RemoveServerViaSubid(config, subid, isSub); } //SsSIP008 - var lstSsServer = JsonUtils.Deserialize>(clipboardData); + var lstSsServer = JsonUtile.Deserialize>(clipboardData); if (lstSsServer?.Count <= 0) { - var ssSIP008 = JsonUtils.Deserialize(clipboardData); + var ssSIP008 = JsonUtile.Deserialize(clipboardData); if (ssSIP008?.servers?.Count > 0) { lstSsServer = ssSIP008.servers; @@ -1287,7 +1287,7 @@ namespace v2rayN.Handler security = it.method, id = it.password, address = it.server, - port = Utils.ToInt(it.server_port) + port = Utile.ToInt(it.server_port) }; ssItem.subid = subid; ssItem.isSub = isSub; @@ -1306,15 +1306,15 @@ namespace v2rayN.Handler public static int AddBatchServers(Config config, string clipboardData, string subid, bool isSub) { List? lstOriSub = null; - if (isSub && !Utils.IsNullOrEmpty(subid)) + if (isSub && !Utile.IsNullOrEmpty(subid)) { lstOriSub = LazyConfig.Instance.ProfileItems(subid); } var counter = 0; - if (Utils.IsBase64String(clipboardData)) + if (Utile.IsBase64String(clipboardData)) { - counter = AddBatchServers(config, Utils.Base64Decode(clipboardData), subid, isSub, lstOriSub); + counter = AddBatchServers(config, Utile.Base64Decode(clipboardData), subid, isSub, lstOriSub); } if (counter < 1) { @@ -1322,7 +1322,7 @@ namespace v2rayN.Handler } if (counter < 1) { - counter = AddBatchServers(config, Utils.Base64Decode(clipboardData), subid, isSub, lstOriSub); + counter = AddBatchServers(config, Utile.Base64Decode(clipboardData), subid, isSub, lstOriSub); } if (counter < 1) @@ -1352,7 +1352,7 @@ namespace v2rayN.Handler public static int AddSubItem(Config config, string url) { //already exists - if (SqliteHelper.Instance.Table().Where(e => e.url == url).Count() > 0) + if (SQLiteHelper.Instance.Table().Where(e => e.url == url).Count() > 0) { return 0; } @@ -1369,21 +1369,21 @@ namespace v2rayN.Handler public static int AddSubItem(Config config, SubItem subItem) { - if (Utils.IsNullOrEmpty(subItem.id)) + if (Utile.IsNullOrEmpty(subItem.id)) { - subItem.id = Utils.GetGUID(false); + subItem.id = Utile.GetGUID(false); if (subItem.sort <= 0) { var maxSort = 0; - if (SqliteHelper.Instance.Table().Count() > 0) + if (SQLiteHelper.Instance.Table().Count() > 0) { - maxSort = SqliteHelper.Instance.Table().Max(t => t == null ? 0 : t.sort); + maxSort = SQLiteHelper.Instance.Table().Max(t => t == null ? 0 : t.sort); } subItem.sort = maxSort + 1; } } - if (SqliteHelper.Instance.Replace(subItem) > 0) + if (SQLiteHelper.Instance.Replace(subItem) > 0) { return 0; } @@ -1401,22 +1401,22 @@ namespace v2rayN.Handler /// public static int RemoveServerViaSubid(Config config, string subid, bool isSub) { - if (Utils.IsNullOrEmpty(subid)) + if (Utile.IsNullOrEmpty(subid)) { return -1; } - var customProfile = SqliteHelper.Instance.Table().Where(t => t.subid == subid && t.configType == EConfigType.Custom).ToList(); + var customProfile = SQLiteHelper.Instance.Table().Where(t => t.subid == subid && t.configType == EConfigType.Custom).ToList(); if (isSub) { - SqliteHelper.Instance.Execute($"delete from ProfileItem where isSub = 1 and subid = '{subid}'"); + SQLiteHelper.Instance.Execute($"delete from ProfileItem where isSub = 1 and subid = '{subid}'"); } else { - SqliteHelper.Instance.Execute($"delete from ProfileItem where subid = '{subid}'"); + SQLiteHelper.Instance.Execute($"delete from ProfileItem where subid = '{subid}'"); } foreach (var item in customProfile) { - File.Delete(Utils.GetConfigPath(item.address)); + File.Delete(Utile.GetConfigPath(item.address)); } return 0; @@ -1429,7 +1429,7 @@ namespace v2rayN.Handler { return 0; } - SqliteHelper.Instance.Delete(item); + SQLiteHelper.Instance.Delete(item); RemoveServerViaSubid(config, id, false); return 0; @@ -1441,7 +1441,7 @@ namespace v2rayN.Handler { item.subid = subid; } - SqliteHelper.Instance.UpdateAll(lstProfile); + SQLiteHelper.Instance.UpdateAll(lstProfile); return 0; } @@ -1452,12 +1452,12 @@ namespace v2rayN.Handler public static int SaveRoutingItem(Config config, RoutingItem item) { - if (Utils.IsNullOrEmpty(item.id)) + if (Utile.IsNullOrEmpty(item.id)) { - item.id = Utils.GetGUID(false); + item.id = Utile.GetGUID(false); } - if (SqliteHelper.Instance.Replace(item) > 0) + if (SQLiteHelper.Instance.Replace(item) > 0) { return 0; } @@ -1475,12 +1475,12 @@ namespace v2rayN.Handler /// public static int AddBatchRoutingRules(ref RoutingItem routingItem, string clipboardData) { - if (Utils.IsNullOrEmpty(clipboardData)) + if (Utile.IsNullOrEmpty(clipboardData)) { return -1; } - var lstRules = JsonUtils.Deserialize>(clipboardData); + var lstRules = JsonUtile.Deserialize>(clipboardData); if (lstRules == null) { return -1; @@ -1488,17 +1488,17 @@ namespace v2rayN.Handler foreach (var item in lstRules) { - item.id = Utils.GetGUID(false); + item.id = Utile.GetGUID(false); } routingItem.ruleNum = lstRules.Count; - routingItem.ruleSet = JsonUtils.Serialize(lstRules, false); + routingItem.ruleSet = JsonUtile.Serialize(lstRules, false); - if (Utils.IsNullOrEmpty(routingItem.id)) + if (Utile.IsNullOrEmpty(routingItem.id)) { - routingItem.id = Utils.GetGUID(false); + routingItem.id = Utile.GetGUID(false); } - if (SqliteHelper.Instance.Replace(routingItem) > 0) + if (SQLiteHelper.Instance.Replace(routingItem) > 0) { return 0; } @@ -1530,7 +1530,7 @@ namespace v2rayN.Handler { return 0; } - var item = JsonUtils.DeepCopy(rules[index]); + var item = JsonUtile.DeepCopy(rules[index]); rules.RemoveAt(index); rules.Insert(0, item); @@ -1542,7 +1542,7 @@ namespace v2rayN.Handler { return 0; } - var item = JsonUtils.DeepCopy(rules[index]); + var item = JsonUtile.DeepCopy(rules[index]); rules.RemoveAt(index); rules.Insert(index - 1, item); @@ -1555,7 +1555,7 @@ namespace v2rayN.Handler { return 0; } - var item = JsonUtils.DeepCopy(rules[index]); + var item = JsonUtile.DeepCopy(rules[index]); rules.RemoveAt(index); rules.Insert(index + 1, item); @@ -1567,7 +1567,7 @@ namespace v2rayN.Handler { return 0; } - var item = JsonUtils.DeepCopy(rules[index]); + var item = JsonUtile.DeepCopy(rules[index]); rules.RemoveAt(index); rules.Add(item); @@ -1576,7 +1576,7 @@ namespace v2rayN.Handler case EMove.Position: { var removeItem = rules[index]; - var item = JsonUtils.DeepCopy(rules[index]); + var item = JsonUtile.DeepCopy(rules[index]); rules.Insert(pos, item); rules.Remove(removeItem); break; @@ -1587,7 +1587,7 @@ namespace v2rayN.Handler public static int SetDefaultRouting(Config config, RoutingItem routingItem) { - if (SqliteHelper.Instance.Table().Where(t => t.id == routingItem.id).Count() > 0) + if (SQLiteHelper.Instance.Table().Where(t => t.id == routingItem.id).Count() > 0) { config.routingBasicItem.routingIndexId = routingItem.id; } @@ -1602,7 +1602,7 @@ namespace v2rayN.Handler var item = LazyConfig.Instance.GetRoutingItem(config.routingBasicItem.routingIndexId); if (item is null) { - var item2 = SqliteHelper.Instance.Table().FirstOrDefault(t => t.locked == false); + var item2 = SQLiteHelper.Instance.Table().FirstOrDefault(t => t.locked == false); SetDefaultRouting(config, item2); return item2; } @@ -1623,7 +1623,7 @@ namespace v2rayN.Handler url = string.Empty, sort = maxSort + 1, }; - AddBatchRoutingRules(ref item2, Utils.GetEmbedText(Global.CustomRoutingFileName + "white")); + AddBatchRoutingRules(ref item2, Utile.GetEmbedText(Global.CustomRoutingFileName + "white")); //Blacklist var item3 = new RoutingItem() @@ -1632,7 +1632,7 @@ namespace v2rayN.Handler url = string.Empty, sort = maxSort + 2, }; - AddBatchRoutingRules(ref item3, Utils.GetEmbedText(Global.CustomRoutingFileName + "black")); + AddBatchRoutingRules(ref item3, Utile.GetEmbedText(Global.CustomRoutingFileName + "black")); //Global var item1 = new RoutingItem() @@ -1641,7 +1641,7 @@ namespace v2rayN.Handler url = string.Empty, sort = maxSort + 3, }; - AddBatchRoutingRules(ref item1, Utils.GetEmbedText(Global.CustomRoutingFileName + "global")); + AddBatchRoutingRules(ref item1, Utile.GetEmbedText(Global.CustomRoutingFileName + "global")); if (!blImportAdvancedRules) { @@ -1657,19 +1657,19 @@ namespace v2rayN.Handler url = string.Empty, locked = true, }; - AddBatchRoutingRules(ref item1, Utils.GetEmbedText(Global.CustomRoutingFileName + "locked")); + AddBatchRoutingRules(ref item1, Utile.GetEmbedText(Global.CustomRoutingFileName + "locked")); } return 0; } public static RoutingItem GetLockedRoutingItem(Config config) { - return SqliteHelper.Instance.Table().FirstOrDefault(it => it.locked == true); + return SQLiteHelper.Instance.Table().FirstOrDefault(it => it.locked == true); } public static void RemoveRoutingItem(RoutingItem routingItem) { - SqliteHelper.Instance.Delete(routingItem); + SQLiteHelper.Instance.Delete(routingItem); } #endregion Routing @@ -1701,12 +1701,12 @@ namespace v2rayN.Handler public static int SaveDNSItems(Config config, DNSItem item) { - if (Utils.IsNullOrEmpty(item.id)) + if (Utile.IsNullOrEmpty(item.id)) { - item.id = Utils.GetGUID(false); + item.id = Utile.GetGUID(false); } - if (SqliteHelper.Instance.Replace(item) > 0) + if (SQLiteHelper.Instance.Replace(item) > 0) { return 0; } diff --git a/v2rayN/v2rayN/Handler/CoreConfigHandler.cs b/v2rayN/v2rayN/Handler/CoreConfigHandler.cs index 8c61f69f..4d418e1b 100644 --- a/v2rayN/v2rayN/Handler/CoreConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/CoreConfigHandler.cs @@ -1,5 +1,5 @@ using System.IO; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.Handler @@ -33,13 +33,13 @@ namespace v2rayN.Handler { return -1; } - if (Utils.IsNullOrEmpty(fileName)) + if (Utile.IsNullOrEmpty(fileName)) { - content = JsonUtils.Serialize(singboxConfig); + content = JsonUtile.Serialize(singboxConfig); } else { - JsonUtils.ToFile(singboxConfig, fileName, false); + JsonUtile.ToFile(singboxConfig, fileName, false); } } else @@ -49,13 +49,13 @@ namespace v2rayN.Handler { return -1; } - if (Utils.IsNullOrEmpty(fileName)) + if (Utile.IsNullOrEmpty(fileName)) { - content = JsonUtils.Serialize(v2rayConfig); + content = JsonUtile.Serialize(v2rayConfig); } else { - JsonUtils.ToFile(v2rayConfig, fileName, false); + JsonUtile.ToFile(v2rayConfig, fileName, false); } } } @@ -87,7 +87,7 @@ namespace v2rayN.Handler string addressFileName = node.address; if (!File.Exists(addressFileName)) { - addressFileName = Utils.GetConfigPath(addressFileName); + addressFileName = Utile.GetConfigPath(addressFileName); } if (!File.Exists(addressFileName)) { @@ -158,7 +158,7 @@ namespace v2rayN.Handler { return -1; } - JsonUtils.ToFile(singboxConfig, fileName, false); + JsonUtile.ToFile(singboxConfig, fileName, false); } else { @@ -166,7 +166,7 @@ namespace v2rayN.Handler { return -1; } - JsonUtils.ToFile(v2rayConfig, fileName, false); + JsonUtile.ToFile(v2rayConfig, fileName, false); } return 0; } diff --git a/v2rayN/v2rayN/Handler/CoreConfigSingbox.cs b/v2rayN/v2rayN/Handler/CoreConfigSingbox.cs index 323c14bf..bdf9183c 100644 --- a/v2rayN/v2rayN/Handler/CoreConfigSingbox.cs +++ b/v2rayN/v2rayN/Handler/CoreConfigSingbox.cs @@ -1,6 +1,6 @@ using System.Net; using System.Net.NetworkInformation; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.Handler @@ -28,14 +28,14 @@ namespace v2rayN.Handler msg = ResUI.InitialConfiguration; - string result = Utils.GetEmbedText(Global.SingboxSampleClient); - if (Utils.IsNullOrEmpty(result)) + string result = Utile.GetEmbedText(Global.SingboxSampleClient); + if (Utile.IsNullOrEmpty(result)) { msg = ResUI.FailedGetDefaultConfiguration; return -1; } - singboxConfig = JsonUtils.Deserialize(result); + singboxConfig = JsonUtile.Deserialize(result); if (singboxConfig == null) { msg = ResUI.FailedGenDefaultConfiguration; @@ -95,7 +95,7 @@ namespace v2rayN.Handler if (_config.coreBasicItem.logEnabled) { var dtNow = DateTime.Now; - singboxConfig.log.output = Utils.GetLogPath($"sbox_{dtNow:yyyy-MM-dd}.txt"); + singboxConfig.log.output = Utile.GetLogPath($"sbox_{dtNow:yyyy-MM-dd}.txt"); } } catch (Exception ex) @@ -124,12 +124,12 @@ namespace v2rayN.Handler inbound.listen_port = LazyConfig.Instance.GetLocalPort(Global.InboundSocks); inbound.sniff = _config.inbound[0].sniffingEnabled; inbound.sniff_override_destination = _config.inbound[0].routeOnly ? false : _config.inbound[0].sniffingEnabled; - inbound.domain_strategy = Utils.IsNullOrEmpty(_config.routingBasicItem.domainStrategy4Singbox) ? null : _config.routingBasicItem.domainStrategy4Singbox; + inbound.domain_strategy = Utile.IsNullOrEmpty(_config.routingBasicItem.domainStrategy4Singbox) ? null : _config.routingBasicItem.domainStrategy4Singbox; if (_config.routingBasicItem.enableRoutingAdvanced) { var routing = ConfigHandler.GetDefaultRouting(_config); - if (!Utils.IsNullOrEmpty(routing.domainStrategy4Singbox)) + if (!Utile.IsNullOrEmpty(routing.domainStrategy4Singbox)) { inbound.domain_strategy = routing.domainStrategy4Singbox; } @@ -152,7 +152,7 @@ namespace v2rayN.Handler singboxConfig.inbounds.Add(inbound4); //auth - if (!Utils.IsNullOrEmpty(_config.inbound[0].user) && !Utils.IsNullOrEmpty(_config.inbound[0].pass)) + if (!Utile.IsNullOrEmpty(_config.inbound[0].user) && !Utile.IsNullOrEmpty(_config.inbound[0].pass)) { inbound3.users = new() { new() { username = _config.inbound[0].user, password = _config.inbound[0].pass } }; inbound4.users = new() { new() { username = _config.inbound[0].user, password = _config.inbound[0].pass } }; @@ -170,14 +170,14 @@ namespace v2rayN.Handler { if (_config.tunModeItem.mtu <= 0) { - _config.tunModeItem.mtu = Utils.ToInt(Global.TunMtus[0]); + _config.tunModeItem.mtu = Utile.ToInt(Global.TunMtus[0]); } - if (Utils.IsNullOrEmpty(_config.tunModeItem.stack)) + if (Utile.IsNullOrEmpty(_config.tunModeItem.stack)) { _config.tunModeItem.stack = Global.TunStacks[0]; } - var tunInbound = JsonUtils.Deserialize(Utils.GetEmbedText(Global.TunSingboxInboundFileName)) ?? new Inbound4Sbox { }; + var tunInbound = JsonUtile.Deserialize(Utile.GetEmbedText(Global.TunSingboxInboundFileName)) ?? new Inbound4Sbox { }; tunInbound.mtu = _config.tunModeItem.mtu; tunInbound.strict_route = _config.tunModeItem.strictRoute; tunInbound.stack = _config.tunModeItem.stack; @@ -200,7 +200,7 @@ namespace v2rayN.Handler private Inbound4Sbox GetInbound(Inbound4Sbox inItem, string tag, int offset, bool bSocks) { - var inbound = JsonUtils.DeepCopy(inItem); + var inbound = JsonUtile.DeepCopy(inItem); inbound.tag = tag; inbound.listen_port = inItem.listen_port + offset; inbound.type = bSocks ? Global.InboundSocks : Global.InboundHttp; @@ -220,7 +220,7 @@ namespace v2rayN.Handler outbound.uuid = node.id; outbound.alter_id = node.alterId; - if (Global.VmessSecuritys.Contains(node.security)) + if (Global.VmessSecurities.Contains(node.security)) { outbound.security = node.security; } @@ -235,7 +235,7 @@ namespace v2rayN.Handler { outbound.type = Global.ProtocolTypes[EConfigType.Shadowsocks]; - outbound.method = LazyConfig.Instance.GetShadowsocksSecuritys(node).Contains(node.security) ? node.security : "none"; + outbound.method = LazyConfig.Instance.GetShadowsocksSecurities(node).Contains(node.security) ? node.security : "none"; outbound.password = node.id; GenOutboundMux(node, outbound); @@ -245,8 +245,8 @@ namespace v2rayN.Handler outbound.type = Global.ProtocolTypes[EConfigType.Socks]; outbound.version = "5"; - if (!Utils.IsNullOrEmpty(node.security) - && !Utils.IsNullOrEmpty(node.id)) + if (!Utile.IsNullOrEmpty(node.security) + && !Utile.IsNullOrEmpty(node.id)) { outbound.username = node.security; outbound.password = node.id; @@ -260,7 +260,7 @@ namespace v2rayN.Handler outbound.packet_encoding = "xudp"; - if (Utils.IsNullOrEmpty(node.flow)) + if (Utile.IsNullOrEmpty(node.flow)) { GenOutboundMux(node, outbound); } @@ -283,7 +283,7 @@ namespace v2rayN.Handler outbound.password = node.id; - if (!Utils.IsNullOrEmpty(node.path)) + if (!Utile.IsNullOrEmpty(node.path)) { outbound.obfs = new() { @@ -309,9 +309,9 @@ namespace v2rayN.Handler outbound.private_key = node.id; outbound.peer_public_key = node.publicKey; - outbound.reserved = Utils.String2List(node.path).Select(int.Parse).ToArray(); - outbound.local_address = [.. Utils.String2List(node.requestHost)]; - outbound.mtu = Utils.ToInt(node.shortId.IsNullOrEmpty() ? Global.TunMtus.FirstOrDefault() : node.shortId); + outbound.reserved = Utile.String2List(node.path).Select(int.Parse).ToArray(); + outbound.local_address = [.. Utile.String2List(node.requestHost)]; + outbound.mtu = Utile.ToInt(node.shortId.IsNullOrEmpty() ? Global.TunMtus.FirstOrDefault() : node.shortId); } GenOutboundTls(node, outbound); @@ -360,16 +360,16 @@ namespace v2rayN.Handler } else if (!string.IsNullOrWhiteSpace(node.requestHost)) { - server_name = Utils.String2List(node.requestHost)[0]; + server_name = Utile.String2List(node.requestHost)[0]; } var tls = new Tls4Sbox() { enabled = true, server_name = server_name, - insecure = Utils.ToBool(node.allowInsecure.IsNullOrEmpty() ? _config.coreBasicItem.defAllowInsecure.ToString().ToLower() : node.allowInsecure), + insecure = Utile.ToBool(node.allowInsecure.IsNullOrEmpty() ? _config.coreBasicItem.defAllowInsecure.ToString().ToLower() : node.allowInsecure), alpn = node.GetAlpn(), }; - if (!Utils.IsNullOrEmpty(node.fingerprint)) + if (!Utile.IsNullOrEmpty(node.fingerprint)) { tls.utls = new Utls4Sbox() { @@ -407,14 +407,14 @@ namespace v2rayN.Handler { case "h2": transport.type = "http"; - transport.host = Utils.IsNullOrEmpty(node.requestHost) ? null : Utils.String2List(node.requestHost); - transport.path = Utils.IsNullOrEmpty(node.path) ? null : node.path; + transport.host = Utile.IsNullOrEmpty(node.requestHost) ? null : Utile.String2List(node.requestHost); + transport.path = Utile.IsNullOrEmpty(node.path) ? null : node.path; break; case "ws": transport.type = "ws"; - transport.path = Utils.IsNullOrEmpty(node.path) ? null : node.path; - if (!Utils.IsNullOrEmpty(node.requestHost)) + transport.path = Utile.IsNullOrEmpty(node.path) ? null : node.path; + if (!Utile.IsNullOrEmpty(node.requestHost)) { transport.headers = new() { @@ -465,14 +465,14 @@ namespace v2rayN.Handler //current proxy var outbound = singboxConfig.outbounds[0]; - var txtOutbound = Utils.GetEmbedText(Global.SingboxSampleOutbound); + var txtOutbound = Utile.GetEmbedText(Global.SingboxSampleOutbound); //Previous proxy var prevNode = LazyConfig.Instance.GetProfileItemViaRemarks(subItem.prevProfile!); if (prevNode is not null && prevNode.configType != EConfigType.Custom) { - var prevOutbound = JsonUtils.Deserialize(txtOutbound); + var prevOutbound = JsonUtile.Deserialize(txtOutbound); GenOutbound(prevNode, prevOutbound); prevOutbound.tag = $"{Global.ProxyTag}2"; singboxConfig.outbounds.Add(prevOutbound); @@ -485,7 +485,7 @@ namespace v2rayN.Handler if (nextNode is not null && nextNode.configType != EConfigType.Custom) { - var nextOutbound = JsonUtils.Deserialize(txtOutbound); + var nextOutbound = JsonUtile.Deserialize(txtOutbound); GenOutbound(nextNode, nextOutbound); nextOutbound.tag = Global.ProxyTag; singboxConfig.outbounds.Insert(0, nextOutbound); @@ -510,7 +510,7 @@ namespace v2rayN.Handler { singboxConfig.route.auto_detect_interface = true; - var tunRules = JsonUtils.Deserialize>(Utils.GetEmbedText(Global.TunSingboxRulesFileName)); + var tunRules = JsonUtile.Deserialize>(Utile.GetEmbedText(Global.TunSingboxRulesFileName)); singboxConfig.route.rules.AddRange(tunRules); GenRoutingDirectExe(out List lstDnsExe, out List lstDirectExe); @@ -533,7 +533,7 @@ namespace v2rayN.Handler var routing = ConfigHandler.GetDefaultRouting(_config); if (routing != null) { - var rules = JsonUtils.Deserialize>(routing.ruleSet); + var rules = JsonUtile.Deserialize>(routing.ruleSet); foreach (var item in rules!) { if (item.enabled) @@ -548,7 +548,7 @@ namespace v2rayN.Handler var lockedItem = ConfigHandler.GetLockedRoutingItem(_config); if (lockedItem != null) { - var rules = JsonUtils.Deserialize>(lockedItem.ruleSet); + var rules = JsonUtile.Deserialize>(lockedItem.ruleSet); foreach (var item in rules!) { GenRoutingUserRule(item, singboxConfig.route.rules); @@ -567,8 +567,8 @@ namespace v2rayN.Handler { lstDnsExe = new(); lstDirectExe = new(); - var coreInfos = LazyConfig.Instance.GetCoreInfos(); - foreach (var it in coreInfos) + var coreInfo = LazyConfig.Instance.GetCoreInfo(); + foreach (var it in coreInfo) { if (it.coreType == ECoreType.v2rayN) { @@ -603,7 +603,7 @@ namespace v2rayN.Handler outbound = item.outboundTag, }; - if (!Utils.IsNullOrEmpty(item.port)) + if (!Utile.IsNullOrEmpty(item.port)) { if (item.port.Contains("-")) { @@ -611,7 +611,7 @@ namespace v2rayN.Handler } else { - rule.port = new List { Utils.ToInt(item.port) }; + rule.port = new List { Utile.ToInt(item.port) }; } } if (item.protocol?.Count > 0) @@ -622,8 +622,8 @@ namespace v2rayN.Handler { rule.inbound = item.inboundTag; } - var rule2 = JsonUtils.DeepCopy(rule); - var rule3 = JsonUtils.DeepCopy(rule); + var rule2 = JsonUtile.DeepCopy(rule); + var rule3 = JsonUtile.DeepCopy(rule); var hasDomainIp = false; if (item.domain?.Count > 0) @@ -738,9 +738,9 @@ namespace v2rayN.Handler var tunDNS = item?.tunDNS; if (string.IsNullOrWhiteSpace(tunDNS)) { - tunDNS = Utils.GetEmbedText(Global.TunSingboxDNSFileName); + tunDNS = Utile.GetEmbedText(Global.TunSingboxDNSFileName); } - dns4Sbox = JsonUtils.Deserialize(tunDNS); + dns4Sbox = JsonUtile.Deserialize(tunDNS); } else { @@ -751,7 +751,7 @@ namespace v2rayN.Handler normalDNS = "{\"servers\":[{\"address\":\"tcp://8.8.8.8\"}]}"; } - dns4Sbox = JsonUtils.Deserialize(normalDNS); + dns4Sbox = JsonUtile.Deserialize(normalDNS); } if (dns4Sbox is null) { @@ -827,15 +827,15 @@ namespace v2rayN.Handler msg = ResUI.InitialConfiguration; - string result = Utils.GetEmbedText(Global.SingboxSampleClient); - string txtOutbound = Utils.GetEmbedText(Global.SingboxSampleOutbound); - if (Utils.IsNullOrEmpty(result) || txtOutbound.IsNullOrEmpty()) + string result = Utile.GetEmbedText(Global.SingboxSampleClient); + string txtOutbound = Utile.GetEmbedText(Global.SingboxSampleOutbound); + if (Utile.IsNullOrEmpty(result) || txtOutbound.IsNullOrEmpty()) { msg = ResUI.FailedGetDefaultConfiguration; return -1; } - singboxConfig = JsonUtils.Deserialize(result); + singboxConfig = JsonUtile.Deserialize(result); if (singboxConfig == null) { msg = ResUI.FailedGenDefaultConfiguration; @@ -874,13 +874,13 @@ namespace v2rayN.Handler if (it.configType is EConfigType.VMess or EConfigType.VLESS) { var item2 = LazyConfig.Instance.GetProfileItem(it.indexId); - if (item2 is null || Utils.IsNullOrEmpty(item2.id) || !Utils.IsGuidByParse(item2.id)) + if (item2 is null || Utile.IsNullOrEmpty(item2.id) || !Utile.IsGuidByParse(item2.id)) { continue; } } - //find unuse port + //find unused port var port = httpPort; for (int k = httpPort; k < Global.MaxPort; k++) { @@ -923,7 +923,7 @@ namespace v2rayN.Handler continue; } if (item.configType == EConfigType.Shadowsocks - && !Global.SsSecuritysInSingbox.Contains(item.security)) + && !Global.SsSecuritiesInSingbox.Contains(item.security)) { continue; } @@ -933,7 +933,7 @@ namespace v2rayN.Handler continue; } - var outbound = JsonUtils.Deserialize(txtOutbound); + var outbound = JsonUtile.Deserialize(txtOutbound); GenOutbound(item, outbound); outbound.tag = Global.ProxyTag + inbound.listen_port.ToString(); singboxConfig.outbounds.Add(outbound); diff --git a/v2rayN/v2rayN/Handler/CoreConfigV2ray.cs b/v2rayN/v2rayN/Handler/CoreConfigV2ray.cs index 8a650a73..54f1a270 100644 --- a/v2rayN/v2rayN/Handler/CoreConfigV2ray.cs +++ b/v2rayN/v2rayN/Handler/CoreConfigV2ray.cs @@ -1,6 +1,6 @@ using System.Net; using System.Net.NetworkInformation; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.Handler @@ -28,14 +28,14 @@ namespace v2rayN.Handler msg = ResUI.InitialConfiguration; - string result = Utils.GetEmbedText(Global.V2raySampleClient); - if (Utils.IsNullOrEmpty(result)) + string result = Utile.GetEmbedText(Global.V2raySampleClient); + if (Utile.IsNullOrEmpty(result)) { msg = ResUI.FailedGetDefaultConfiguration; return -1; } - v2rayConfig = JsonUtils.Deserialize(result); + v2rayConfig = JsonUtile.Deserialize(result); if (v2rayConfig == null) { msg = ResUI.FailedGenDefaultConfiguration; @@ -77,8 +77,8 @@ namespace v2rayN.Handler { var dtNow = DateTime.Now; v2rayConfig.log.loglevel = _config.coreBasicItem.loglevel; - v2rayConfig.log.access = Utils.GetLogPath($"Vaccess_{dtNow:yyyy-MM-dd}.txt"); - v2rayConfig.log.error = Utils.GetLogPath($"Verror_{dtNow:yyyy-MM-dd}.txt"); + v2rayConfig.log.access = Utile.GetLogPath($"Vaccess_{dtNow:yyyy-MM-dd}.txt"); + v2rayConfig.log.error = Utile.GetLogPath($"Verror_{dtNow:yyyy-MM-dd}.txt"); } else { @@ -120,7 +120,7 @@ namespace v2rayN.Handler v2rayConfig.inbounds.Add(inbound4); //auth - if (!Utils.IsNullOrEmpty(_config.inbound[0].user) && !Utils.IsNullOrEmpty(_config.inbound[0].pass)) + if (!Utile.IsNullOrEmpty(_config.inbound[0].user) && !Utile.IsNullOrEmpty(_config.inbound[0].pass)) { inbound3.settings.auth = "password"; inbound3.settings.accounts = new List { new AccountsItem4Ray() { user = _config.inbound[0].user, pass = _config.inbound[0].pass } }; @@ -145,13 +145,13 @@ namespace v2rayN.Handler private Inbounds4Ray? GetInbound(InItem inItem, string tag, int offset, bool bSocks) { - string result = Utils.GetEmbedText(Global.V2raySampleInbound); - if (Utils.IsNullOrEmpty(result)) + string result = Utile.GetEmbedText(Global.V2raySampleInbound); + if (Utile.IsNullOrEmpty(result)) { return null; } - var inbound = JsonUtils.Deserialize(result); + var inbound = JsonUtile.Deserialize(result); if (inbound == null) { return null; @@ -173,23 +173,23 @@ namespace v2rayN.Handler if (v2rayConfig.routing?.rules != null) { v2rayConfig.routing.domainStrategy = _config.routingBasicItem.domainStrategy; - v2rayConfig.routing.domainMatcher = Utils.IsNullOrEmpty(_config.routingBasicItem.domainMatcher) ? null : _config.routingBasicItem.domainMatcher; + v2rayConfig.routing.domainMatcher = Utile.IsNullOrEmpty(_config.routingBasicItem.domainMatcher) ? null : _config.routingBasicItem.domainMatcher; if (_config.routingBasicItem.enableRoutingAdvanced) { var routing = ConfigHandler.GetDefaultRouting(_config); if (routing != null) { - if (!Utils.IsNullOrEmpty(routing.domainStrategy)) + if (!Utile.IsNullOrEmpty(routing.domainStrategy)) { v2rayConfig.routing.domainStrategy = routing.domainStrategy; } - var rules = JsonUtils.Deserialize>(routing.ruleSet); + var rules = JsonUtile.Deserialize>(routing.ruleSet); foreach (var item in rules) { if (item.enabled) { - var item2 = JsonUtils.Deserialize(JsonUtils.Serialize(item)); + var item2 = JsonUtile.Deserialize(JsonUtile.Serialize(item)); GenRoutingUserRule(item2, v2rayConfig); } } @@ -200,10 +200,10 @@ namespace v2rayN.Handler var lockedItem = ConfigHandler.GetLockedRoutingItem(_config); if (lockedItem != null) { - var rules = JsonUtils.Deserialize>(lockedItem.ruleSet); + var rules = JsonUtile.Deserialize>(lockedItem.ruleSet); foreach (var item in rules) { - var item2 = JsonUtils.Deserialize(JsonUtils.Serialize(item)); + var item2 = JsonUtile.Deserialize(JsonUtile.Serialize(item)); GenRoutingUserRule(item2, v2rayConfig); } } @@ -225,7 +225,7 @@ namespace v2rayN.Handler { return 0; } - if (Utils.IsNullOrEmpty(rules.port)) + if (Utile.IsNullOrEmpty(rules.port)) { rules.port = null; } @@ -249,7 +249,7 @@ namespace v2rayN.Handler var hasDomainIp = false; if (rules.domain?.Count > 0) { - var it = JsonUtils.DeepCopy(rules); + var it = JsonUtile.DeepCopy(rules); it.ip = null; it.type = "field"; for (int k = it.domain.Count - 1; k >= 0; k--) @@ -265,7 +265,7 @@ namespace v2rayN.Handler } if (rules.ip?.Count > 0) { - var it = JsonUtils.DeepCopy(rules); + var it = JsonUtile.DeepCopy(rules); it.domain = null; it.type = "field"; v2rayConfig.routing.rules.Add(it); @@ -273,12 +273,12 @@ namespace v2rayN.Handler } if (!hasDomainIp) { - if (!Utils.IsNullOrEmpty(rules.port) + if (!Utile.IsNullOrEmpty(rules.port) || (rules.protocol?.Count > 0) || (rules.inboundTag?.Count > 0) ) { - var it = JsonUtils.DeepCopy(rules); + var it = JsonUtile.DeepCopy(rules); it.type = "field"; v2rayConfig.routing.rules.Add(it); } @@ -324,7 +324,7 @@ namespace v2rayN.Handler usersItem.id = node.id; usersItem.alterId = node.alterId; usersItem.email = Global.UserEMail; - if (Global.VmessSecuritys.Contains(node.security)) + if (Global.VmessSecurities.Contains(node.security)) { usersItem.security = node.security; } @@ -353,7 +353,7 @@ namespace v2rayN.Handler serversItem.address = node.address; serversItem.port = node.port; serversItem.password = node.id; - serversItem.method = LazyConfig.Instance.GetShadowsocksSecuritys(node).Contains(node.security) ? node.security : "none"; + serversItem.method = LazyConfig.Instance.GetShadowsocksSecurities(node).Contains(node.security) ? node.security : "none"; serversItem.ota = false; serversItem.level = 1; @@ -380,8 +380,8 @@ namespace v2rayN.Handler serversItem.method = null; serversItem.password = null; - if (!Utils.IsNullOrEmpty(node.security) - && !Utils.IsNullOrEmpty(node.id)) + if (!Utile.IsNullOrEmpty(node.security) + && !Utile.IsNullOrEmpty(node.id)) { SocksUsersItem4Ray socksUsersItem = new() { @@ -432,14 +432,14 @@ namespace v2rayN.Handler if (node.streamSecurity == Global.StreamSecurityReality || node.streamSecurity == Global.StreamSecurity) { - if (!Utils.IsNullOrEmpty(node.flow)) + if (!Utile.IsNullOrEmpty(node.flow)) { usersItem.flow = node.flow; GenOutboundMux(node, outbound, false); } } - if (node.streamSecurity == Global.StreamSecurityReality && Utils.IsNullOrEmpty(node.flow)) + if (node.streamSecurity == Global.StreamSecurityReality && Utile.IsNullOrEmpty(node.flow)) { GenOutboundMux(node, outbound, _config.coreBasicItem.muxEnabled); } @@ -514,7 +514,7 @@ namespace v2rayN.Handler { try { - useragent = Global.UserAgentTxts[_config.coreBasicItem.defUserAgent]; + useragent = Global.UserAgentTexts[_config.coreBasicItem.defUserAgent]; } catch (KeyNotFoundException) { @@ -529,7 +529,7 @@ namespace v2rayN.Handler TlsSettings4Ray tlsSettings = new() { - allowInsecure = Utils.ToBool(node.allowInsecure.IsNullOrEmpty() ? _config.coreBasicItem.defAllowInsecure.ToString().ToLower() : node.allowInsecure), + allowInsecure = Utile.ToBool(node.allowInsecure.IsNullOrEmpty() ? _config.coreBasicItem.defAllowInsecure.ToString().ToLower() : node.allowInsecure), alpn = node.GetAlpn(), fingerprint = node.fingerprint.IsNullOrEmpty() ? _config.coreBasicItem.defFingerprint : node.fingerprint }; @@ -539,7 +539,7 @@ namespace v2rayN.Handler } else if (!string.IsNullOrWhiteSpace(host)) { - tlsSettings.serverName = Utils.String2List(host)[0]; + tlsSettings.serverName = Utile.String2List(host)[0]; } streamSettings.tlsSettings = tlsSettings; } @@ -581,7 +581,7 @@ namespace v2rayN.Handler { type = node.headerType }; - if (!Utils.IsNullOrEmpty(node.path)) + if (!Utile.IsNullOrEmpty(node.path)) { kcpSettings.seed = node.path; } @@ -613,7 +613,7 @@ namespace v2rayN.Handler if (!string.IsNullOrWhiteSpace(host)) { - httpSettings.host = Utils.String2List(host); + httpSettings.host = Utile.String2List(host); } httpSettings.path = node.path; @@ -649,7 +649,7 @@ namespace v2rayN.Handler GrpcSettings4Ray grpcSettings = new() { serviceName = node.path, - multiMode = (node.headerType == Global.GrpcmultiMode), + multiMode = (node.headerType == Global.GrpcMultiMode), idle_timeout = _config.grpcItem.idle_timeout, health_check_timeout = _config.grpcItem.health_check_timeout, permit_without_stream = _config.grpcItem.permit_without_stream, @@ -671,7 +671,7 @@ namespace v2rayN.Handler }; //request Host - string request = Utils.GetEmbedText(Global.V2raySampleHttprequestFileName); + string request = Utile.GetEmbedText(Global.V2raySampleHttpRequestFileName); string[] arrHost = host.Split(','); string host2 = string.Join("\",\"", arrHost); request = request.Replace("$requestHost$", $"\"{host2}\""); @@ -679,13 +679,13 @@ namespace v2rayN.Handler request = request.Replace("$requestUserAgent$", $"\"{useragent}\""); //Path string pathHttp = @"/"; - if (!Utils.IsNullOrEmpty(node.path)) + if (!Utile.IsNullOrEmpty(node.path)) { string[] arrPath = node.path.Split(','); pathHttp = string.Join("\",\"", arrPath); } request = request.Replace("$requestPath$", $"\"{pathHttp}\""); - tcpSettings.header.request = JsonUtils.Deserialize(request); + tcpSettings.header.request = JsonUtile.Deserialize(request); streamSettings.tcpSettings = tcpSettings; } @@ -719,7 +719,7 @@ namespace v2rayN.Handler outbound.settings.userLevel = 0; } - var obj = JsonUtils.ParseJson(normalDNS); + var obj = JsonUtile.ParseJson(normalDNS); if (obj is null) { List servers = []; @@ -728,14 +728,14 @@ namespace v2rayN.Handler { servers.Add(str); } - obj = JsonUtils.ParseJson("{}"); - obj["servers"] = JsonUtils.SerializeToNode(servers); + obj = JsonUtile.ParseJson("{}"); + obj["servers"] = JsonUtile.SerializeToNode(servers); } // 追加至 dns 设置 if (item.useSystemHosts) { - var systemHosts = Utils.GetSystemHosts(); + var systemHosts = Utile.GetSystemHosts(); if (systemHosts.Count > 0) { var normalHost = obj["hosts"]; @@ -789,7 +789,7 @@ namespace v2rayN.Handler apiInbound.tag = tag; apiInbound.listen = Global.Loopback; apiInbound.port = LazyConfig.Instance.StatePort; - apiInbound.protocol = Global.InboundAPIProtocal; + apiInbound.protocol = Global.InboundAPIProtocol; apiInboundSettings.address = Global.Loopback; apiInbound.settings = apiInboundSettings; v2rayConfig.inbounds.Add(apiInbound); @@ -826,7 +826,7 @@ namespace v2rayN.Handler //current proxy var outbound = v2rayConfig.outbounds[0]; - var txtOutbound = Utils.GetEmbedText(Global.V2raySampleOutbound); + var txtOutbound = Utile.GetEmbedText(Global.V2raySampleOutbound); //Previous proxy var prevNode = LazyConfig.Instance.GetProfileItemViaRemarks(subItem.prevProfile!); @@ -836,7 +836,7 @@ namespace v2rayN.Handler && prevNode.configType != EConfigType.Tuic && prevNode.configType != EConfigType.Wireguard) { - var prevOutbound = JsonUtils.Deserialize(txtOutbound); + var prevOutbound = JsonUtile.Deserialize(txtOutbound); GenOutbound(prevNode, prevOutbound); prevOutbound.tag = $"{Global.ProxyTag}2"; v2rayConfig.outbounds.Add(prevOutbound); @@ -855,7 +855,7 @@ namespace v2rayN.Handler && nextNode.configType != EConfigType.Tuic && nextNode.configType != EConfigType.Wireguard) { - var nextOutbound = JsonUtils.Deserialize(txtOutbound); + var nextOutbound = JsonUtile.Deserialize(txtOutbound); GenOutbound(nextNode, nextOutbound); nextOutbound.tag = Global.ProxyTag; v2rayConfig.outbounds.Insert(0, nextOutbound); @@ -892,15 +892,15 @@ namespace v2rayN.Handler msg = ResUI.InitialConfiguration; - string result = Utils.GetEmbedText(Global.V2raySampleClient); - string txtOutbound = Utils.GetEmbedText(Global.V2raySampleOutbound); - if (Utils.IsNullOrEmpty(result) || txtOutbound.IsNullOrEmpty()) + string result = Utile.GetEmbedText(Global.V2raySampleClient); + string txtOutbound = Utile.GetEmbedText(Global.V2raySampleOutbound); + if (Utile.IsNullOrEmpty(result) || txtOutbound.IsNullOrEmpty()) { msg = ResUI.FailedGetDefaultConfiguration; return -1; } - v2rayConfig = JsonUtils.Deserialize(result); + v2rayConfig = JsonUtile.Deserialize(result); if (v2rayConfig == null) { msg = ResUI.FailedGenDefaultConfiguration; @@ -938,13 +938,13 @@ namespace v2rayN.Handler if (it.configType is EConfigType.VMess or EConfigType.VLESS) { var item2 = LazyConfig.Instance.GetProfileItem(it.indexId); - if (item2 is null || Utils.IsNullOrEmpty(item2.id) || !Utils.IsGuidByParse(item2.id)) + if (item2 is null || Utile.IsNullOrEmpty(item2.id) || !Utile.IsGuidByParse(item2.id)) { continue; } } - //find unuse port + //find unused port var port = httpPort; for (int k = httpPort; k < Global.MaxPort; k++) { @@ -987,7 +987,7 @@ namespace v2rayN.Handler continue; } if (item.configType == EConfigType.Shadowsocks - && !Global.SsSecuritysInXray.Contains(item.security)) + && !Global.SsSecuritiesInXray.Contains(item.security)) { continue; } @@ -997,7 +997,7 @@ namespace v2rayN.Handler continue; } - var outbound = JsonUtils.Deserialize(txtOutbound); + var outbound = JsonUtile.Deserialize(txtOutbound); GenOutbound(item, outbound); outbound.tag = Global.ProxyTag + inbound.port.ToString(); v2rayConfig.outbounds.Add(outbound); diff --git a/v2rayN/v2rayN/Handler/CoreHandler.cs b/v2rayN/v2rayN/Handler/CoreHandler.cs index cf6fca78..ec21c729 100644 --- a/v2rayN/v2rayN/Handler/CoreHandler.cs +++ b/v2rayN/v2rayN/Handler/CoreHandler.cs @@ -2,7 +2,7 @@ using System.IO; using System.Reactive.Linq; using System.Text; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.Handler @@ -22,8 +22,8 @@ namespace v2rayN.Handler _config = config; _updateFunc = update; - Environment.SetEnvironmentVariable("v2ray.location.asset", Utils.GetBinPath(""), EnvironmentVariableTarget.Process); - Environment.SetEnvironmentVariable("xray.location.asset", Utils.GetBinPath(""), EnvironmentVariableTarget.Process); + Environment.SetEnvironmentVariable("v2ray.location.asset", Utile.GetBinPath(""), EnvironmentVariableTarget.Process); + Environment.SetEnvironmentVariable("xray.location.asset", Utile.GetBinPath(""), EnvironmentVariableTarget.Process); } public void LoadCore() @@ -35,7 +35,7 @@ namespace v2rayN.Handler return; } - string fileName = Utils.GetConfigPath(Global.CoreConfigFileName); + string fileName = Utile.GetConfigPath(Global.CoreConfigFileName); if (CoreConfigHandler.GenerateClientConfig(node, fileName, out string msg, out string content) != 0) { ShowMsg(false, msg); @@ -48,7 +48,7 @@ namespace v2rayN.Handler if (_config.tunModeItem.enableTun) { Thread.Sleep(1000); - Utils.RemoveTunDevice(); + Utile.RemoveTunDevice(); } CoreStart(node); @@ -77,7 +77,7 @@ namespace v2rayN.Handler { int pid = -1; var coreType = selecteds.Exists(t => t.configType == EConfigType.Hysteria2 || t.configType == EConfigType.Tuic || t.configType == EConfigType.Wireguard) ? ECoreType.sing_box : ECoreType.Xray; - string configPath = Utils.GetConfigPath(Global.CoreSpeedtestConfigFileName); + string configPath = Utile.GetConfigPath(Global.CoreSpeedtestConfigFileName); if (CoreConfigHandler.GenerateClientSpeedtestConfig(_config, configPath, selecteds, coreType, out string msg) != 0) { ShowMsg(false, msg); @@ -113,8 +113,8 @@ namespace v2rayN.Handler if (!hasProc) { - var coreInfos = LazyConfig.Instance.GetCoreInfos(); - foreach (var it in coreInfos) + var coreInfo = LazyConfig.Instance.GetCoreInfo(); + foreach (var it in coreInfo) { if (it.coreType == ECoreType.v2rayN) { @@ -126,7 +126,7 @@ namespace v2rayN.Handler foreach (Process p in existing) { string? path = p.MainModule?.FileName; - if (path == $"{Utils.GetBinPath(vName, it.coreType.ToString())}.exe") + if (path == $"{Utile.GetBinPath(vName, it.coreType.ToString())}.exe") { KillProcess(p); } @@ -162,16 +162,16 @@ namespace v2rayN.Handler foreach (string name in coreInfo.coreExes) { string vName = $"{name}.exe"; - vName = Utils.GetBinPath(vName, coreInfo.coreType.ToString()); + vName = Utile.GetBinPath(vName, coreInfo.coreType.ToString()); if (File.Exists(vName)) { fileName = vName; break; } } - if (Utils.IsNullOrEmpty(fileName)) + if (Utile.IsNullOrEmpty(fileName)) { - string msg = string.Format(ResUI.NotFoundCore, Utils.GetBinPath("", coreInfo.coreType.ToString()), string.Join(", ", coreInfo.coreExes.ToArray()), coreInfo.coreUrl); + string msg = string.Format(ResUI.NotFoundCore, Utile.GetBinPath("", coreInfo.coreType.ToString()), string.Join(", ", coreInfo.coreExes.ToArray()), coreInfo.coreUrl); Logging.SaveLog(msg); ShowMsg(false, msg); } @@ -214,7 +214,7 @@ namespace v2rayN.Handler address = Global.Loopback, port = node.preSocksPort }; - string fileName2 = Utils.GetConfigPath(Global.CorePreConfigFileName); + string fileName2 = Utile.GetConfigPath(Global.CorePreConfigFileName); if (CoreConfigHandler.GenerateClientConfig(itemSocks, fileName2, out string msg2, out string configStr) == 0) { var coreInfo2 = LazyConfig.Instance.GetCoreInfo(ECoreType.sing_box); @@ -267,7 +267,7 @@ namespace v2rayN.Handler try { string fileName = CoreFindExe(coreInfo); - if (Utils.IsNullOrEmpty(fileName)) + if (Utile.IsNullOrEmpty(fileName)) { return null; } @@ -277,7 +277,7 @@ namespace v2rayN.Handler { FileName = fileName, Arguments = string.Format(coreInfo.arguments, configPath), - WorkingDirectory = Utils.GetConfigPath(), + WorkingDirectory = Utile.GetConfigPath(), UseShellExecute = false, RedirectStandardOutput = displayLog, RedirectStandardError = displayLog, diff --git a/v2rayN/v2rayN/Handler/DownloadHandle.cs b/v2rayN/v2rayN/Handler/DownloadHandle.cs index 62bb2d62..67000d65 100644 --- a/v2rayN/v2rayN/Handler/DownloadHandle.cs +++ b/v2rayN/v2rayN/Handler/DownloadHandle.cs @@ -33,7 +33,7 @@ namespace v2rayN.Handler { try { - Utils.SetSecurityProtocol(LazyConfig.Instance.GetConfig().guiItem.enableSecurityProtocolTls13); + Utile.SetSecurityProtocol(LazyConfig.Instance.GetConfig().guiItem.enableSecurityProtocolTls13); var progress = new Progress(); progress.ProgressChanged += (sender, value) => @@ -65,7 +65,7 @@ namespace v2rayN.Handler { try { - Utils.SetSecurityProtocol(LazyConfig.Instance.GetConfig().guiItem.enableSecurityProtocolTls13); + Utile.SetSecurityProtocol(LazyConfig.Instance.GetConfig().guiItem.enableSecurityProtocolTls13); UpdateCompleted?.Invoke(this, new ResultEventArgs(false, $"{ResUI.Downloading} {url}")); var progress = new Progress(); @@ -77,7 +77,7 @@ namespace v2rayN.Handler var webProxy = GetWebProxy(blProxy); await DownloaderHelper.Instance.DownloadFileAsync(webProxy, url, - Utils.GetTempPath(Utils.GetDownloadFileName(url)), + Utile.GetTempPath(Utile.GetDownloadFileName(url)), progress, downloadTimeout); } @@ -95,7 +95,7 @@ namespace v2rayN.Handler public async Task UrlRedirectAsync(string url, bool blProxy) { - Utils.SetSecurityProtocol(LazyConfig.Instance.GetConfig().guiItem.enableSecurityProtocolTls13); + Utile.SetSecurityProtocol(LazyConfig.Instance.GetConfig().guiItem.enableSecurityProtocolTls13); var webRequestHandler = new SocketsHttpHandler { AllowAutoRedirect = false, @@ -120,7 +120,7 @@ namespace v2rayN.Handler try { var result1 = await DownloadStringAsync(url, blProxy, userAgent); - if (!Utils.IsNullOrEmpty(result1)) + if (!Utile.IsNullOrEmpty(result1)) { return result1; } @@ -138,7 +138,7 @@ namespace v2rayN.Handler try { var result2 = await DownloadStringViaDownloader(url, blProxy, userAgent); - if (!Utils.IsNullOrEmpty(result2)) + if (!Utile.IsNullOrEmpty(result2)) { return result2; } @@ -158,7 +158,7 @@ namespace v2rayN.Handler using var wc = new WebClient(); wc.Proxy = GetWebProxy(blProxy); var result3 = await wc.DownloadStringTaskAsync(url); - if (!Utils.IsNullOrEmpty(result3)) + if (!Utile.IsNullOrEmpty(result3)) { return result3; } @@ -184,7 +184,7 @@ namespace v2rayN.Handler { try { - Utils.SetSecurityProtocol(LazyConfig.Instance.GetConfig().guiItem.enableSecurityProtocolTls13); + Utile.SetSecurityProtocol(LazyConfig.Instance.GetConfig().guiItem.enableSecurityProtocolTls13); var webProxy = GetWebProxy(blProxy); var client = new HttpClient(new SocketsHttpHandler() { @@ -192,17 +192,17 @@ namespace v2rayN.Handler UseProxy = webProxy != null }); - if (Utils.IsNullOrEmpty(userAgent)) + if (Utile.IsNullOrEmpty(userAgent)) { - userAgent = Utils.GetVersion(false); + userAgent = Utile.GetVersion(false); } client.DefaultRequestHeaders.UserAgent.TryParseAdd(userAgent); Uri uri = new(url); //Authorization Header - if (!Utils.IsNullOrEmpty(uri.UserInfo)) + if (!Utile.IsNullOrEmpty(uri.UserInfo)) { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Utils.Base64Encode(uri.UserInfo)); + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Utile.Base64Encode(uri.UserInfo)); } using var cts = new CancellationTokenSource(); @@ -229,13 +229,13 @@ namespace v2rayN.Handler { try { - Utils.SetSecurityProtocol(LazyConfig.Instance.GetConfig().guiItem.enableSecurityProtocolTls13); + Utile.SetSecurityProtocol(LazyConfig.Instance.GetConfig().guiItem.enableSecurityProtocolTls13); var webProxy = GetWebProxy(blProxy); - if (Utils.IsNullOrEmpty(userAgent)) + if (Utile.IsNullOrEmpty(userAgent)) { - userAgent = Utils.GetVersion(false); + userAgent = Utile.GetVersion(false); } var result = await DownloaderHelper.Instance.DownloadStringAsync(webProxy, url, userAgent, 30); return result; @@ -300,7 +300,7 @@ namespace v2rayN.Handler } catch //(Exception ex) { - //Utils.SaveLog(ex.Message, ex); + //Utile.SaveLog(ex.Message, ex); } return responseTime; } diff --git a/v2rayN/v2rayN/Handler/HotkeyHandler.cs b/v2rayN/v2rayN/Handler/HotkeyHandler.cs index f6543392..c2e21097 100644 --- a/v2rayN/v2rayN/Handler/HotkeyHandler.cs +++ b/v2rayN/v2rayN/Handler/HotkeyHandler.cs @@ -4,7 +4,7 @@ using System.Text; using System.Windows; using System.Windows.Input; using System.Windows.Interop; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.Handler diff --git a/v2rayN/v2rayN/Handler/LazyConfig.cs b/v2rayN/v2rayN/Handler/LazyConfig.cs index d57f4bfa..09428e5f 100644 --- a/v2rayN/v2rayN/Handler/LazyConfig.cs +++ b/v2rayN/v2rayN/Handler/LazyConfig.cs @@ -1,5 +1,5 @@ using System.Runtime.Intrinsics.X86; -using v2rayN.Mode; +using v2rayN.Model; namespace v2rayN.Handler { @@ -7,7 +7,7 @@ namespace v2rayN.Handler { private static readonly Lazy _instance = new(() => new()); private Config _config; - private List coreInfos; + private List coreInfo; public static LazyConfig Instance => _instance.Value; @@ -19,7 +19,7 @@ namespace v2rayN.Handler { if (_statePort is null) { - _statePort = Utils.GetFreePort(); + _statePort = Utile.GetFreePort(); } return _statePort.Value; @@ -30,12 +30,12 @@ namespace v2rayN.Handler public LazyConfig() { - SqliteHelper.Instance.CreateTable(); - SqliteHelper.Instance.CreateTable(); - SqliteHelper.Instance.CreateTable(); - SqliteHelper.Instance.CreateTable(); - SqliteHelper.Instance.CreateTable(); - SqliteHelper.Instance.CreateTable(); + SQLiteHelper.Instance.CreateTable(); + SQLiteHelper.Instance.CreateTable(); + SQLiteHelper.Instance.CreateTable(); + SQLiteHelper.Instance.CreateTable(); + SQLiteHelper.Instance.CreateTable(); + SQLiteHelper.Instance.CreateTable(); } #region Config @@ -91,35 +91,35 @@ namespace v2rayN.Handler public List SubItems() { - return SqliteHelper.Instance.Table().ToList(); + return SQLiteHelper.Instance.Table().ToList(); } public SubItem GetSubItem(string subid) { - return SqliteHelper.Instance.Table().FirstOrDefault(t => t.id == subid); + return SQLiteHelper.Instance.Table().FirstOrDefault(t => t.id == subid); } public List ProfileItems(string subid) { - if (Utils.IsNullOrEmpty(subid)) + if (Utile.IsNullOrEmpty(subid)) { - return SqliteHelper.Instance.Table().ToList(); + return SQLiteHelper.Instance.Table().ToList(); } else { - return SqliteHelper.Instance.Table().Where(t => t.subid == subid).ToList(); + return SQLiteHelper.Instance.Table().Where(t => t.subid == subid).ToList(); } } - public List ProfileItemIndexs(string subid) + public List ProfileItemIndexes(string subid) { - if (Utils.IsNullOrEmpty(subid)) + if (Utile.IsNullOrEmpty(subid)) { - return SqliteHelper.Instance.Table().Select(t => t.indexId).ToList(); + return SQLiteHelper.Instance.Table().Select(t => t.indexId).ToList(); } else { - return SqliteHelper.Instance.Table().Where(t => t.subid == subid).Select(t => t.indexId).ToList(); + return SQLiteHelper.Instance.Table().Where(t => t.subid == subid).Select(t => t.indexId).ToList(); } } @@ -130,11 +130,11 @@ namespace v2rayN.Handler from ProfileItem a left join SubItem b on a.subid = b.id where 1=1 "; - if (!Utils.IsNullOrEmpty(subid)) + if (!Utile.IsNullOrEmpty(subid)) { sql += $" and a.subid = '{subid}'"; } - if (!Utils.IsNullOrEmpty(filter)) + if (!Utile.IsNullOrEmpty(filter)) { if (filter.Contains('\'')) { @@ -143,66 +143,66 @@ namespace v2rayN.Handler sql += String.Format(" and (a.remarks like '%{0}%' or a.address like '%{0}%') ", filter); } - return SqliteHelper.Instance.Query(sql).ToList(); + return SQLiteHelper.Instance.Query(sql).ToList(); } public ProfileItem? GetProfileItem(string indexId) { - if (Utils.IsNullOrEmpty(indexId)) + if (Utile.IsNullOrEmpty(indexId)) { return null; } - return SqliteHelper.Instance.Table().FirstOrDefault(it => it.indexId == indexId); + return SQLiteHelper.Instance.Table().FirstOrDefault(it => it.indexId == indexId); } public ProfileItem? GetProfileItemViaRemarks(string remarks) { - if (Utils.IsNullOrEmpty(remarks)) + if (Utile.IsNullOrEmpty(remarks)) { return null; } - return SqliteHelper.Instance.Table().FirstOrDefault(it => it.remarks == remarks); + return SQLiteHelper.Instance.Table().FirstOrDefault(it => it.remarks == remarks); } public List RoutingItems() { - return SqliteHelper.Instance.Table().Where(it => it.locked == false).OrderBy(t => t.sort).ToList(); + return SQLiteHelper.Instance.Table().Where(it => it.locked == false).OrderBy(t => t.sort).ToList(); } public RoutingItem GetRoutingItem(string id) { - return SqliteHelper.Instance.Table().FirstOrDefault(it => it.locked == false && it.id == id); + return SQLiteHelper.Instance.Table().FirstOrDefault(it => it.locked == false && it.id == id); } public List DNSItems() { - return SqliteHelper.Instance.Table().ToList(); + return SQLiteHelper.Instance.Table().ToList(); } public DNSItem GetDNSItem(ECoreType eCoreType) { - return SqliteHelper.Instance.Table().FirstOrDefault(it => it.coreType == eCoreType); + return SQLiteHelper.Instance.Table().FirstOrDefault(it => it.coreType == eCoreType); } #endregion SqliteHelper #region Core Type - public List GetShadowsocksSecuritys(ProfileItem profileItem) + public List GetShadowsocksSecurities(ProfileItem profileItem) { var coreType = GetCoreType(profileItem, EConfigType.Shadowsocks); switch (coreType) { case ECoreType.v2fly: - return Global.SsSecuritys; + return Global.SsSecurities; case ECoreType.Xray: - return Global.SsSecuritysInXray; + return Global.SsSecuritiesInXray; case ECoreType.sing_box: - return Global.SsSecuritysInSingbox; + return Global.SsSecuritiesInSingbox; } - return Global.SsSecuritysInSagerNet; + return Global.SsSecuritiesInSagerNet; } public ECoreType GetCoreType(ProfileItem profileItem, EConfigType eConfigType) @@ -226,27 +226,27 @@ namespace v2rayN.Handler public CoreInfo? GetCoreInfo(ECoreType coreType) { - if (coreInfos == null) + if (coreInfo == null) { InitCoreInfo(); } - return coreInfos!.FirstOrDefault(t => t.coreType == coreType); + return coreInfo!.FirstOrDefault(t => t.coreType == coreType); } - public List GetCoreInfos() + public List GetCoreInfo() { - if (coreInfos == null) + if (coreInfo == null) { InitCoreInfo(); } - return coreInfos!; + return coreInfo!; } private void InitCoreInfo() { - coreInfos = new(16); + coreInfo = new(16); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.v2rayN, coreUrl = Global.NUrl, @@ -256,7 +256,7 @@ namespace v2rayN.Handler coreDownloadUrlArm64 = Global.NUrl + "/download/{0}/v2rayN-arm64.zip" }); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.v2fly, coreExes = new List { "wv2ray", "v2ray" }, @@ -271,7 +271,7 @@ namespace v2rayN.Handler redirectInfo = true, }); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.SagerNet, coreExes = new List { "SagerNet", "v2ray" }, @@ -286,7 +286,7 @@ namespace v2rayN.Handler redirectInfo = true, }); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.v2fly_v5, coreExes = new List { "v2ray" }, @@ -301,7 +301,7 @@ namespace v2rayN.Handler redirectInfo = true, }); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.Xray, coreExes = new List { "xray", "wxray" }, @@ -316,7 +316,7 @@ namespace v2rayN.Handler redirectInfo = true, }); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.clash, coreExes = new List { "clash-windows-amd64-v3", "clash-windows-amd64", "clash-windows-386", "clash" }, @@ -331,7 +331,7 @@ namespace v2rayN.Handler redirectInfo = true, }); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.clash_meta, coreExes = new List { "Clash.Meta-windows-amd64-compatible", "Clash.Meta-windows-amd64", "Clash.Meta-windows-386", "Clash.Meta", "clash" }, @@ -346,7 +346,7 @@ namespace v2rayN.Handler redirectInfo = true, }); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.mihomo, coreExes = new List { $"mihomo-windows-amd64{(Avx2.X64.IsSupported ? "" : "-compatible")}", "mihomo-windows-amd64-compatible", "mihomo-windows-amd64", "mihomo-windows-386", "mihomo", "clash" }, @@ -357,7 +357,7 @@ namespace v2rayN.Handler redirectInfo = true, }); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.hysteria, coreExes = new List { "hysteria-windows-amd64", "hysteria-windows-386", "hysteria" }, @@ -370,7 +370,7 @@ namespace v2rayN.Handler redirectInfo = true, }); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.naiveproxy, coreExes = new List { "naiveproxy", "naive" }, @@ -379,7 +379,7 @@ namespace v2rayN.Handler redirectInfo = false, }); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.tuic, coreExes = new List { "tuic-client", "tuic" }, @@ -388,7 +388,7 @@ namespace v2rayN.Handler redirectInfo = true, }); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.sing_box, coreExes = new List { "sing-box-client", "sing-box" }, @@ -403,7 +403,7 @@ namespace v2rayN.Handler versionArg = "version", }); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.juicity, coreExes = new List { "juicity-client", "juicity" }, @@ -411,7 +411,7 @@ namespace v2rayN.Handler coreUrl = Global.JuicityCoreUrl }); - coreInfos.Add(new CoreInfo + coreInfo.Add(new CoreInfo { coreType = ECoreType.hysteria2, coreExes = new List { "hysteria-windows-amd64", "hysteria-windows-386", "hysteria" }, diff --git a/v2rayN/v2rayN/Handler/MainFormHandler.cs b/v2rayN/v2rayN/Handler/MainFormHandler.cs index 960c6ab9..7fb3d4ad 100644 --- a/v2rayN/v2rayN/Handler/MainFormHandler.cs +++ b/v2rayN/v2rayN/Handler/MainFormHandler.cs @@ -2,7 +2,7 @@ using System.Drawing; using System.IO; using System.Windows.Media.Imaging; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.Handler @@ -26,7 +26,7 @@ namespace v2rayN.Handler } //Load from local file - var fileName = Utils.GetPath($"NotifyIcon{index + 1}.ico"); + var fileName = Utile.GetPath($"NotifyIcon{index + 1}.ico"); if (File.Exists(fileName)) { return new Icon(fileName); @@ -78,7 +78,7 @@ namespace v2rayN.Handler } var item = ConfigHandler.GetDefaultRouting(config); - if (item == null || Utils.IsNullOrEmpty(item.customIcon) || !File.Exists(item.customIcon)) + if (item == null || Utile.IsNullOrEmpty(item.customIcon) || !File.Exists(item.customIcon)) { return null; } @@ -140,7 +140,7 @@ namespace v2rayN.Handler return; } string fileName = fileDialog.FileName; - if (Utils.IsNullOrEmpty(fileName)) + if (Utile.IsNullOrEmpty(fileName)) { return; } diff --git a/v2rayN/v2rayN/Handler/ProfileExHandler.cs b/v2rayN/v2rayN/Handler/ProfileExHandler.cs index 13447e9e..058fcb08 100644 --- a/v2rayN/v2rayN/Handler/ProfileExHandler.cs +++ b/v2rayN/v2rayN/Handler/ProfileExHandler.cs @@ -1,6 +1,6 @@ using System.Collections.Concurrent; using System.Reactive.Linq; -using v2rayN.Mode; +using v2rayN.Model; namespace v2rayN.Handler { @@ -19,9 +19,9 @@ namespace v2rayN.Handler private void Init() { - SqliteHelper.Instance.Execute($"delete from ProfileExItem where indexId not in ( select indexId from ProfileItem )"); + SQLiteHelper.Instance.Execute($"delete from ProfileExItem where indexId not in ( select indexId from ProfileItem )"); - _lstProfileEx = new(SqliteHelper.Instance.Table()); + _lstProfileEx = new(SQLiteHelper.Instance.Table()); Task.Run(async () => { @@ -34,7 +34,7 @@ namespace v2rayN.Handler var item = _lstProfileEx.FirstOrDefault(t => t.indexId == id); if (item is not null) { - SqliteHelper.Instance.Replace(item); + SQLiteHelper.Instance.Replace(item); } } await Task.Delay(1000 * 60); @@ -44,7 +44,7 @@ namespace v2rayN.Handler private void IndexIdEnqueue(string indexId) { - if (!Utils.IsNullOrEmpty(indexId) && !_queIndexIds.Contains(indexId)) + if (!Utile.IsNullOrEmpty(indexId) && !_queIndexIds.Contains(indexId)) { _queIndexIds.Enqueue(indexId); } @@ -65,7 +65,7 @@ namespace v2rayN.Handler public void ClearAll() { - SqliteHelper.Instance.Execute($"delete from ProfileExItem "); + SQLiteHelper.Instance.Execute($"delete from ProfileExItem "); _lstProfileEx = new(); } @@ -75,9 +75,9 @@ namespace v2rayN.Handler { //foreach (var item in _lstProfileEx) //{ - // SqliteHelper.Instance.Replace(item); + // SQLiteHelper.Instance.Replace(item); //} - SqliteHelper.Instance.UpdateAll(_lstProfileEx); + SQLiteHelper.Instance.UpdateAll(_lstProfileEx); } catch (Exception ex) { diff --git a/v2rayN/v2rayN/Handler/ProxySetting.cs b/v2rayN/v2rayN/Handler/ProxySetting.cs index 9f01c31f..1b3d7215 100644 --- a/v2rayN/v2rayN/Handler/ProxySetting.cs +++ b/v2rayN/v2rayN/Handler/ProxySetting.cs @@ -26,7 +26,7 @@ namespace v2rayN.Handler /// PROXY_TYPE_AUTO_DETECT = 0x00000008 // use autoproxy detection /// /// Error message with win32 error code - /// true: one of connnection is successfully updated proxy settings + /// true: one of connection is successfully updated proxy settings public static bool SetProxy(string? strProxy, string? exceptions, int type) { // set proxy for LAN @@ -51,7 +51,7 @@ namespace v2rayN.Handler } else if (type is 2 or 4) // named proxy or autoproxy script URL { - optionCount = Utils.IsNullOrEmpty(exceptions) ? 2 : 3; + optionCount = Utile.IsNullOrEmpty(exceptions) ? 2 : 3; } int m_Int = (int)PerConnFlags.PROXY_TYPE_DIRECT; @@ -67,7 +67,7 @@ namespace v2rayN.Handler m_Option = PerConnOption.INTERNET_PER_CONN_AUTOCONFIG_URL; } - //int optionCount = Utils.IsNullOrEmpty(strProxy) ? 1 : (Utils.IsNullOrEmpty(exceptions) ? 2 : 3); + //int optionCount = Utile.IsNullOrEmpty(strProxy) ? 1 : (Utile.IsNullOrEmpty(exceptions) ? 2 : 3); InternetConnectionOption[] options = new InternetConnectionOption[optionCount]; // USE a proxy server ... options[0].m_Option = PerConnOption.INTERNET_PER_CONN_FLAGS; diff --git a/v2rayN/v2rayN/Handler/ShareHandler.cs b/v2rayN/v2rayN/Handler/ShareHandler.cs index aa66eb5a..514483f1 100644 --- a/v2rayN/v2rayN/Handler/ShareHandler.cs +++ b/v2rayN/v2rayN/Handler/ShareHandler.cs @@ -1,6 +1,6 @@ using System.Collections.Specialized; using System.Text.RegularExpressions; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.Handler @@ -65,8 +65,8 @@ namespace v2rayN.Handler fp = item.fingerprint }; - url = JsonUtils.Serialize(vmessQRCode); - url = Utils.Base64Encode(url); + url = JsonUtile.Serialize(vmessQRCode); + url = Utile.Base64Encode(url); url = $"{Global.ProtocolShares[EConfigType.VMess]}{url}"; return url; @@ -77,18 +77,18 @@ namespace v2rayN.Handler string url = string.Empty; string remark = string.Empty; - if (!Utils.IsNullOrEmpty(item.remarks)) + if (!Utile.IsNullOrEmpty(item.remarks)) { - remark = "#" + Utils.UrlEncode(item.remarks); + remark = "#" + Utile.UrlEncode(item.remarks); } //url = string.Format("{0}:{1}@{2}:{3}", // item.security, // item.id, // item.address, // item.port); - //url = Utils.Base64Encode(url); + //url = Utile.Base64Encode(url); //new Sip002 - var pw = Utils.Base64Encode($"{item.security}:{item.id}"); + var pw = Utile.Base64Encode($"{item.security}:{item.id}"); url = $"{pw}@{GetIpv6(item.address)}:{item.port}"; url = $"{Global.ProtocolShares[EConfigType.Shadowsocks]}{url}{remark}"; return url; @@ -98,18 +98,18 @@ namespace v2rayN.Handler { string url = string.Empty; string remark = string.Empty; - if (!Utils.IsNullOrEmpty(item.remarks)) + if (!Utile.IsNullOrEmpty(item.remarks)) { - remark = "#" + Utils.UrlEncode(item.remarks); + remark = "#" + Utile.UrlEncode(item.remarks); } //url = string.Format("{0}:{1}@{2}:{3}", // item.security, // item.id, // item.address, // item.port); - //url = Utils.Base64Encode(url); + //url = Utile.Base64Encode(url); //new - var pw = Utils.Base64Encode($"{item.security}:{item.id}"); + var pw = Utile.Base64Encode($"{item.security}:{item.id}"); url = $"{pw}@{GetIpv6(item.address)}:{item.port}"; url = $"{Global.ProtocolShares[EConfigType.Socks]}{url}{remark}"; return url; @@ -119,9 +119,9 @@ namespace v2rayN.Handler { string url = string.Empty; string remark = string.Empty; - if (!Utils.IsNullOrEmpty(item.remarks)) + if (!Utile.IsNullOrEmpty(item.remarks)) { - remark = "#" + Utils.UrlEncode(item.remarks); + remark = "#" + Utile.UrlEncode(item.remarks); } var dicQuery = new Dictionary(); GetStdTransport(item, null, ref dicQuery); @@ -139,12 +139,12 @@ namespace v2rayN.Handler { string url = string.Empty; string remark = string.Empty; - if (!Utils.IsNullOrEmpty(item.remarks)) + if (!Utile.IsNullOrEmpty(item.remarks)) { - remark = "#" + Utils.UrlEncode(item.remarks); + remark = "#" + Utile.UrlEncode(item.remarks); } var dicQuery = new Dictionary(); - if (!Utils.IsNullOrEmpty(item.security)) + if (!Utile.IsNullOrEmpty(item.security)) { dicQuery.Add("encryption", item.security); } @@ -167,23 +167,23 @@ namespace v2rayN.Handler { string url = string.Empty; string remark = string.Empty; - if (!Utils.IsNullOrEmpty(item.remarks)) + if (!Utile.IsNullOrEmpty(item.remarks)) { - remark = "#" + Utils.UrlEncode(item.remarks); + remark = "#" + Utile.UrlEncode(item.remarks); } var dicQuery = new Dictionary(); - if (!Utils.IsNullOrEmpty(item.sni)) + if (!Utile.IsNullOrEmpty(item.sni)) { dicQuery.Add("sni", item.sni); } - if (!Utils.IsNullOrEmpty(item.alpn)) + if (!Utile.IsNullOrEmpty(item.alpn)) { - dicQuery.Add("alpn", Utils.UrlEncode(item.alpn)); + dicQuery.Add("alpn", Utile.UrlEncode(item.alpn)); } - if (!Utils.IsNullOrEmpty(item.path)) + if (!Utile.IsNullOrEmpty(item.path)) { dicQuery.Add("obfs", "salamander"); - dicQuery.Add("obfs-password", Utils.UrlEncode(item.path)); + dicQuery.Add("obfs-password", Utile.UrlEncode(item.path)); } dicQuery.Add("insecure", item.allowInsecure.ToLower() == "true" ? "1" : "0"); @@ -201,18 +201,18 @@ namespace v2rayN.Handler { string url = string.Empty; string remark = string.Empty; - if (!Utils.IsNullOrEmpty(item.remarks)) + if (!Utile.IsNullOrEmpty(item.remarks)) { - remark = "#" + Utils.UrlEncode(item.remarks); + remark = "#" + Utile.UrlEncode(item.remarks); } var dicQuery = new Dictionary(); - if (!Utils.IsNullOrEmpty(item.sni)) + if (!Utile.IsNullOrEmpty(item.sni)) { dicQuery.Add("sni", item.sni); } - if (!Utils.IsNullOrEmpty(item.alpn)) + if (!Utile.IsNullOrEmpty(item.alpn)) { - dicQuery.Add("alpn", Utils.UrlEncode(item.alpn)); + dicQuery.Add("alpn", Utile.UrlEncode(item.alpn)); } dicQuery.Add("congestion_control", item.headerType); @@ -230,32 +230,32 @@ namespace v2rayN.Handler { string url = string.Empty; string remark = string.Empty; - if (!Utils.IsNullOrEmpty(item.remarks)) + if (!Utile.IsNullOrEmpty(item.remarks)) { - remark = "#" + Utils.UrlEncode(item.remarks); + remark = "#" + Utile.UrlEncode(item.remarks); } var dicQuery = new Dictionary(); - if (!Utils.IsNullOrEmpty(item.publicKey)) + if (!Utile.IsNullOrEmpty(item.publicKey)) { - dicQuery.Add("publickey", Utils.UrlEncode(item.publicKey)); + dicQuery.Add("publickey", Utile.UrlEncode(item.publicKey)); } - if (!Utils.IsNullOrEmpty(item.path)) + if (!Utile.IsNullOrEmpty(item.path)) { - dicQuery.Add("reserved", Utils.UrlEncode(item.path)); + dicQuery.Add("reserved", Utile.UrlEncode(item.path)); } - if (!Utils.IsNullOrEmpty(item.requestHost)) + if (!Utile.IsNullOrEmpty(item.requestHost)) { - dicQuery.Add("address", Utils.UrlEncode(item.requestHost)); + dicQuery.Add("address", Utile.UrlEncode(item.requestHost)); } - if (!Utils.IsNullOrEmpty(item.shortId)) + if (!Utile.IsNullOrEmpty(item.shortId)) { - dicQuery.Add("mtu", Utils.UrlEncode(item.shortId)); + dicQuery.Add("mtu", Utile.UrlEncode(item.shortId)); } string query = "?" + string.Join("&", dicQuery.Select(x => x.Key + "=" + x.Value).ToArray()); url = string.Format("{0}@{1}:{2}", - Utils.UrlEncode(item.id), + Utile.UrlEncode(item.id), GetIpv6(item.address), item.port); url = $"{Global.ProtocolShares[EConfigType.Wireguard]}{url}/{query}{remark}"; @@ -264,17 +264,17 @@ namespace v2rayN.Handler private static string GetIpv6(string address) { - return Utils.IsIpv6(address) ? $"[{address}]" : address; + return Utile.IsIpv6(address) ? $"[{address}]" : address; } private static int GetStdTransport(ProfileItem item, string? securityDef, ref Dictionary dicQuery) { - if (!Utils.IsNullOrEmpty(item.flow)) + if (!Utile.IsNullOrEmpty(item.flow)) { dicQuery.Add("flow", item.flow); } - if (!Utils.IsNullOrEmpty(item.streamSecurity)) + if (!Utile.IsNullOrEmpty(item.streamSecurity)) { dicQuery.Add("security", item.streamSecurity); } @@ -285,88 +285,88 @@ namespace v2rayN.Handler dicQuery.Add("security", securityDef); } } - if (!Utils.IsNullOrEmpty(item.sni)) + if (!Utile.IsNullOrEmpty(item.sni)) { dicQuery.Add("sni", item.sni); } - if (!Utils.IsNullOrEmpty(item.alpn)) + if (!Utile.IsNullOrEmpty(item.alpn)) { - dicQuery.Add("alpn", Utils.UrlEncode(item.alpn)); + dicQuery.Add("alpn", Utile.UrlEncode(item.alpn)); } - if (!Utils.IsNullOrEmpty(item.fingerprint)) + if (!Utile.IsNullOrEmpty(item.fingerprint)) { - dicQuery.Add("fp", Utils.UrlEncode(item.fingerprint)); + dicQuery.Add("fp", Utile.UrlEncode(item.fingerprint)); } - if (!Utils.IsNullOrEmpty(item.publicKey)) + if (!Utile.IsNullOrEmpty(item.publicKey)) { - dicQuery.Add("pbk", Utils.UrlEncode(item.publicKey)); + dicQuery.Add("pbk", Utile.UrlEncode(item.publicKey)); } - if (!Utils.IsNullOrEmpty(item.shortId)) + if (!Utile.IsNullOrEmpty(item.shortId)) { - dicQuery.Add("sid", Utils.UrlEncode(item.shortId)); + dicQuery.Add("sid", Utile.UrlEncode(item.shortId)); } - if (!Utils.IsNullOrEmpty(item.spiderX)) + if (!Utile.IsNullOrEmpty(item.spiderX)) { - dicQuery.Add("spx", Utils.UrlEncode(item.spiderX)); + dicQuery.Add("spx", Utile.UrlEncode(item.spiderX)); } - dicQuery.Add("type", !Utils.IsNullOrEmpty(item.network) ? item.network : "tcp"); + dicQuery.Add("type", !Utile.IsNullOrEmpty(item.network) ? item.network : "tcp"); switch (item.network) { case "tcp": - dicQuery.Add("headerType", !Utils.IsNullOrEmpty(item.headerType) ? item.headerType : "none"); - if (!Utils.IsNullOrEmpty(item.requestHost)) + dicQuery.Add("headerType", !Utile.IsNullOrEmpty(item.headerType) ? item.headerType : "none"); + if (!Utile.IsNullOrEmpty(item.requestHost)) { - dicQuery.Add("host", Utils.UrlEncode(item.requestHost)); + dicQuery.Add("host", Utile.UrlEncode(item.requestHost)); } break; case "kcp": - dicQuery.Add("headerType", !Utils.IsNullOrEmpty(item.headerType) ? item.headerType : "none"); - if (!Utils.IsNullOrEmpty(item.path)) + dicQuery.Add("headerType", !Utile.IsNullOrEmpty(item.headerType) ? item.headerType : "none"); + if (!Utile.IsNullOrEmpty(item.path)) { - dicQuery.Add("seed", Utils.UrlEncode(item.path)); + dicQuery.Add("seed", Utile.UrlEncode(item.path)); } break; case "ws": - if (!Utils.IsNullOrEmpty(item.requestHost)) + if (!Utile.IsNullOrEmpty(item.requestHost)) { - dicQuery.Add("host", Utils.UrlEncode(item.requestHost)); + dicQuery.Add("host", Utile.UrlEncode(item.requestHost)); } - if (!Utils.IsNullOrEmpty(item.path)) + if (!Utile.IsNullOrEmpty(item.path)) { - dicQuery.Add("path", Utils.UrlEncode(item.path)); + dicQuery.Add("path", Utile.UrlEncode(item.path)); } break; case "http": case "h2": dicQuery["type"] = "http"; - if (!Utils.IsNullOrEmpty(item.requestHost)) + if (!Utile.IsNullOrEmpty(item.requestHost)) { - dicQuery.Add("host", Utils.UrlEncode(item.requestHost)); + dicQuery.Add("host", Utile.UrlEncode(item.requestHost)); } - if (!Utils.IsNullOrEmpty(item.path)) + if (!Utile.IsNullOrEmpty(item.path)) { - dicQuery.Add("path", Utils.UrlEncode(item.path)); + dicQuery.Add("path", Utile.UrlEncode(item.path)); } break; case "quic": - dicQuery.Add("headerType", !Utils.IsNullOrEmpty(item.headerType) ? item.headerType : "none"); - dicQuery.Add("quicSecurity", Utils.UrlEncode(item.requestHost)); - dicQuery.Add("key", Utils.UrlEncode(item.path)); + dicQuery.Add("headerType", !Utile.IsNullOrEmpty(item.headerType) ? item.headerType : "none"); + dicQuery.Add("quicSecurity", Utile.UrlEncode(item.requestHost)); + dicQuery.Add("key", Utile.UrlEncode(item.path)); break; case "grpc": - if (!Utils.IsNullOrEmpty(item.path)) + if (!Utile.IsNullOrEmpty(item.path)) { - dicQuery.Add("serviceName", Utils.UrlEncode(item.path)); - if (item.headerType is Global.GrpcgunMode or Global.GrpcmultiMode) + dicQuery.Add("serviceName", Utile.UrlEncode(item.path)); + if (item.headerType is Global.GrpcGunMode or Global.GrpcMultiMode) { - dicQuery.Add("mode", Utils.UrlEncode(item.headerType)); + dicQuery.Add("mode", Utile.UrlEncode(item.headerType)); } } break; @@ -391,7 +391,7 @@ namespace v2rayN.Handler try { string result = clipboardData.TrimEx(); - if (Utils.IsNullOrEmpty(result)) + if (Utile.IsNullOrEmpty(result)) { msg = ResUI.FailedReadConfiguration; return null; @@ -482,10 +482,10 @@ namespace v2rayN.Handler }; result = result[Global.ProtocolShares[EConfigType.VMess].Length..]; - result = Utils.Base64Decode(result); + result = Utile.Base64Decode(result); //转成Json - VmessQRCode? vmessQRCode = JsonUtils.Deserialize(result); + VmessQRCode? vmessQRCode = JsonUtile.Deserialize(result); if (vmessQRCode == null) { msg = ResUI.FailedConversionConfiguration; @@ -495,30 +495,30 @@ namespace v2rayN.Handler profileItem.network = Global.DefaultNetwork; profileItem.headerType = Global.None; - profileItem.configVersion = Utils.ToInt(vmessQRCode.v); - profileItem.remarks = Utils.ToString(vmessQRCode.ps); - profileItem.address = Utils.ToString(vmessQRCode.add); - profileItem.port = Utils.ToInt(vmessQRCode.port); - profileItem.id = Utils.ToString(vmessQRCode.id); - profileItem.alterId = Utils.ToInt(vmessQRCode.aid); - profileItem.security = Utils.ToString(vmessQRCode.scy); + profileItem.configVersion = Utile.ToInt(vmessQRCode.v); + profileItem.remarks = Utile.ToString(vmessQRCode.ps); + profileItem.address = Utile.ToString(vmessQRCode.add); + profileItem.port = Utile.ToInt(vmessQRCode.port); + profileItem.id = Utile.ToString(vmessQRCode.id); + profileItem.alterId = Utile.ToInt(vmessQRCode.aid); + profileItem.security = Utile.ToString(vmessQRCode.scy); - profileItem.security = !Utils.IsNullOrEmpty(vmessQRCode.scy) ? vmessQRCode.scy : Global.DefaultSecurity; - if (!Utils.IsNullOrEmpty(vmessQRCode.net)) + profileItem.security = !Utile.IsNullOrEmpty(vmessQRCode.scy) ? vmessQRCode.scy : Global.DefaultSecurity; + if (!Utile.IsNullOrEmpty(vmessQRCode.net)) { profileItem.network = vmessQRCode.net; } - if (!Utils.IsNullOrEmpty(vmessQRCode.type)) + if (!Utile.IsNullOrEmpty(vmessQRCode.type)) { profileItem.headerType = vmessQRCode.type; } - profileItem.requestHost = Utils.ToString(vmessQRCode.host); - profileItem.path = Utils.ToString(vmessQRCode.path); - profileItem.streamSecurity = Utils.ToString(vmessQRCode.tls); - profileItem.sni = Utils.ToString(vmessQRCode.sni); - profileItem.alpn = Utils.ToString(vmessQRCode.alpn); - profileItem.fingerprint = Utils.ToString(vmessQRCode.fp); + profileItem.requestHost = Utile.ToString(vmessQRCode.host); + profileItem.path = Utile.ToString(vmessQRCode.path); + profileItem.streamSecurity = Utile.ToString(vmessQRCode.tls); + profileItem.sni = Utile.ToString(vmessQRCode.sni); + profileItem.alpn = Utile.ToString(vmessQRCode.alpn); + profileItem.fingerprint = Utile.ToString(vmessQRCode.fp); return profileItem; } @@ -535,7 +535,7 @@ namespace v2rayN.Handler { result = result[..indexSplit]; } - result = Utils.Base64Decode(result); + result = Utile.Base64Decode(result); string[] arr1 = result.Split('@'); if (arr1.Length != 2) @@ -550,7 +550,7 @@ namespace v2rayN.Handler } profileItem.address = arr22[0]; - profileItem.port = Utils.ToInt(arr22[1]); + profileItem.port = Utile.ToInt(arr22[1]); profileItem.security = arr21[0]; profileItem.id = arr21[1]; @@ -574,7 +574,7 @@ namespace v2rayN.Handler i.address = u.IdnHost; i.port = u.Port; i.remarks = u.GetComponents(UriComponents.Fragment, UriFormat.Unescaped); - var query = Utils.ParseQueryString(u.Query); + var query = Utile.ParseQueryString(u.Query); var m = StdVmessUserInfo.Match(u.UserInfo); if (!m.Success) return null; @@ -611,7 +611,7 @@ namespace v2rayN.Handler case "ws": string p1 = query["path"] ?? "/"; string h1 = query["host"] ?? ""; - i.requestHost = Utils.UrlDecode(h1); + i.requestHost = Utile.UrlDecode(h1); i.path = p1; break; @@ -620,7 +620,7 @@ namespace v2rayN.Handler i.network = "h2"; string p2 = query["path"] ?? "/"; string h2 = query["host"] ?? ""; - i.requestHost = Utils.UrlDecode(h2); + i.requestHost = Utile.UrlDecode(h2); i.path = p2; break; @@ -629,7 +629,7 @@ namespace v2rayN.Handler string k = query["key"] ?? ""; string t3 = query["type"] ?? "none"; i.headerType = t3; - i.requestHost = Utils.UrlDecode(s); + i.requestHost = Utile.UrlDecode(s); i.path = k; break; @@ -667,12 +667,12 @@ namespace v2rayN.Handler return null; } server.security = userInfoParts[0]; - server.id = Utils.UrlDecode(userInfoParts[1]); + server.id = Utile.UrlDecode(userInfoParts[1]); } else { // parse base64 UserInfo - string userInfo = Utils.Base64Decode(rawUserInfo); + string userInfo = Utile.Base64Decode(rawUserInfo); string[] userInfoParts = userInfo.Split(new[] { ':' }, 2); if (userInfoParts.Length != 2) { @@ -682,12 +682,12 @@ namespace v2rayN.Handler server.id = userInfoParts[1]; } - var queryParameters = Utils.ParseQueryString(parsedUrl.Query); + var queryParameters = Utile.ParseQueryString(parsedUrl.Query); if (queryParameters["plugin"] != null) { //obfs-host exists var obfsHost = queryParameters["plugin"].Split(';').FirstOrDefault(t => t.Contains("obfs-host")); - if (queryParameters["plugin"].Contains("obfs=http") && !Utils.IsNullOrEmpty(obfsHost)) + if (queryParameters["plugin"].Contains("obfs=http") && !Utile.IsNullOrEmpty(obfsHost)) { obfsHost = obfsHost.Replace("obfs-host=", ""); server.network = Global.DefaultNetwork; @@ -715,14 +715,14 @@ namespace v2rayN.Handler ProfileItem server = new(); var base64 = match.Groups["base64"].Value.TrimEnd('/'); var tag = match.Groups["tag"].Value; - if (!Utils.IsNullOrEmpty(tag)) + if (!Utile.IsNullOrEmpty(tag)) { - server.remarks = Utils.UrlDecode(tag); + server.remarks = Utile.UrlDecode(tag); } Match details; try { - details = DetailsParser.Match(Utils.Base64Decode(base64)); + details = DetailsParser.Match(Utile.Base64Decode(base64)); } catch (FormatException) { @@ -733,7 +733,7 @@ namespace v2rayN.Handler server.security = details.Groups["method"].Value; server.id = details.Groups["password"].Value; server.address = details.Groups["hostname"].Value; - server.port = Utils.ToInt(details.Groups["port"].Value); + server.port = Utile.ToInt(details.Groups["port"].Value); return server; } @@ -753,7 +753,7 @@ namespace v2rayN.Handler { try { - profileItem.remarks = Utils.UrlDecode(result.Substring(indexRemark + 1, result.Length - indexRemark - 1)); + profileItem.remarks = Utile.UrlDecode(result.Substring(indexRemark + 1, result.Length - indexRemark - 1)); } catch { } result = result[..indexRemark]; @@ -765,7 +765,7 @@ namespace v2rayN.Handler } else { - result = Utils.Base64Decode(result); + result = Utile.Base64Decode(result); } string[] arr1 = result.Split('@'); @@ -781,7 +781,7 @@ namespace v2rayN.Handler return null; } profileItem.address = arr1[1][..indexPort]; - profileItem.port = Utils.ToInt(arr1[1][(indexPort + 1)..]); + profileItem.port = Utile.ToInt(arr1[1][(indexPort + 1)..]); profileItem.security = arr21[0]; profileItem.id = arr21[1]; @@ -808,7 +808,7 @@ namespace v2rayN.Handler // parse base64 UserInfo string rawUserInfo = parsedUrl.GetComponents(UriComponents.UserInfo, UriFormat.Unescaped); - string userInfo = Utils.Base64Decode(rawUserInfo); + string userInfo = Utile.Base64Decode(rawUserInfo); string[] userInfoParts = userInfo.Split(new[] { ':' }, 2); if (userInfoParts.Length == 2) { @@ -831,9 +831,9 @@ namespace v2rayN.Handler item.address = url.IdnHost; item.port = url.Port; item.remarks = url.GetComponents(UriComponents.Fragment, UriFormat.Unescaped); - item.id = Utils.UrlDecode(url.UserInfo); + item.id = Utile.UrlDecode(url.UserInfo); - var query = Utils.ParseQueryString(url.Query); + var query = Utile.ParseQueryString(url.Query); ResolveStdTransport(query, ref item); return item; @@ -852,9 +852,9 @@ namespace v2rayN.Handler item.address = url.IdnHost; item.port = url.Port; item.remarks = url.GetComponents(UriComponents.Fragment, UriFormat.Unescaped); - item.id = Utils.UrlDecode(url.UserInfo); + item.id = Utile.UrlDecode(url.UserInfo); - var query = Utils.ParseQueryString(url.Query); + var query = Utile.ParseQueryString(url.Query); item.security = query["encryption"] ?? "none"; item.streamSecurity = query["security"] ?? ""; ResolveStdTransport(query, ref item); @@ -874,11 +874,11 @@ namespace v2rayN.Handler item.address = url.IdnHost; item.port = url.Port; item.remarks = url.GetComponents(UriComponents.Fragment, UriFormat.Unescaped); - item.id = Utils.UrlDecode(url.UserInfo); + item.id = Utile.UrlDecode(url.UserInfo); - var query = Utils.ParseQueryString(url.Query); + var query = Utile.ParseQueryString(url.Query); ResolveStdTransport(query, ref item); - item.path = Utils.UrlDecode(query["obfs-password"] ?? ""); + item.path = Utile.UrlDecode(query["obfs-password"] ?? ""); item.allowInsecure = (query["insecure"] ?? "") == "1" ? "true" : "false"; return item; @@ -903,7 +903,7 @@ namespace v2rayN.Handler item.security = userInfoParts[1]; } - var query = Utils.ParseQueryString(url.Query); + var query = Utile.ParseQueryString(url.Query); ResolveStdTransport(query, ref item); item.headerType = query["congestion_control"] ?? ""; @@ -922,14 +922,14 @@ namespace v2rayN.Handler item.address = url.IdnHost; item.port = url.Port; item.remarks = url.GetComponents(UriComponents.Fragment, UriFormat.Unescaped); - item.id = Utils.UrlDecode(url.UserInfo); + item.id = Utile.UrlDecode(url.UserInfo); - var query = Utils.ParseQueryString(url.Query); + var query = Utile.ParseQueryString(url.Query); - item.publicKey = Utils.UrlDecode(query["publickey"] ?? ""); - item.path = Utils.UrlDecode(query["reserved"] ?? ""); - item.requestHost = Utils.UrlDecode(query["address"] ?? ""); - item.shortId = Utils.UrlDecode(query["mtu"] ?? ""); + item.publicKey = Utile.UrlDecode(query["publickey"] ?? ""); + item.path = Utile.UrlDecode(query["reserved"] ?? ""); + item.requestHost = Utile.UrlDecode(query["address"] ?? ""); + item.shortId = Utile.UrlDecode(query["mtu"] ?? ""); return item; } @@ -939,47 +939,47 @@ namespace v2rayN.Handler item.flow = query["flow"] ?? ""; item.streamSecurity = query["security"] ?? ""; item.sni = query["sni"] ?? ""; - item.alpn = Utils.UrlDecode(query["alpn"] ?? ""); - item.fingerprint = Utils.UrlDecode(query["fp"] ?? ""); - item.publicKey = Utils.UrlDecode(query["pbk"] ?? ""); - item.shortId = Utils.UrlDecode(query["sid"] ?? ""); - item.spiderX = Utils.UrlDecode(query["spx"] ?? ""); + item.alpn = Utile.UrlDecode(query["alpn"] ?? ""); + item.fingerprint = Utile.UrlDecode(query["fp"] ?? ""); + item.publicKey = Utile.UrlDecode(query["pbk"] ?? ""); + item.shortId = Utile.UrlDecode(query["sid"] ?? ""); + item.spiderX = Utile.UrlDecode(query["spx"] ?? ""); item.network = query["type"] ?? "tcp"; switch (item.network) { case "tcp": item.headerType = query["headerType"] ?? "none"; - item.requestHost = Utils.UrlDecode(query["host"] ?? ""); + item.requestHost = Utile.UrlDecode(query["host"] ?? ""); break; case "kcp": item.headerType = query["headerType"] ?? "none"; - item.path = Utils.UrlDecode(query["seed"] ?? ""); + item.path = Utile.UrlDecode(query["seed"] ?? ""); break; case "ws": - item.requestHost = Utils.UrlDecode(query["host"] ?? ""); - item.path = Utils.UrlDecode(query["path"] ?? "/"); + item.requestHost = Utile.UrlDecode(query["host"] ?? ""); + item.path = Utile.UrlDecode(query["path"] ?? "/"); break; case "http": case "h2": item.network = "h2"; - item.requestHost = Utils.UrlDecode(query["host"] ?? ""); - item.path = Utils.UrlDecode(query["path"] ?? "/"); + item.requestHost = Utile.UrlDecode(query["host"] ?? ""); + item.path = Utile.UrlDecode(query["path"] ?? "/"); break; case "quic": item.headerType = query["headerType"] ?? "none"; item.requestHost = query["quicSecurity"] ?? "none"; - item.path = Utils.UrlDecode(query["key"] ?? ""); + item.path = Utile.UrlDecode(query["key"] ?? ""); break; case "grpc": - item.path = Utils.UrlDecode(query["serviceName"] ?? ""); - item.headerType = Utils.UrlDecode(query["mode"] ?? Global.GrpcgunMode); + item.path = Utile.UrlDecode(query["serviceName"] ?? ""); + item.headerType = Utile.UrlDecode(query["mode"] ?? Global.GrpcGunMode); break; default: diff --git a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs index e4b660d0..b5ad1b81 100644 --- a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs +++ b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs @@ -1,7 +1,7 @@ using System.Diagnostics; using System.Net; using System.Net.Sockets; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.Handler @@ -326,7 +326,7 @@ namespace v2rayN.Handler private async Task GetRealPingTime(DownloadHandle downloadHandle, IWebProxy webProxy) { int responseTime = await downloadHandle.GetRealPingTime(_config.speedTestItem.speedPingTestUrl, webProxy, 10); - //string output = Utils.IsNullOrEmpty(status) ? FormatOut(responseTime, "ms") : status; + //string output = Utile.IsNullOrEmpty(status) ? FormatOut(responseTime, "ms") : status; return FormatOut(responseTime, Global.DelayUnit); } diff --git a/v2rayN/v2rayN/Handler/StatisticsHandler.cs b/v2rayN/v2rayN/Handler/StatisticsHandler.cs index 27071f01..2e4697a8 100644 --- a/v2rayN/v2rayN/Handler/StatisticsHandler.cs +++ b/v2rayN/v2rayN/Handler/StatisticsHandler.cs @@ -1,6 +1,6 @@ using System.Net; using System.Net.Sockets; -using v2rayN.Mode; +using v2rayN.Model; namespace v2rayN.Handler { @@ -48,7 +48,7 @@ namespace v2rayN.Handler public void ClearAllServerStatistics() { - SqliteHelper.Instance.Execute($"delete from ServerStatItem "); + SQLiteHelper.Instance.Execute($"delete from ServerStatItem "); _serverStatItem = null; _lstServerStat = new(); } @@ -57,7 +57,7 @@ namespace v2rayN.Handler { try { - SqliteHelper.Instance.UpdateAll(_lstServerStat); + SQLiteHelper.Instance.UpdateAll(_lstServerStat); } catch (Exception ex) { @@ -67,12 +67,12 @@ namespace v2rayN.Handler private void Init() { - SqliteHelper.Instance.Execute($"delete from ServerStatItem where indexId not in ( select indexId from ProfileItem )"); + SQLiteHelper.Instance.Execute($"delete from ServerStatItem where indexId not in ( select indexId from ProfileItem )"); long ticks = DateTime.Now.Date.Ticks; - SqliteHelper.Instance.Execute($"update ServerStatItem set todayUp = 0,todayDown=0,dateNow={ticks} where dateNow<>{ticks}"); + SQLiteHelper.Instance.Execute($"update ServerStatItem set todayUp = 0,todayDown=0,dateNow={ticks} where dateNow<>{ticks}"); - _lstServerStat = SqliteHelper.Instance.Table().ToList(); + _lstServerStat = SQLiteHelper.Instance.Table().ToList(); } private void UpdateServerStat(ServerSpeedItem server) @@ -121,7 +121,7 @@ namespace v2rayN.Handler todayDown = 0, dateNow = ticks }; - SqliteHelper.Instance.Replace(_serverStatItem); + SQLiteHelper.Instance.Replace(_serverStatItem); _lstServerStat.Add(_serverStatItem); } } @@ -139,7 +139,7 @@ namespace v2rayN.Handler try { int defaultPort = 9090; - if (!Utils.PortInUse(defaultPort)) + if (!Utile.PortInUse(defaultPort)) { return defaultPort; } diff --git a/v2rayN/v2rayN/Handler/StatisticsSingbox.cs b/v2rayN/v2rayN/Handler/StatisticsSingbox.cs index fc559e54..29de41fe 100644 --- a/v2rayN/v2rayN/Handler/StatisticsSingbox.cs +++ b/v2rayN/v2rayN/Handler/StatisticsSingbox.cs @@ -1,6 +1,6 @@ using System.Net.WebSockets; using System.Text; -using v2rayN.Mode; +using v2rayN.Model; namespace v2rayN.Handler { @@ -113,7 +113,7 @@ namespace v2rayN.Handler up = 0; down = 0; try { - var trafficItem = JsonUtils.Deserialize(source); + var trafficItem = JsonUtile.Deserialize(source); if (trafficItem != null) { up = trafficItem.up; diff --git a/v2rayN/v2rayN/Handler/StatisticsV2ray.cs b/v2rayN/v2rayN/Handler/StatisticsV2ray.cs index eeede2a4..0034a96d 100644 --- a/v2rayN/v2rayN/Handler/StatisticsV2ray.cs +++ b/v2rayN/v2rayN/Handler/StatisticsV2ray.cs @@ -1,19 +1,19 @@ using Grpc.Core; using Grpc.Net.Client; using ProtosLib.Statistics; -using v2rayN.Mode; +using v2rayN.Model; namespace v2rayN.Handler { internal class StatisticsV2ray { - private Mode.Config _config; + private Model.Config _config; private GrpcChannel? _channel; private StatsService.StatsServiceClient? _client; private bool _exitFlag; private Action _updateFunc; - public StatisticsV2ray(Mode.Config config, Action update) + public StatisticsV2ray(Model.Config config, Action update) { _config = config; _updateFunc = update; diff --git a/v2rayN/v2rayN/Handler/SysProxyHandle.cs b/v2rayN/v2rayN/Handler/SysProxyHandle.cs index a840d011..5b2c2507 100644 --- a/v2rayN/v2rayN/Handler/SysProxyHandle.cs +++ b/v2rayN/v2rayN/Handler/SysProxyHandle.cs @@ -1,5 +1,5 @@ using PacLib; -using v2rayN.Mode; +using v2rayN.Model; namespace v2rayN.Handler { @@ -53,7 +53,7 @@ namespace v2rayN.Handler var strExceptions = $";{config.constItem.defIEProxyExceptions};{config.systemProxyExceptions}"; var strProxy = string.Empty; - if (Utils.IsNullOrEmpty(config.systemProxyAdvancedProtocol)) + if (Utile.IsNullOrEmpty(config.systemProxyAdvancedProtocol)) { strProxy = $"{Global.Loopback}:{port}"; } @@ -75,7 +75,7 @@ namespace v2rayN.Handler } else if (type == ESysProxyType.Pac) { - PacHandler.Start(Utils.GetConfigPath(), port, portPac); + PacHandler.Start(Utile.GetConfigPath(), port, portPac); var strProxy = $"{Global.HttpProtocol}{Global.Loopback}:{portPac}/pac?t={DateTime.Now.Ticks}"; ProxySetting.SetProxy(strProxy, "", 4); // use pac script url for auto-config proxy } @@ -97,7 +97,7 @@ namespace v2rayN.Handler try { //TODO To be verified - Utils.RegWriteValue(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyEnable", 0); + Utile.RegWriteValue(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyEnable", 0); } catch { diff --git a/v2rayN/v2rayN/Handler/UpdateHandle.cs b/v2rayN/v2rayN/Handler/UpdateHandle.cs index 24d62a02..11c312ac 100644 --- a/v2rayN/v2rayN/Handler/UpdateHandle.cs +++ b/v2rayN/v2rayN/Handler/UpdateHandle.cs @@ -6,7 +6,7 @@ using System.Runtime.InteropServices; using System.Text; using System.Text.RegularExpressions; using System.Windows; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.Handler @@ -47,15 +47,15 @@ namespace v2rayN.Handler try { - string fileName = Utils.GetTempPath(Utils.GetDownloadFileName(url)); - fileName = Utils.UrlEncode(fileName); + string fileName = Utile.GetTempPath(Utile.GetDownloadFileName(url)); + fileName = Utile.UrlEncode(fileName); Process process = new() { StartInfo = new ProcessStartInfo { FileName = "v2rayUpgrade.exe", Arguments = fileName.AppendQuotes(), - WorkingDirectory = Utils.StartupPath() + WorkingDirectory = Utile.StartupPath() } }; process.Start(); @@ -179,7 +179,7 @@ namespace v2rayN.Handler string url = item.url.TrimEx(); string userAgent = item.userAgent.TrimEx(); string hashCode = $"{item.remarks}->"; - if (Utils.IsNullOrEmpty(id) || Utils.IsNullOrEmpty(url) || (!Utils.IsNullOrEmpty(subId) && item.id != subId)) + if (Utile.IsNullOrEmpty(id) || Utile.IsNullOrEmpty(url) || (!Utile.IsNullOrEmpty(subId) && item.id != subId)) { //_updateFunc(false, $"{hashCode}{ResUI.MsgNoValidSubscription}"); continue; @@ -203,12 +203,12 @@ namespace v2rayN.Handler _updateFunc(false, $"{hashCode}{ResUI.MsgStartGettingSubscriptions}"); //one url - url = Utils.GetPunycode(url); + url = Utile.GetPunycode(url); //convert - if (!Utils.IsNullOrEmpty(item.convertTarget)) + if (!Utile.IsNullOrEmpty(item.convertTarget)) { var subConvertUrl = string.IsNullOrEmpty(config.constItem.subConvertUrl) ? Global.SubConvertUrls.FirstOrDefault() : config.constItem.subConvertUrl; - url = string.Format(subConvertUrl!, Utils.UrlEncode(url)); + url = string.Format(subConvertUrl!, Utile.UrlEncode(url)); if (!url.Contains("target=")) { url += string.Format("&target={0}", item.convertTarget); @@ -219,17 +219,17 @@ namespace v2rayN.Handler } } var result = await downloadHandle.TryDownloadString(url, blProxy, userAgent); - if (blProxy && Utils.IsNullOrEmpty(result)) + if (blProxy && Utile.IsNullOrEmpty(result)) { result = await downloadHandle.TryDownloadString(url, false, userAgent); } //more url - if (Utils.IsNullOrEmpty(item.convertTarget) && !Utils.IsNullOrEmpty(item.moreUrl.TrimEx())) + if (Utile.IsNullOrEmpty(item.convertTarget) && !Utile.IsNullOrEmpty(item.moreUrl.TrimEx())) { - if (!Utils.IsNullOrEmpty(result) && Utils.IsBase64String(result!)) + if (!Utile.IsNullOrEmpty(result) && Utile.IsBase64String(result!)) { - result = Utils.Base64Decode(result); + result = Utile.Base64Decode(result); } var lstUrl = new List @@ -238,22 +238,22 @@ namespace v2rayN.Handler }; foreach (var it in lstUrl) { - var url2 = Utils.GetPunycode(it); - if (Utils.IsNullOrEmpty(url2)) + var url2 = Utile.GetPunycode(it); + if (Utile.IsNullOrEmpty(url2)) { continue; } var result2 = await downloadHandle.TryDownloadString(url2, blProxy, userAgent); - if (blProxy && Utils.IsNullOrEmpty(result2)) + if (blProxy && Utile.IsNullOrEmpty(result2)) { result2 = await downloadHandle.TryDownloadString(url2, false, userAgent); } - if (!Utils.IsNullOrEmpty(result2)) + if (!Utile.IsNullOrEmpty(result2)) { - if (Utils.IsBase64String(result2!)) + if (Utile.IsBase64String(result2!)) { - result += Utils.Base64Decode(result2); + result += Utile.Base64Decode(result2); } else { @@ -263,7 +263,7 @@ namespace v2rayN.Handler } } - if (Utils.IsNullOrEmpty(result)) + if (Utile.IsNullOrEmpty(result)) { _updateFunc(false, $"{hashCode}{ResUI.MsgSubscriptionDecodingFailed}"); } @@ -325,7 +325,7 @@ namespace v2rayN.Handler string url = coreInfo.coreReleaseApiUrl; var result = await (new DownloadHandle()).DownloadStringAsync(url, true, ""); - if (!Utils.IsNullOrEmpty(result)) + if (!Utile.IsNullOrEmpty(result)) { responseHandler(type, result, preRelease); } @@ -354,7 +354,7 @@ namespace v2rayN.Handler foreach (string name in coreInfo.coreExes) { string vName = $"{name}.exe"; - vName = Utils.GetBinPath(vName, coreInfo.coreType.ToString()); + vName = Utile.GetBinPath(vName, coreInfo.coreType.ToString()); if (File.Exists(vName)) { filePath = vName; @@ -372,7 +372,7 @@ namespace v2rayN.Handler using Process p = new(); p.StartInfo.FileName = filePath.AppendQuotes(); p.StartInfo.Arguments = coreInfo.versionArg; - p.StartInfo.WorkingDirectory = Utils.StartupPath(); + p.StartInfo.WorkingDirectory = Utile.StartupPath(); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.CreateNoWindow = true; @@ -414,7 +414,7 @@ namespace v2rayN.Handler { try { - var gitHubReleases = JsonUtils.Deserialize>(gitHubReleaseApi); + var gitHubReleases = JsonUtile.Deserialize>(gitHubReleaseApi); var gitHubRelease = preRelease ? gitHubReleases!.First() : gitHubReleases!.First(r => r.Prerelease == false); var version = new SemanticVersion(gitHubRelease!.TagName); var body = gitHubRelease!.Body; @@ -498,7 +498,7 @@ namespace v2rayN.Handler } case ECoreType.v2rayN: { - curVersion = new SemanticVersion(FileVersionInfo.GetVersionInfo(Utils.GetExePath()).FileVersion.ToString()); + curVersion = new SemanticVersion(FileVersionInfo.GetVersionInfo(Utile.GetExePath()).FileVersion.ToString()); message = string.Format(ResUI.IsLatestN, type, curVersion); switch (RuntimeInformation.ProcessArchitecture) { @@ -570,15 +570,15 @@ namespace v2rayN.Handler try { - string fileName = Utils.GetTempPath(Utils.GetDownloadFileName(url)); + string fileName = Utile.GetTempPath(Utile.GetDownloadFileName(url)); if (File.Exists(fileName)) { //Global.coreTypes.ForEach(it => //{ - // string targetPath = Utils.GetBinPath($"{geoName}.dat", (ECoreType)Enum.Parse(typeof(ECoreType), it)); + // string targetPath = Utile.GetBinPath($"{geoName}.dat", (ECoreType)Enum.Parse(typeof(ECoreType), it)); // File.Copy(fileName, targetPath, true); //}); - string targetPath = Utils.GetBinPath($"{geoName}.dat"); + string targetPath = Utile.GetBinPath($"{geoName}.dat"); File.Copy(fileName, targetPath, true); File.Delete(fileName); @@ -623,10 +623,10 @@ namespace v2rayN.Handler coreHandler?.CoreStop(); await Task.Delay(3000); } - string fileName = Utils.GetTempPath(Utils.GetDownloadFileName(url)); + string fileName = Utile.GetTempPath(Utile.GetDownloadFileName(url)); if (File.Exists(fileName)) { - string targetPath = Utils.GetConfigPath($"{geoName}.db"); + string targetPath = Utile.GetConfigPath($"{geoName}.db"); File.Copy(fileName, targetPath, true); File.Delete(fileName); diff --git a/v2rayN/v2rayN/Mode/ComboItem.cs b/v2rayN/v2rayN/Model/ComboItem.cs similarity index 86% rename from v2rayN/v2rayN/Mode/ComboItem.cs rename to v2rayN/v2rayN/Model/ComboItem.cs index b3d77cb0..73ed4e79 100644 --- a/v2rayN/v2rayN/Mode/ComboItem.cs +++ b/v2rayN/v2rayN/Model/ComboItem.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { public class ComboItem { diff --git a/v2rayN/v2rayN/Mode/Config.cs b/v2rayN/v2rayN/Model/Config.cs similarity index 97% rename from v2rayN/v2rayN/Mode/Config.cs rename to v2rayN/v2rayN/Model/Config.cs index fde5a14f..5ff2e541 100644 --- a/v2rayN/v2rayN/Mode/Config.cs +++ b/v2rayN/v2rayN/Model/Config.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { /// /// 本软件配置文件实体类 diff --git a/v2rayN/v2rayN/Mode/ConfigItems.cs b/v2rayN/v2rayN/Model/ConfigItems.cs similarity index 99% rename from v2rayN/v2rayN/Mode/ConfigItems.cs rename to v2rayN/v2rayN/Model/ConfigItems.cs index 3035e333..1a0d402d 100644 --- a/v2rayN/v2rayN/Mode/ConfigItems.cs +++ b/v2rayN/v2rayN/Model/ConfigItems.cs @@ -1,6 +1,6 @@ using System.Windows.Input; -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] public class CoreBasicItem diff --git a/v2rayN/v2rayN/Mode/ConfigOld.cs b/v2rayN/v2rayN/Model/ConfigOld.cs similarity index 99% rename from v2rayN/v2rayN/Mode/ConfigOld.cs rename to v2rayN/v2rayN/Model/ConfigOld.cs index 72cbf898..ebe97786 100644 --- a/v2rayN/v2rayN/Mode/ConfigOld.cs +++ b/v2rayN/v2rayN/Model/ConfigOld.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] public class ConfigOld diff --git a/v2rayN/v2rayN/Mode/CoreInfo.cs b/v2rayN/v2rayN/Model/CoreInfo.cs similarity index 95% rename from v2rayN/v2rayN/Mode/CoreInfo.cs rename to v2rayN/v2rayN/Model/CoreInfo.cs index 63538776..0c4460cd 100644 --- a/v2rayN/v2rayN/Mode/CoreInfo.cs +++ b/v2rayN/v2rayN/Model/CoreInfo.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] public class CoreInfo diff --git a/v2rayN/v2rayN/Mode/DNSItem.cs b/v2rayN/v2rayN/Model/DNSItem.cs similarity index 95% rename from v2rayN/v2rayN/Mode/DNSItem.cs rename to v2rayN/v2rayN/Model/DNSItem.cs index 80254ae1..013f2c52 100644 --- a/v2rayN/v2rayN/Mode/DNSItem.cs +++ b/v2rayN/v2rayN/Model/DNSItem.cs @@ -1,6 +1,6 @@ using SQLite; -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] public class DNSItem diff --git a/v2rayN/v2rayN/Mode/EConfigType.cs b/v2rayN/v2rayN/Model/EConfigType.cs similarity index 89% rename from v2rayN/v2rayN/Mode/EConfigType.cs rename to v2rayN/v2rayN/Model/EConfigType.cs index aff401aa..b0fb7409 100644 --- a/v2rayN/v2rayN/Mode/EConfigType.cs +++ b/v2rayN/v2rayN/Model/EConfigType.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { public enum EConfigType { diff --git a/v2rayN/v2rayN/Mode/ECoreType.cs b/v2rayN/v2rayN/Model/ECoreType.cs similarity index 92% rename from v2rayN/v2rayN/Mode/ECoreType.cs rename to v2rayN/v2rayN/Model/ECoreType.cs index 27a88263..0557cc1e 100644 --- a/v2rayN/v2rayN/Mode/ECoreType.cs +++ b/v2rayN/v2rayN/Model/ECoreType.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { public enum ECoreType { diff --git a/v2rayN/v2rayN/Mode/EGlobalHotkey.cs b/v2rayN/v2rayN/Model/EGlobalHotkey.cs similarity index 87% rename from v2rayN/v2rayN/Mode/EGlobalHotkey.cs rename to v2rayN/v2rayN/Model/EGlobalHotkey.cs index 8110fdf9..60436a40 100644 --- a/v2rayN/v2rayN/Mode/EGlobalHotkey.cs +++ b/v2rayN/v2rayN/Model/EGlobalHotkey.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { public enum EGlobalHotkey { diff --git a/v2rayN/v2rayN/Mode/EMove.cs b/v2rayN/v2rayN/Model/EMove.cs similarity index 82% rename from v2rayN/v2rayN/Mode/EMove.cs rename to v2rayN/v2rayN/Model/EMove.cs index 0dae4135..4be8a004 100644 --- a/v2rayN/v2rayN/Mode/EMove.cs +++ b/v2rayN/v2rayN/Model/EMove.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { public enum EMove { diff --git a/v2rayN/v2rayN/Mode/EServerColName.cs b/v2rayN/v2rayN/Model/EServerColName.cs similarity index 91% rename from v2rayN/v2rayN/Mode/EServerColName.cs rename to v2rayN/v2rayN/Model/EServerColName.cs index 0323df30..c20c9379 100644 --- a/v2rayN/v2rayN/Mode/EServerColName.cs +++ b/v2rayN/v2rayN/Model/EServerColName.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { public enum EServerColName { diff --git a/v2rayN/v2rayN/Mode/ESpeedActionType.cs b/v2rayN/v2rayN/Model/ESpeedActionType.cs similarity index 81% rename from v2rayN/v2rayN/Mode/ESpeedActionType.cs rename to v2rayN/v2rayN/Model/ESpeedActionType.cs index c8068f78..631ec980 100644 --- a/v2rayN/v2rayN/Mode/ESpeedActionType.cs +++ b/v2rayN/v2rayN/Model/ESpeedActionType.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { public enum ESpeedActionType { diff --git a/v2rayN/v2rayN/Mode/ESysProxyType.cs b/v2rayN/v2rayN/Model/ESysProxyType.cs similarity index 83% rename from v2rayN/v2rayN/Mode/ESysProxyType.cs rename to v2rayN/v2rayN/Model/ESysProxyType.cs index e52887da..1038e764 100644 --- a/v2rayN/v2rayN/Mode/ESysProxyType.cs +++ b/v2rayN/v2rayN/Model/ESysProxyType.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { public enum ESysProxyType { diff --git a/v2rayN/v2rayN/Mode/EViewAction.cs b/v2rayN/v2rayN/Model/EViewAction.cs similarity index 77% rename from v2rayN/v2rayN/Mode/EViewAction.cs rename to v2rayN/v2rayN/Model/EViewAction.cs index d1f2c626..9d2b751f 100644 --- a/v2rayN/v2rayN/Mode/EViewAction.cs +++ b/v2rayN/v2rayN/Model/EViewAction.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { public enum EViewAction { diff --git a/v2rayN/v2rayN/Mode/GitHubRelease.cs b/v2rayN/v2rayN/Model/GitHubRelease.cs similarity index 98% rename from v2rayN/v2rayN/Mode/GitHubRelease.cs rename to v2rayN/v2rayN/Model/GitHubRelease.cs index ddcb2582..c83ac6a6 100644 --- a/v2rayN/v2rayN/Mode/GitHubRelease.cs +++ b/v2rayN/v2rayN/Model/GitHubRelease.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace v2rayN.Mode +namespace v2rayN.Model { public class GitHubReleaseAsset { diff --git a/v2rayN/v2rayN/Mode/ProfileExItem.cs b/v2rayN/v2rayN/Model/ProfileExItem.cs similarity index 91% rename from v2rayN/v2rayN/Mode/ProfileExItem.cs rename to v2rayN/v2rayN/Model/ProfileExItem.cs index cbe09223..6fc17de9 100644 --- a/v2rayN/v2rayN/Mode/ProfileExItem.cs +++ b/v2rayN/v2rayN/Model/ProfileExItem.cs @@ -1,6 +1,6 @@ using SQLite; -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] public class ProfileExItem diff --git a/v2rayN/v2rayN/Mode/ProfileItem.cs b/v2rayN/v2rayN/Model/ProfileItem.cs similarity index 96% rename from v2rayN/v2rayN/Mode/ProfileItem.cs rename to v2rayN/v2rayN/Model/ProfileItem.cs index 797587e5..704df5f9 100644 --- a/v2rayN/v2rayN/Mode/ProfileItem.cs +++ b/v2rayN/v2rayN/Model/ProfileItem.cs @@ -1,6 +1,6 @@ using SQLite; -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] public class ProfileItem @@ -60,19 +60,19 @@ namespace v2rayN.Mode public List GetAlpn() { - if (Utils.IsNullOrEmpty(alpn)) + if (Utile.IsNullOrEmpty(alpn)) { return null; } else { - return Utils.String2List(alpn); + return Utile.String2List(alpn); } } public string GetNetwork() { - if (Utils.IsNullOrEmpty(network) || !Global.Networks.Contains(network)) + if (Utile.IsNullOrEmpty(network) || !Global.Networks.Contains(network)) { return Global.DefaultNetwork; } diff --git a/v2rayN/v2rayN/Mode/ProfileItemModel.cs b/v2rayN/v2rayN/Model/ProfileItemModel.cs similarity index 95% rename from v2rayN/v2rayN/Mode/ProfileItemModel.cs rename to v2rayN/v2rayN/Model/ProfileItemModel.cs index e4b761e6..3ddd3d01 100644 --- a/v2rayN/v2rayN/Mode/ProfileItemModel.cs +++ b/v2rayN/v2rayN/Model/ProfileItemModel.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] public class ProfileItemModel : ProfileItem diff --git a/v2rayN/v2rayN/Mode/RoutingItem.cs b/v2rayN/v2rayN/Model/RoutingItem.cs similarity index 96% rename from v2rayN/v2rayN/Mode/RoutingItem.cs rename to v2rayN/v2rayN/Model/RoutingItem.cs index 25c85606..8e9e215d 100644 --- a/v2rayN/v2rayN/Mode/RoutingItem.cs +++ b/v2rayN/v2rayN/Model/RoutingItem.cs @@ -1,6 +1,6 @@ using SQLite; -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] public class RoutingItem diff --git a/v2rayN/v2rayN/Mode/RoutingItemModel.cs b/v2rayN/v2rayN/Model/RoutingItemModel.cs similarity index 82% rename from v2rayN/v2rayN/Mode/RoutingItemModel.cs rename to v2rayN/v2rayN/Model/RoutingItemModel.cs index bc6d08be..2c26e2ae 100644 --- a/v2rayN/v2rayN/Mode/RoutingItemModel.cs +++ b/v2rayN/v2rayN/Model/RoutingItemModel.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] public class RoutingItemModel : RoutingItem diff --git a/v2rayN/v2rayN/Mode/RulesItem.cs b/v2rayN/v2rayN/Model/RulesItem.cs similarity index 95% rename from v2rayN/v2rayN/Mode/RulesItem.cs rename to v2rayN/v2rayN/Model/RulesItem.cs index 1985c258..a1780e22 100644 --- a/v2rayN/v2rayN/Mode/RulesItem.cs +++ b/v2rayN/v2rayN/Model/RulesItem.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] public class RulesItem diff --git a/v2rayN/v2rayN/Mode/RulesItemModel.cs b/v2rayN/v2rayN/Model/RulesItemModel.cs similarity index 90% rename from v2rayN/v2rayN/Mode/RulesItemModel.cs rename to v2rayN/v2rayN/Model/RulesItemModel.cs index 65f0d84f..541f7d2c 100644 --- a/v2rayN/v2rayN/Mode/RulesItemModel.cs +++ b/v2rayN/v2rayN/Model/RulesItemModel.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] public class RulesItemModel : RulesItem diff --git a/v2rayN/v2rayN/Mode/ServerSpeedItem.cs b/v2rayN/v2rayN/Model/ServerSpeedItem.cs similarity index 95% rename from v2rayN/v2rayN/Mode/ServerSpeedItem.cs rename to v2rayN/v2rayN/Model/ServerSpeedItem.cs index c51f6d11..d6ceb6b8 100644 --- a/v2rayN/v2rayN/Mode/ServerSpeedItem.cs +++ b/v2rayN/v2rayN/Model/ServerSpeedItem.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] internal class ServerSpeedItem : ServerStatItem diff --git a/v2rayN/v2rayN/Mode/ServerStatItem.cs b/v2rayN/v2rayN/Model/ServerStatItem.cs similarity index 95% rename from v2rayN/v2rayN/Mode/ServerStatItem.cs rename to v2rayN/v2rayN/Model/ServerStatItem.cs index 9664fa89..f6352b07 100644 --- a/v2rayN/v2rayN/Mode/ServerStatItem.cs +++ b/v2rayN/v2rayN/Model/ServerStatItem.cs @@ -1,6 +1,6 @@ using SQLite; -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] public class ServerStatItem diff --git a/v2rayN/v2rayN/Mode/ServerTestItem.cs b/v2rayN/v2rayN/Model/ServerTestItem.cs similarity index 92% rename from v2rayN/v2rayN/Mode/ServerTestItem.cs rename to v2rayN/v2rayN/Model/ServerTestItem.cs index bb210935..99f806de 100644 --- a/v2rayN/v2rayN/Mode/ServerTestItem.cs +++ b/v2rayN/v2rayN/Model/ServerTestItem.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] internal class ServerTestItem diff --git a/v2rayN/v2rayN/Mode/SingboxConfig.cs b/v2rayN/v2rayN/Model/SingboxConfig.cs similarity index 99% rename from v2rayN/v2rayN/Mode/SingboxConfig.cs rename to v2rayN/v2rayN/Model/SingboxConfig.cs index 07780808..7f243e63 100644 --- a/v2rayN/v2rayN/Mode/SingboxConfig.cs +++ b/v2rayN/v2rayN/Model/SingboxConfig.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { public class SingboxConfig { diff --git a/v2rayN/v2rayN/Mode/SsSIP008.cs b/v2rayN/v2rayN/Model/SsSIP008.cs similarity index 93% rename from v2rayN/v2rayN/Mode/SsSIP008.cs rename to v2rayN/v2rayN/Model/SsSIP008.cs index 08471474..3f443ed2 100644 --- a/v2rayN/v2rayN/Mode/SsSIP008.cs +++ b/v2rayN/v2rayN/Model/SsSIP008.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { public class SsSIP008 { diff --git a/v2rayN/v2rayN/Mode/SubItem.cs b/v2rayN/v2rayN/Model/SubItem.cs similarity index 96% rename from v2rayN/v2rayN/Mode/SubItem.cs rename to v2rayN/v2rayN/Model/SubItem.cs index c3fe2c21..6df0cb06 100644 --- a/v2rayN/v2rayN/Mode/SubItem.cs +++ b/v2rayN/v2rayN/Model/SubItem.cs @@ -1,6 +1,6 @@ using SQLite; -namespace v2rayN.Mode +namespace v2rayN.Model { [Serializable] public class SubItem diff --git a/v2rayN/v2rayN/Mode/SysproxyConfig.cs b/v2rayN/v2rayN/Model/SysProxyConfig.cs similarity index 79% rename from v2rayN/v2rayN/Mode/SysproxyConfig.cs rename to v2rayN/v2rayN/Model/SysProxyConfig.cs index f40715aa..eac6a6ae 100644 --- a/v2rayN/v2rayN/Mode/SysproxyConfig.cs +++ b/v2rayN/v2rayN/Model/SysProxyConfig.cs @@ -1,6 +1,6 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { - internal class SysproxyConfig + internal class SysProxyConfig { public bool UserSettingsRecorded; public string Flags; @@ -8,7 +8,7 @@ public string BypassList; public string PacUrl; - public SysproxyConfig() + public SysProxyConfig() { UserSettingsRecorded = false; Flags = "1"; diff --git a/v2rayN/v2rayN/Mode/V2rayConfig.cs b/v2rayN/v2rayN/Model/V2rayConfig.cs similarity index 99% rename from v2rayN/v2rayN/Mode/V2rayConfig.cs rename to v2rayN/v2rayN/Model/V2rayConfig.cs index 9f1d7050..d526ed3a 100644 --- a/v2rayN/v2rayN/Mode/V2rayConfig.cs +++ b/v2rayN/v2rayN/Model/V2rayConfig.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace v2rayN.Mode +namespace v2rayN.Model { /// /// v2ray配置文件实体类 例子SampleConfig.txt diff --git a/v2rayN/v2rayN/Mode/V2rayTcpRequest.cs b/v2rayN/v2rayN/Model/V2rayTcpRequest.cs similarity index 93% rename from v2rayN/v2rayN/Mode/V2rayTcpRequest.cs rename to v2rayN/v2rayN/Model/V2rayTcpRequest.cs index 79d7fa05..9290e868 100644 --- a/v2rayN/v2rayN/Mode/V2rayTcpRequest.cs +++ b/v2rayN/v2rayN/Model/V2rayTcpRequest.cs @@ -1,4 +1,4 @@ -namespace v2rayN.Mode +namespace v2rayN.Model { /// /// Tcp伪装http的Request,只要Host diff --git a/v2rayN/v2rayN/Mode/VmessQRCode.cs b/v2rayN/v2rayN/Model/VmessQRCode.cs similarity index 98% rename from v2rayN/v2rayN/Mode/VmessQRCode.cs rename to v2rayN/v2rayN/Model/VmessQRCode.cs index 89697b59..91cf3cec 100644 --- a/v2rayN/v2rayN/Mode/VmessQRCode.cs +++ b/v2rayN/v2rayN/Model/VmessQRCode.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace v2rayN.Mode +namespace v2rayN.Model { /// /// https://github.com/2dust/v2rayN/wiki/ diff --git a/v2rayN/v2rayN/ViewModels/AddServer2ViewModel.cs b/v2rayN/v2rayN/ViewModels/AddServer2ViewModel.cs index ffe448d9..f1f2c374 100644 --- a/v2rayN/v2rayN/ViewModels/AddServer2ViewModel.cs +++ b/v2rayN/v2rayN/ViewModels/AddServer2ViewModel.cs @@ -6,7 +6,7 @@ using System.IO; using System.Reactive; using System.Windows; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.ViewModels @@ -36,7 +36,7 @@ namespace v2rayN.ViewModels } else { - SelectedSource = JsonUtils.DeepCopy(profileItem); + SelectedSource = JsonUtile.DeepCopy(profileItem); } _view = view; @@ -56,19 +56,19 @@ namespace v2rayN.ViewModels SaveServer(); }); - Utils.SetDarkBorder(view, _config.uiItem.colorModeDark); + Utile.SetDarkBorder(view, _config.uiItem.colorModeDark); } private void SaveServer() { string remarks = SelectedSource.remarks; - if (Utils.IsNullOrEmpty(remarks)) + if (Utile.IsNullOrEmpty(remarks)) { UI.Show(ResUI.PleaseFillRemarks); return; } - if (Utils.IsNullOrEmpty(SelectedSource.address)) + if (Utile.IsNullOrEmpty(SelectedSource.address)) { UI.Show(ResUI.FillServerAddressCustom); return; @@ -108,7 +108,7 @@ namespace v2rayN.ViewModels { return; } - if (Utils.IsNullOrEmpty(fileName)) + if (Utile.IsNullOrEmpty(fileName)) { return; } @@ -119,9 +119,9 @@ namespace v2rayN.ViewModels if (ConfigHandler.AddCustomServer(_config, item, false) == 0) { _noticeHandler?.Enqueue(ResUI.SuccessfullyImportedCustomServer); - if (!Utils.IsNullOrEmpty(item.indexId)) + if (!Utile.IsNullOrEmpty(item.indexId)) { - SelectedSource = JsonUtils.DeepCopy(item); + SelectedSource = JsonUtile.DeepCopy(item); } IsModified = true; } @@ -134,16 +134,16 @@ namespace v2rayN.ViewModels private void EditServer() { var address = SelectedSource.address; - if (Utils.IsNullOrEmpty(address)) + if (Utile.IsNullOrEmpty(address)) { UI.Show(ResUI.FillServerAddressCustom); return; } - address = Utils.GetConfigPath(address); + address = Utile.GetConfigPath(address); if (File.Exists(address)) { - Utils.ProcessStart(address); + Utile.ProcessStart(address); } else { diff --git a/v2rayN/v2rayN/ViewModels/AddServerViewModel.cs b/v2rayN/v2rayN/ViewModels/AddServerViewModel.cs index a81a2dc0..bc1b8f24 100644 --- a/v2rayN/v2rayN/ViewModels/AddServerViewModel.cs +++ b/v2rayN/v2rayN/ViewModels/AddServerViewModel.cs @@ -4,7 +4,7 @@ using Splat; using System.Reactive; using System.Windows; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.ViewModels @@ -36,7 +36,7 @@ namespace v2rayN.ViewModels } else { - SelectedSource = JsonUtils.DeepCopy(profileItem); + SelectedSource = JsonUtile.DeepCopy(profileItem); } SaveCmd = ReactiveCommand.Create(() => @@ -44,24 +44,24 @@ namespace v2rayN.ViewModels SaveServer(); }); - Utils.SetDarkBorder(view, _config.uiItem.colorModeDark); + Utile.SetDarkBorder(view, _config.uiItem.colorModeDark); } private void SaveServer() { - if (Utils.IsNullOrEmpty(SelectedSource.remarks)) + if (Utile.IsNullOrEmpty(SelectedSource.remarks)) { UI.Show(ResUI.PleaseFillRemarks); return; } - if (Utils.IsNullOrEmpty(SelectedSource.address)) + if (Utile.IsNullOrEmpty(SelectedSource.address)) { UI.Show(ResUI.FillServerAddress); return; } var port = SelectedSource.port.ToString(); - if (Utils.IsNullOrEmpty(port) || !Utils.IsNumberic(port) + if (Utile.IsNullOrEmpty(port) || !Utile.IsNumeric(port) || SelectedSource.port <= 0 || SelectedSource.port >= Global.MaxPort) { UI.Show(ResUI.FillCorrectServerPort); @@ -69,12 +69,12 @@ namespace v2rayN.ViewModels } if (SelectedSource.configType == EConfigType.Shadowsocks) { - if (Utils.IsNullOrEmpty(SelectedSource.id)) + if (Utile.IsNullOrEmpty(SelectedSource.id)) { UI.Show(ResUI.FillPassword); return; } - if (Utils.IsNullOrEmpty(SelectedSource.security)) + if (Utile.IsNullOrEmpty(SelectedSource.security)) { UI.Show(ResUI.PleaseSelectEncryption); return; @@ -82,7 +82,7 @@ namespace v2rayN.ViewModels } if (SelectedSource.configType != EConfigType.Socks) { - if (Utils.IsNullOrEmpty(SelectedSource.id)) + if (Utile.IsNullOrEmpty(SelectedSource.id)) { UI.Show(ResUI.FillUUID); return; diff --git a/v2rayN/v2rayN/ViewModels/DNSSettingViewModel.cs b/v2rayN/v2rayN/ViewModels/DNSSettingViewModel.cs index 8eb7df1b..169ce11c 100644 --- a/v2rayN/v2rayN/ViewModels/DNSSettingViewModel.cs +++ b/v2rayN/v2rayN/ViewModels/DNSSettingViewModel.cs @@ -4,7 +4,7 @@ using Splat; using System.Reactive; using System.Windows; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.ViewModels @@ -47,23 +47,23 @@ namespace v2rayN.ViewModels ImportDefConfig4V2rayCmd = ReactiveCommand.Create(() => { - normalDNS = Utils.GetEmbedText(Global.DNSV2rayNormalFileName); + normalDNS = Utile.GetEmbedText(Global.DNSV2rayNormalFileName); }); ImportDefConfig4SingboxCmd = ReactiveCommand.Create(() => { - normalDNS2 = Utils.GetEmbedText(Global.DNSSingboxNormalFileName); - tunDNS2 = Utils.GetEmbedText(Global.TunSingboxDNSFileName); + normalDNS2 = Utile.GetEmbedText(Global.DNSSingboxNormalFileName); + tunDNS2 = Utile.GetEmbedText(Global.TunSingboxDNSFileName); }); - Utils.SetDarkBorder(view, _config.uiItem.colorModeDark); + Utile.SetDarkBorder(view, _config.uiItem.colorModeDark); } private void SaveSetting() { - if (!Utils.IsNullOrEmpty(normalDNS)) + if (!Utile.IsNullOrEmpty(normalDNS)) { - var obj = JsonUtils.ParseJson(normalDNS); + var obj = JsonUtile.ParseJson(normalDNS); if (obj != null && obj["servers"] != null) { } @@ -76,18 +76,18 @@ namespace v2rayN.ViewModels } } } - if (!Utils.IsNullOrEmpty(normalDNS2)) + if (!Utile.IsNullOrEmpty(normalDNS2)) { - var obj2 = JsonUtils.Deserialize(normalDNS2); + var obj2 = JsonUtile.Deserialize(normalDNS2); if (obj2 == null) { UI.Show(ResUI.FillCorrectDNSText); return; } } - if (!Utils.IsNullOrEmpty(tunDNS2)) + if (!Utile.IsNullOrEmpty(tunDNS2)) { - var obj2 = JsonUtils.Deserialize(tunDNS2); + var obj2 = JsonUtile.Deserialize(tunDNS2); if (obj2 == null) { UI.Show(ResUI.FillCorrectDNSText); @@ -102,8 +102,8 @@ namespace v2rayN.ViewModels ConfigHandler.SaveDNSItems(_config, item); var item2 = LazyConfig.Instance.GetDNSItem(ECoreType.sing_box); - item2.normalDNS = JsonUtils.Serialize(JsonUtils.ParseJson(normalDNS2)); - item2.tunDNS = JsonUtils.Serialize(JsonUtils.ParseJson(tunDNS2)); + item2.normalDNS = JsonUtile.Serialize(JsonUtile.ParseJson(normalDNS2)); + item2.tunDNS = JsonUtile.Serialize(JsonUtile.ParseJson(tunDNS2)); ConfigHandler.SaveDNSItems(_config, item2); _noticeHandler?.Enqueue(ResUI.OperationSuccess); diff --git a/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs b/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs index 2168b316..a373a70a 100644 --- a/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs +++ b/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs @@ -15,7 +15,7 @@ using System.Text; using System.Windows; using System.Windows.Media; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; using v2rayN.Views; @@ -265,7 +265,7 @@ namespace v2rayN.ViewModels SelectedMoveToGroup = new(); SelectedRouting = new(); SelectedServer = new(); - if (_config.tunModeItem.enableTun && Utils.IsAdministrator()) + if (_config.tunModeItem.enableTun && Utile.IsAdministrator()) { EnableTun = true; } @@ -641,8 +641,8 @@ namespace v2rayN.ViewModels return; } - SpeedProxyDisplay = string.Format(ResUI.SpeedDisplayText, Global.ProxyTag, Utils.HumanFy(update.proxyUp), Utils.HumanFy(update.proxyDown)); - SpeedDirectDisplay = string.Format(ResUI.SpeedDisplayText, Global.DirectTag, Utils.HumanFy(update.directUp), Utils.HumanFy(update.directDown)); + SpeedProxyDisplay = string.Format(ResUI.SpeedDisplayText, Global.ProxyTag, Utile.HumanFy(update.proxyUp), Utile.HumanFy(update.proxyDown)); + SpeedDirectDisplay = string.Format(ResUI.SpeedDisplayText, Global.DirectTag, Utile.HumanFy(update.directUp), Utile.HumanFy(update.directDown)); if (update.proxyUp + update.proxyDown > 0) { @@ -652,20 +652,20 @@ namespace v2rayN.ViewModels var item = _profileItems.Where(it => it.indexId == update.indexId).FirstOrDefault(); if (item != null) { - item.todayDown = Utils.HumanFy(update.todayDown); - item.todayUp = Utils.HumanFy(update.todayUp); - item.totalDown = Utils.HumanFy(update.totalDown); - item.totalUp = Utils.HumanFy(update.totalUp); + item.todayDown = Utile.HumanFy(update.todayDown); + item.todayUp = Utile.HumanFy(update.todayUp); + item.totalDown = Utile.HumanFy(update.totalDown); + item.totalUp = Utile.HumanFy(update.totalUp); if (SelectedProfile?.indexId == item.indexId) { - var temp = JsonUtils.DeepCopy(item); + var temp = JsonUtile.DeepCopy(item); _profileItems.Replace(item, temp); SelectedProfile = temp; } else { - _profileItems.Replace(item, JsonUtils.DeepCopy(item)); + _profileItems.Replace(item, JsonUtile.DeepCopy(item)); } } } @@ -688,7 +688,7 @@ namespace v2rayN.ViewModels private void SetTestResult(string indexId, string delay, string speed) { - if (Utils.IsNullOrEmpty(indexId)) + if (Utile.IsNullOrEmpty(indexId)) { _noticeHandler?.SendMessage(delay, true); _noticeHandler?.Enqueue(delay); @@ -697,17 +697,17 @@ namespace v2rayN.ViewModels var item = _profileItems.Where(it => it.indexId == indexId).FirstOrDefault(); if (item != null) { - if (!Utils.IsNullOrEmpty(delay)) + if (!Utile.IsNullOrEmpty(delay)) { int.TryParse(delay, out int temp); item.delay = temp; item.delayVal = $"{delay} {Global.DelayUnit}"; } - if (!Utils.IsNullOrEmpty(speed)) + if (!Utile.IsNullOrEmpty(speed)) { item.speedVal = $"{speed} {Global.SpeedUnit}"; } - _profileItems.Replace(item, JsonUtils.DeepCopy(item)); + _profileItems.Replace(item, JsonUtile.DeepCopy(item)); } } @@ -797,7 +797,7 @@ namespace v2rayN.ViewModels return; } _serverFilter = ServerFilter; - if (Utils.IsNullOrEmpty(_serverFilter)) + if (Utile.IsNullOrEmpty(_serverFilter)) { RefreshServers(); } @@ -837,12 +837,12 @@ namespace v2rayN.ViewModels delay = t33 == null ? 0 : t33.delay, delayVal = t33?.delay != 0 ? $"{t33?.delay} {Global.DelayUnit}" : string.Empty, speedVal = t33?.speed != 0 ? $"{t33?.speed} {Global.SpeedUnit}" : string.Empty, - todayDown = t22 == null ? "" : Utils.HumanFy(t22.todayDown), - todayUp = t22 == null ? "" : Utils.HumanFy(t22.todayUp), - totalDown = t22 == null ? "" : Utils.HumanFy(t22.totalDown), - totalUp = t22 == null ? "" : Utils.HumanFy(t22.totalUp) + todayDown = t22 == null ? "" : Utile.HumanFy(t22.todayDown), + todayUp = t22 == null ? "" : Utile.HumanFy(t22.todayUp), + totalDown = t22 == null ? "" : Utile.HumanFy(t22.totalDown), + totalUp = t22 == null ? "" : Utile.HumanFy(t22.totalUp) }).OrderBy(t => t.sort).ToList(); - _lstProfile = JsonUtils.Deserialize>(JsonUtils.Serialize(lstModel)); + _lstProfile = JsonUtile.Deserialize>(JsonUtile.Serialize(lstModel)); Application.Current.Dispatcher.Invoke((Action)(() => { @@ -947,7 +947,7 @@ namespace v2rayN.ViewModels } else { - lstSelecteds = JsonUtils.Deserialize>(JsonUtils.Serialize(orderProfiles)); + lstSelecteds = JsonUtile.Deserialize>(JsonUtile.Serialize(orderProfiles)); } return 0; @@ -967,7 +967,7 @@ namespace v2rayN.ViewModels } else { - if (Utils.IsNullOrEmpty(SelectedProfile?.indexId)) + if (Utile.IsNullOrEmpty(SelectedProfile?.indexId)) { return; } @@ -1000,7 +1000,7 @@ namespace v2rayN.ViewModels public void AddServerViaClipboard() { - var clipboardData = Utils.GetClipboardData(); + var clipboardData = Utile.GetClipboardData(); int ret = ConfigHandler.AddBatchServers(_config, clipboardData!, _subId, false); if (ret > 0) { @@ -1014,15 +1014,15 @@ namespace v2rayN.ViewModels { ShowHideWindow(false); - var dpiXY = Utils.GetDpiXY(Application.Current.MainWindow); + var dpiXY = Utile.GetDpiXY(Application.Current.MainWindow); string result = await Task.Run(() => { - return Utils.ScanScreen(dpiXY.Item1, dpiXY.Item2); + return Utile.ScanScreen(dpiXY.Item1, dpiXY.Item2); }); ShowHideWindow(true); - if (Utils.IsNullOrEmpty(result)) + if (Utile.IsNullOrEmpty(result)) { _noticeHandler?.Enqueue(ResUI.NoValidQRcodeFound); } @@ -1084,7 +1084,7 @@ namespace v2rayN.ViewModels public void SetDefaultServer() { - if (Utils.IsNullOrEmpty(SelectedProfile?.indexId)) + if (Utile.IsNullOrEmpty(SelectedProfile?.indexId)) { return; } @@ -1093,7 +1093,7 @@ namespace v2rayN.ViewModels private void SetDefaultServer(string indexId) { - if (Utils.IsNullOrEmpty(indexId)) + if (Utile.IsNullOrEmpty(indexId)) { return; } @@ -1125,7 +1125,7 @@ namespace v2rayN.ViewModels { return; } - if (Utils.IsNullOrEmpty(SelectedServer.ID)) + if (Utile.IsNullOrEmpty(SelectedServer.ID)) { return; } @@ -1141,7 +1141,7 @@ namespace v2rayN.ViewModels return; } var url = ShareHandler.GetShareUrl(item); - if (Utils.IsNullOrEmpty(url)) + if (Utile.IsNullOrEmpty(url)) { return; } @@ -1157,7 +1157,7 @@ namespace v2rayN.ViewModels public void SortServer(string colName) { - if (Utils.IsNullOrEmpty(colName)) + if (Utile.IsNullOrEmpty(colName)) { return; } @@ -1282,7 +1282,7 @@ namespace v2rayN.ViewModels foreach (var it in lstSelecteds) { string url = ShareHandler.GetShareUrl(it); - if (Utils.IsNullOrEmpty(url)) + if (Utile.IsNullOrEmpty(url)) { continue; } @@ -1291,7 +1291,7 @@ namespace v2rayN.ViewModels } if (sb.Length > 0) { - Utils.SetClipboardData(sb.ToString()); + Utile.SetClipboardData(sb.ToString()); _noticeHandler?.SendMessage(ResUI.BatchExportURLSuccessfully); } } @@ -1307,7 +1307,7 @@ namespace v2rayN.ViewModels foreach (var it in lstSelecteds) { string? url = ShareHandler.GetShareUrl(it); - if (Utils.IsNullOrEmpty(url)) + if (Utile.IsNullOrEmpty(url)) { continue; } @@ -1316,7 +1316,7 @@ namespace v2rayN.ViewModels } if (sb.Length > 0) { - Utils.SetClipboardData(Utils.Base64Encode(sb.ToString())); + Utile.SetClipboardData(Utile.Base64Encode(sb.ToString())); _noticeHandler?.SendMessage(ResUI.BatchExportSubscriptionSuccessfully); } } @@ -1403,8 +1403,8 @@ namespace v2rayN.ViewModels { UseShellExecute = true, Arguments = Global.RebootAs, - WorkingDirectory = Utils.StartupPath(), - FileName = Utils.GetExePath().AppendQuotes(), + WorkingDirectory = Utile.StartupPath(), + FileName = Utile.GetExePath().AppendQuotes(), Verb = "runas", }; try @@ -1422,7 +1422,7 @@ namespace v2rayN.ViewModels { return; } - if (Utils.IsNullOrEmpty(fileName)) + if (Utile.IsNullOrEmpty(fileName)) { return; } @@ -1468,8 +1468,8 @@ namespace v2rayN.ViewModels { CloseV2ray(); - string fileName = Utils.GetTempPath(Utils.GetDownloadFileName(msg)); - string toPath = Utils.GetBinPath("", type.ToString()); + string fileName = Utile.GetTempPath(Utile.GetDownloadFileName(msg)); + string toPath = Utile.GetBinPath("", type.ToString()); FileManager.ZipExtractToFile(fileName, toPath, _config.guiItem.ignoreGeoUpdateCore ? "geo" : ""); @@ -1643,7 +1643,7 @@ namespace v2rayN.ViewModels { _config.tunModeItem.enableTun = EnableTun; // When running as a non-administrator, reboot to administrator mode - if (EnableTun && !Utils.IsAdministrator()) + if (EnableTun && !Utile.IsAdministrator()) { _config.tunModeItem.enableTun = false; RebootAsAdmin(); @@ -1676,7 +1676,7 @@ namespace v2rayN.ViewModels Application.Current.MainWindow.Hide(); //Application.Current.MainWindow.ShowInTaskbar = false; //IntPtr windowHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle; - //Utils.RegWriteValue(Global.MyRegPath, Utils.WindowHwndKey, Convert.ToString((long)windowHandle)); + //Utile.RegWriteValue(Global.MyRegPath, Utile.WindowHwndKey, Convert.ToString((long)windowHandle)); } _showInTaskbar = bl; } @@ -1685,7 +1685,7 @@ namespace v2rayN.ViewModels { if (FollowSystemTheme) { - ModifyTheme(!Utils.IsLightTheme()); + ModifyTheme(!Utile.IsLightTheme()); } else { @@ -1743,7 +1743,7 @@ namespace v2rayN.ViewModels ConfigHandler.SaveConfig(_config); if (FollowSystemTheme) { - ModifyTheme(!Utils.IsLightTheme()); + ModifyTheme(!Utile.IsLightTheme()); } else { @@ -1795,7 +1795,7 @@ namespace v2rayN.ViewModels y => y != null && !y.IsNullOrEmpty()) .Subscribe(c => { - if (!Utils.IsNullOrEmpty(CurrentLanguage)) + if (!Utile.IsNullOrEmpty(CurrentLanguage)) { _config.uiItem.currentLanguage = CurrentLanguage; Thread.CurrentThread.CurrentUICulture = new(CurrentLanguage); @@ -1847,7 +1847,7 @@ namespace v2rayN.ViewModels theme.SetBaseTheme(isDarkTheme ? Theme.Dark : Theme.Light); _paletteHelper.SetTheme(theme); - Utils.SetDarkBorder(Application.Current.MainWindow, isDarkTheme); + Utile.SetDarkBorder(Application.Current.MainWindow, isDarkTheme); } public void ChangePrimaryColor(System.Windows.Media.Color color) diff --git a/v2rayN/v2rayN/ViewModels/OptionSettingViewModel.cs b/v2rayN/v2rayN/ViewModels/OptionSettingViewModel.cs index 0fb17877..f860055d 100644 --- a/v2rayN/v2rayN/ViewModels/OptionSettingViewModel.cs +++ b/v2rayN/v2rayN/ViewModels/OptionSettingViewModel.cs @@ -4,7 +4,7 @@ using Splat; using System.Reactive; using System.Windows; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.ViewModels @@ -192,7 +192,7 @@ namespace v2rayN.ViewModels SaveSetting(); }); - Utils.SetDarkBorder(view, _config.uiItem.colorModeDark); + Utile.SetDarkBorder(view, _config.uiItem.colorModeDark); } private void InitCoreType() @@ -249,19 +249,19 @@ namespace v2rayN.ViewModels private void SaveSetting() { - if (Utils.IsNullOrEmpty(localPort.ToString()) || !Utils.IsNumberic(localPort.ToString()) + if (Utile.IsNullOrEmpty(localPort.ToString()) || !Utile.IsNumeric(localPort.ToString()) || localPort <= 0 || localPort >= Global.MaxPort) { UI.Show(ResUI.FillLocalListeningPort); return; } - //if (Utils.IsNullOrEmpty(Kcpmtu.ToString()) || !Utils.IsNumberic(Kcpmtu.ToString()) - // || Utils.IsNullOrEmpty(Kcptti.ToString()) || !Utils.IsNumberic(Kcptti.ToString()) - // || Utils.IsNullOrEmpty(KcpuplinkCapacity.ToString()) || !Utils.IsNumberic(KcpuplinkCapacity.ToString()) - // || Utils.IsNullOrEmpty(KcpdownlinkCapacity.ToString()) || !Utils.IsNumberic(KcpdownlinkCapacity.ToString()) - // || Utils.IsNullOrEmpty(KcpreadBufferSize.ToString()) || !Utils.IsNumberic(KcpreadBufferSize.ToString()) - // || Utils.IsNullOrEmpty(KcpwriteBufferSize.ToString()) || !Utils.IsNumberic(KcpwriteBufferSize.ToString())) + //if (Utile.IsNullOrEmpty(Kcpmtu.ToString()) || !Utile.IsNumeric(Kcpmtu.ToString()) + // || Utile.IsNullOrEmpty(Kcptti.ToString()) || !Utile.IsNumeric(Kcptti.ToString()) + // || Utile.IsNullOrEmpty(KcpuplinkCapacity.ToString()) || !Utile.IsNumeric(KcpuplinkCapacity.ToString()) + // || Utile.IsNullOrEmpty(KcpdownlinkCapacity.ToString()) || !Utile.IsNumeric(KcpdownlinkCapacity.ToString()) + // || Utile.IsNullOrEmpty(KcpreadBufferSize.ToString()) || !Utile.IsNumeric(KcpreadBufferSize.ToString()) + // || Utile.IsNullOrEmpty(KcpwriteBufferSize.ToString()) || !Utile.IsNumeric(KcpwriteBufferSize.ToString())) //{ // UI.Show(ResUI.FillKcpParameters); // return; @@ -300,7 +300,7 @@ namespace v2rayN.ViewModels //_config.kcpItem.congestion = Kcpcongestion; //UI - Utils.SetAutoRun(Global.AutoRunRegPath, Global.AutoRunName, AutoRun); + Utile.SetAutoRun(Global.AutoRunRegPath, Global.AutoRunName, AutoRun); _config.guiItem.autoRun = AutoRun; _config.guiItem.enableStatistics = EnableStatistics; _config.guiItem.keepOlderDedupl = KeepOlderDedupl; diff --git a/v2rayN/v2rayN/ViewModels/RoutingRuleDetailsViewModel.cs b/v2rayN/v2rayN/ViewModels/RoutingRuleDetailsViewModel.cs index c6c9e5f1..997ff002 100644 --- a/v2rayN/v2rayN/ViewModels/RoutingRuleDetailsViewModel.cs +++ b/v2rayN/v2rayN/ViewModels/RoutingRuleDetailsViewModel.cs @@ -4,7 +4,7 @@ using Splat; using System.Reactive; using System.Windows; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.ViewModels @@ -43,7 +43,7 @@ namespace v2rayN.ViewModels if (rulesItem.id.IsNullOrEmpty()) { - rulesItem.id = Utils.GetGUID(false); + rulesItem.id = Utile.GetGUID(false); rulesItem.outboundTag = Global.ProxyTag; rulesItem.enabled = true; SelectedSource = rulesItem; @@ -53,35 +53,35 @@ namespace v2rayN.ViewModels SelectedSource = rulesItem; } - Domain = Utils.List2String(SelectedSource.domain, true); - IP = Utils.List2String(SelectedSource.ip, true); - Process = Utils.List2String(SelectedSource.process, true); + Domain = Utile.List2String(SelectedSource.domain, true); + IP = Utile.List2String(SelectedSource.ip, true); + Process = Utile.List2String(SelectedSource.process, true); SaveCmd = ReactiveCommand.Create(() => { SaveRules(); }); - Utils.SetDarkBorder(view, _config.uiItem.colorModeDark); + Utile.SetDarkBorder(view, _config.uiItem.colorModeDark); } private void SaveRules() { - Domain = Utils.Convert2Comma(Domain); - IP = Utils.Convert2Comma(IP); - Process = Utils.Convert2Comma(Process); + Domain = Utile.Convert2Comma(Domain); + IP = Utile.Convert2Comma(IP); + Process = Utile.Convert2Comma(Process); if (AutoSort) { - SelectedSource.domain = Utils.String2ListSorted(Domain); - SelectedSource.ip = Utils.String2ListSorted(IP); - SelectedSource.process = Utils.String2ListSorted(Process); + SelectedSource.domain = Utile.String2ListSorted(Domain); + SelectedSource.ip = Utile.String2ListSorted(IP); + SelectedSource.process = Utile.String2ListSorted(Process); } else { - SelectedSource.domain = Utils.String2List(Domain); - SelectedSource.ip = Utils.String2List(IP); - SelectedSource.process = Utils.String2List(Process); + SelectedSource.domain = Utile.String2List(Domain); + SelectedSource.ip = Utile.String2List(IP); + SelectedSource.process = Utile.String2List(Process); } SelectedSource.protocol = ProtocolItems?.ToList(); SelectedSource.inboundTag = InboundTagItems?.ToList(); @@ -90,7 +90,7 @@ namespace v2rayN.ViewModels || SelectedSource.ip?.Count > 0 || SelectedSource.protocol?.Count > 0 || SelectedSource.process?.Count > 0 - || !Utils.IsNullOrEmpty(SelectedSource.port); + || !Utile.IsNullOrEmpty(SelectedSource.port); if (!hasRule) { diff --git a/v2rayN/v2rayN/ViewModels/RoutingRuleSettingViewModel.cs b/v2rayN/v2rayN/ViewModels/RoutingRuleSettingViewModel.cs index a35dafb2..7884437a 100644 --- a/v2rayN/v2rayN/ViewModels/RoutingRuleSettingViewModel.cs +++ b/v2rayN/v2rayN/ViewModels/RoutingRuleSettingViewModel.cs @@ -5,7 +5,7 @@ using Splat; using System.Reactive; using System.Windows; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; using v2rayN.Views; using Application = System.Windows.Application; @@ -58,7 +58,7 @@ namespace v2rayN.ViewModels else { SelectedRouting = routingItem; - _rules = JsonUtils.Deserialize>(SelectedRouting.ruleSet); + _rules = JsonUtile.Deserialize>(SelectedRouting.ruleSet); } RefreshRulesItems(); @@ -115,7 +115,7 @@ namespace v2rayN.ViewModels SaveRouting(); }); - Utils.SetDarkBorder(view, _config.uiItem.colorModeDark); + Utile.SetDarkBorder(view, _config.uiItem.colorModeDark); } public void RefreshRulesItems() @@ -129,10 +129,10 @@ namespace v2rayN.ViewModels id = item.id, outboundTag = item.outboundTag, port = item.port, - protocols = Utils.List2String(item.protocol), - inboundTags = Utils.List2String(item.inboundTag), - domains = Utils.List2String(item.domain), - ips = Utils.List2String(item.ip), + protocols = Utile.List2String(item.protocol), + inboundTags = Utile.List2String(item.inboundTag), + domains = Utile.List2String(item.domain), + ips = Utile.List2String(item.ip), enabled = item.enabled, }; _rulesItems.Add(it); @@ -207,7 +207,7 @@ namespace v2rayN.ViewModels } if (lst.Count > 0) { - Utils.SetClipboardData(JsonUtils.Serialize(lst)); + Utile.SetClipboardData(JsonUtile.Serialize(lst)); //UI.Show(ResUI.OperationSuccess")); } } @@ -235,7 +235,7 @@ namespace v2rayN.ViewModels private void SaveRouting() { string remarks = SelectedRouting.remarks; - if (Utils.IsNullOrEmpty(remarks)) + if (Utile.IsNullOrEmpty(remarks)) { UI.Show(ResUI.PleaseFillRemarks); return; @@ -243,10 +243,10 @@ namespace v2rayN.ViewModels var item = SelectedRouting; foreach (var it in _rules) { - it.id = Utils.GetGUID(false); + it.id = Utile.GetGUID(false); } item.ruleNum = _rules.Count; - item.ruleSet = JsonUtils.Serialize(_rules, false); + item.ruleSet = JsonUtile.Serialize(_rules, false); if (ConfigHandler.SaveRoutingItem(_config, item) == 0) { @@ -268,13 +268,13 @@ namespace v2rayN.ViewModels { return; } - if (Utils.IsNullOrEmpty(fileName)) + if (Utile.IsNullOrEmpty(fileName)) { return; } - string result = Utils.LoadResource(fileName); - if (Utils.IsNullOrEmpty(result)) + string result = Utile.LoadResource(fileName); + if (Utile.IsNullOrEmpty(result)) { return; } @@ -288,7 +288,7 @@ namespace v2rayN.ViewModels private void ImportRulesFromClipboard() { - string clipboardData = Utils.GetClipboardData(); + string clipboardData = Utile.GetClipboardData(); if (AddBatchRoutingRules(SelectedRouting, clipboardData) == 0) { RefreshRulesItems(); @@ -299,7 +299,7 @@ namespace v2rayN.ViewModels private async Task ImportRulesFromUrl() { var url = SelectedRouting.url; - if (Utils.IsNullOrEmpty(url)) + if (Utile.IsNullOrEmpty(url)) { UI.Show(ResUI.MsgNeedUrl); return; @@ -324,18 +324,18 @@ namespace v2rayN.ViewModels { blReplace = true; } - if (Utils.IsNullOrEmpty(clipboardData)) + if (Utile.IsNullOrEmpty(clipboardData)) { return -1; } - var lstRules = JsonUtils.Deserialize>(clipboardData); + var lstRules = JsonUtile.Deserialize>(clipboardData); if (lstRules == null) { return -1; } foreach (var rule in lstRules) { - rule.id = Utils.GetGUID(false); + rule.id = Utile.GetGUID(false); } if (blReplace) diff --git a/v2rayN/v2rayN/ViewModels/RoutingSettingViewModel.cs b/v2rayN/v2rayN/ViewModels/RoutingSettingViewModel.cs index dfcfddc4..bb08a4ec 100644 --- a/v2rayN/v2rayN/ViewModels/RoutingSettingViewModel.cs +++ b/v2rayN/v2rayN/ViewModels/RoutingSettingViewModel.cs @@ -5,7 +5,7 @@ using Splat; using System.Reactive; using System.Windows; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; using v2rayN.Views; @@ -126,7 +126,7 @@ namespace v2rayN.ViewModels SaveRouting(); }); - Utils.SetDarkBorder(view, _config.uiItem.colorModeDark); + Utile.SetDarkBorder(view, _config.uiItem.colorModeDark); } #region locked @@ -136,15 +136,15 @@ namespace v2rayN.ViewModels _lockedItem = ConfigHandler.GetLockedRoutingItem(_config); if (_lockedItem != null) { - _lockedRules = JsonUtils.Deserialize>(_lockedItem.ruleSet); - ProxyDomain = Utils.List2String(_lockedRules[0].domain, true); - ProxyIP = Utils.List2String(_lockedRules[0].ip, true); + _lockedRules = JsonUtile.Deserialize>(_lockedItem.ruleSet); + ProxyDomain = Utile.List2String(_lockedRules[0].domain, true); + ProxyIP = Utile.List2String(_lockedRules[0].ip, true); - DirectDomain = Utils.List2String(_lockedRules[1].domain, true); - DirectIP = Utils.List2String(_lockedRules[1].ip, true); + DirectDomain = Utile.List2String(_lockedRules[1].domain, true); + DirectIP = Utile.List2String(_lockedRules[1].ip, true); - BlockDomain = Utils.List2String(_lockedRules[2].domain, true); - BlockIP = Utils.List2String(_lockedRules[2].ip, true); + BlockDomain = Utile.List2String(_lockedRules[2].domain, true); + BlockIP = Utile.List2String(_lockedRules[2].ip, true); } } @@ -152,16 +152,16 @@ namespace v2rayN.ViewModels { if (_lockedItem != null) { - _lockedRules[0].domain = Utils.String2List(Utils.Convert2Comma(ProxyDomain.TrimEx())); - _lockedRules[0].ip = Utils.String2List(Utils.Convert2Comma(ProxyIP.TrimEx())); + _lockedRules[0].domain = Utile.String2List(Utile.Convert2Comma(ProxyDomain.TrimEx())); + _lockedRules[0].ip = Utile.String2List(Utile.Convert2Comma(ProxyIP.TrimEx())); - _lockedRules[1].domain = Utils.String2List(Utils.Convert2Comma(DirectDomain.TrimEx())); - _lockedRules[1].ip = Utils.String2List(Utils.Convert2Comma(DirectIP.TrimEx())); + _lockedRules[1].domain = Utile.String2List(Utile.Convert2Comma(DirectDomain.TrimEx())); + _lockedRules[1].ip = Utile.String2List(Utile.Convert2Comma(DirectIP.TrimEx())); - _lockedRules[2].domain = Utils.String2List(Utils.Convert2Comma(BlockDomain.TrimEx())); - _lockedRules[2].ip = Utils.String2List(Utils.Convert2Comma(BlockIP.TrimEx())); + _lockedRules[2].domain = Utile.String2List(Utile.Convert2Comma(BlockDomain.TrimEx())); + _lockedRules[2].ip = Utile.String2List(Utile.Convert2Comma(BlockIP.TrimEx())); - _lockedItem.ruleSet = JsonUtils.Serialize(_lockedRules, false); + _lockedItem.ruleSet = JsonUtile.Serialize(_lockedRules, false); ConfigHandler.SaveRoutingItem(_config, _lockedItem); } diff --git a/v2rayN/v2rayN/ViewModels/SubEditViewModel.cs b/v2rayN/v2rayN/ViewModels/SubEditViewModel.cs index c6ad0a17..5098c7f3 100644 --- a/v2rayN/v2rayN/ViewModels/SubEditViewModel.cs +++ b/v2rayN/v2rayN/ViewModels/SubEditViewModel.cs @@ -4,7 +4,7 @@ using Splat; using System.Reactive; using System.Windows; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.ViewModels @@ -32,7 +32,7 @@ namespace v2rayN.ViewModels } else { - SelectedSource = JsonUtils.DeepCopy(subItem); + SelectedSource = JsonUtile.DeepCopy(subItem); } SaveCmd = ReactiveCommand.Create(() => @@ -40,7 +40,7 @@ namespace v2rayN.ViewModels SaveSub(); }); - Utils.SetDarkBorder(view, _config.uiItem.colorModeDark); + Utile.SetDarkBorder(view, _config.uiItem.colorModeDark); } private void SaveSub() diff --git a/v2rayN/v2rayN/ViewModels/SubSettingViewModel.cs b/v2rayN/v2rayN/ViewModels/SubSettingViewModel.cs index 0fdf36c2..fce4bfee 100644 --- a/v2rayN/v2rayN/ViewModels/SubSettingViewModel.cs +++ b/v2rayN/v2rayN/ViewModels/SubSettingViewModel.cs @@ -7,7 +7,7 @@ using Splat; using System.Reactive; using System.Windows; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; using v2rayN.Views; @@ -62,7 +62,7 @@ namespace v2rayN.ViewModels SubShare(); }, canEditRemove); - Utils.SetDarkBorder(view, _config.uiItem.colorModeDark); + Utile.SetDarkBorder(view, _config.uiItem.colorModeDark); } public void RefreshSubItems() @@ -112,7 +112,7 @@ namespace v2rayN.ViewModels private async void SubShare() { - if (Utils.IsNullOrEmpty(SelectedSource?.url)) + if (Utile.IsNullOrEmpty(SelectedSource?.url)) { return; } diff --git a/v2rayN/v2rayN/Views/AddServer2Window.xaml.cs b/v2rayN/v2rayN/Views/AddServer2Window.xaml.cs index 3b33566d..3e3d68b7 100644 --- a/v2rayN/v2rayN/Views/AddServer2Window.xaml.cs +++ b/v2rayN/v2rayN/Views/AddServer2Window.xaml.cs @@ -1,7 +1,7 @@ using ReactiveUI; using System.Reactive.Disposables; using System.Windows; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.ViewModels; namespace v2rayN.Views diff --git a/v2rayN/v2rayN/Views/AddServerWindow.xaml.cs b/v2rayN/v2rayN/Views/AddServerWindow.xaml.cs index d89e9dde..07107a0a 100644 --- a/v2rayN/v2rayN/Views/AddServerWindow.xaml.cs +++ b/v2rayN/v2rayN/Views/AddServerWindow.xaml.cs @@ -3,7 +3,7 @@ using System.Reactive.Disposables; using System.Windows; using System.Windows.Controls; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; using v2rayN.ViewModels; @@ -60,7 +60,7 @@ namespace v2rayN.Views cmbFingerprint.Items.Add(it); cmbFingerprint2.Items.Add(it); }); - Global.AllowInsecures.ForEach(it => + Global.AllowInsecure.ForEach(it => { cmbAllowInsecure.Items.Add(it); }); @@ -73,7 +73,7 @@ namespace v2rayN.Views { case EConfigType.VMess: gridVMess.Visibility = Visibility.Visible; - Global.VmessSecuritys.ForEach(it => + Global.VmessSecurities.ForEach(it => { cmbSecurity.Items.Add(it); }); @@ -85,7 +85,7 @@ namespace v2rayN.Views case EConfigType.Shadowsocks: gridSs.Visibility = Visibility.Visible; - LazyConfig.Instance.GetShadowsocksSecuritys(profileItem).ForEach(it => + LazyConfig.Instance.GetShadowsocksSecurities(profileItem).ForEach(it => { cmbSecurity3.Items.Add(it); }); @@ -265,7 +265,7 @@ namespace v2rayN.Views private void btnGUID_Click(object sender, RoutedEventArgs e) { txtId.Text = - txtId5.Text = Utils.GetGUID(); + txtId5.Text = Utile.GetGUID(); } private void SetHeaderType() @@ -273,7 +273,7 @@ namespace v2rayN.Views cmbHeaderType.Items.Clear(); var network = cmbNetwork.SelectedItem.ToString(); - if (Utils.IsNullOrEmpty(network)) + if (Utile.IsNullOrEmpty(network)) { cmbHeaderType.Items.Add(Global.None); return; @@ -294,8 +294,8 @@ namespace v2rayN.Views } else if (network == "grpc") { - cmbHeaderType.Items.Add(Global.GrpcgunMode); - cmbHeaderType.Items.Add(Global.GrpcmultiMode); + cmbHeaderType.Items.Add(Global.GrpcGunMode); + cmbHeaderType.Items.Add(Global.GrpcMultiMode); } else { @@ -307,7 +307,7 @@ namespace v2rayN.Views private void SetTips() { var network = cmbNetwork.SelectedItem.ToString(); - if (Utils.IsNullOrEmpty(network)) + if (Utile.IsNullOrEmpty(network)) { network = Global.DefaultNetwork; } diff --git a/v2rayN/v2rayN/Views/DNSSettingWindow.xaml.cs b/v2rayN/v2rayN/Views/DNSSettingWindow.xaml.cs index 93db3816..e1eea9c5 100644 --- a/v2rayN/v2rayN/Views/DNSSettingWindow.xaml.cs +++ b/v2rayN/v2rayN/Views/DNSSettingWindow.xaml.cs @@ -2,7 +2,7 @@ using System.Reactive.Disposables; using System.Windows; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.ViewModels; namespace v2rayN.Views @@ -51,12 +51,12 @@ namespace v2rayN.Views private void linkDnsObjectDoc_Click(object sender, RoutedEventArgs e) { - Utils.ProcessStart("https://www.v2fly.org/config/dns.html#dnsobject"); + Utile.ProcessStart("https://www.v2fly.org/config/dns.html#dnsobject"); } private void linkDnsSingboxObjectDoc_Click(object sender, RoutedEventArgs e) { - Utils.ProcessStart("https://sing-box.sagernet.org/zh/configuration/dns/"); + Utile.ProcessStart("https://sing-box.sagernet.org/zh/configuration/dns/"); } } } \ No newline at end of file diff --git a/v2rayN/v2rayN/Views/GlobalHotkeySettingWindow.xaml.cs b/v2rayN/v2rayN/Views/GlobalHotkeySettingWindow.xaml.cs index f4c936c5..f34907f5 100644 --- a/v2rayN/v2rayN/Views/GlobalHotkeySettingWindow.xaml.cs +++ b/v2rayN/v2rayN/Views/GlobalHotkeySettingWindow.xaml.cs @@ -3,7 +3,7 @@ using System.Windows; using System.Windows.Controls; using System.Windows.Input; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; namespace v2rayN.Views @@ -39,7 +39,7 @@ namespace v2rayN.Views HotkeyHandler.Instance.IsPause = true; this.Closing += (s, e) => HotkeyHandler.Instance.IsPause = false; - Utils.SetDarkBorder(this, _config.uiItem.colorModeDark); + Utile.SetDarkBorder(this, _config.uiItem.colorModeDark); InitData(); } @@ -68,9 +68,9 @@ namespace v2rayN.Views (sender as TextBox)!.Text = KeyEventItemToString(_TextBoxKeyEventItem[sender]); } - private KeyEventItem GetKeyEventItemByEGlobalHotkey(List KELsit, EGlobalHotkey eg) + private KeyEventItem GetKeyEventItemByEGlobalHotkey(List KEList, EGlobalHotkey eg) { - return JsonUtils.DeepCopy(KELsit.Find((it) => it.eGlobalHotkey == eg) ?? new() + return JsonUtile.DeepCopy(KEList.Find((it) => it.eGlobalHotkey == eg) ?? new() { eGlobalHotkey = eg, Control = false, diff --git a/v2rayN/v2rayN/Views/MainWindow.xaml.cs b/v2rayN/v2rayN/Views/MainWindow.xaml.cs index 4b069334..ad8503b1 100644 --- a/v2rayN/v2rayN/Views/MainWindow.xaml.cs +++ b/v2rayN/v2rayN/Views/MainWindow.xaml.cs @@ -11,7 +11,7 @@ using System.Windows.Interop; using System.Windows.Media; using v2rayN.Base; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.Resx; using v2rayN.ViewModels; using Point = System.Windows.Point; @@ -139,7 +139,7 @@ namespace v2rayN.Views this.BindCommand(ViewModel, vm => vm.ClearServerStatisticsCmd, v => v.menuClearServerStatistics).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.ImportOldGuiConfigCmd, v => v.menuImportOldGuiConfig).DisposeWith(disposables); - //checkupdate + //check update this.BindCommand(ViewModel, vm => vm.CheckUpdateNCmd, v => v.menuCheckUpdateN).DisposeWith(disposables); //this.BindCommand(ViewModel, vm => vm.CheckUpdateV2flyCoreCmd, v => v.menuCheckUpdateV2flyCore).DisposeWith(disposables); //this.BindCommand(ViewModel, vm => vm.CheckUpdateSagerNetCoreCmd, v => v.menuCheckUpdateSagerNetCore).DisposeWith(disposables); @@ -210,8 +210,8 @@ namespace v2rayN.Views RestoreUI(); AddHelpMenuItem(); - var IsAdministrator = Utils.IsAdministrator(); - this.Title = $"{Utils.GetVersion()} - {(IsAdministrator ? ResUI.RunAsAdmin : ResUI.NotRunAsAdmin)}"; + var IsAdministrator = Utile.IsAdministrator(); + this.Title = $"{Utile.GetVersion()} - {(IsAdministrator ? ResUI.RunAsAdmin : ResUI.NotRunAsAdmin)}"; //if (_config.uiItem.autoHideStartup) //{ @@ -234,7 +234,7 @@ namespace v2rayN.Views { if (wParam == IntPtr.Zero && Marshal.PtrToStringUni(lParam) == "ImmersiveColorSet") { - ViewModel?.ModifyTheme(!Utils.IsLightTheme()); + ViewModel?.ModifyTheme(!Utile.IsLightTheme()); } } } @@ -417,7 +417,7 @@ namespace v2rayN.Views private void menuPromotion_Click(object sender, RoutedEventArgs e) { - Utils.ProcessStart($"{Utils.Base64Decode(Global.PromotionUrl)}?t={DateTime.Now.Ticks}"); + Utile.ProcessStart($"{Utile.Base64Decode(Global.PromotionUrl)}?t={DateTime.Now.Ticks}"); } private void txtRunningInfoDisplay_MouseDoubleClick(object sender, MouseButtonEventArgs e) @@ -427,7 +427,7 @@ namespace v2rayN.Views private void menuSettingsSetUWP_Click(object sender, RoutedEventArgs e) { - Utils.ProcessStart(Utils.GetBinPath("EnableLoopback.exe")); + Utile.ProcessStart(Utile.GetBinPath("EnableLoopback.exe")); } private void BtnAutofitColumnWidth_Click(object sender, RoutedEventArgs e) @@ -512,8 +512,8 @@ namespace v2rayN.Views private void StorageUI() { - _config.uiItem.mainWidth = Utils.ToInt(this.Width); - _config.uiItem.mainHeight = Utils.ToInt(this.Height); + _config.uiItem.mainWidth = Utile.ToInt(this.Width); + _config.uiItem.mainHeight = Utile.ToInt(this.Height); List lvColumnItem = new(); for (int k = 0; k < lstProfiles.Columns.Count; k++) @@ -522,7 +522,7 @@ namespace v2rayN.Views lvColumnItem.Add(new() { Name = item2.ExName, - Width = item2.Visibility == Visibility.Visible ? Utils.ToInt(item2.ActualWidth) : -1, + Width = item2.Visibility == Visibility.Visible ? Utile.ToInt(item2.ActualWidth) : -1, Index = item2.DisplayIndex }); } @@ -534,8 +534,8 @@ namespace v2rayN.Views private void AddHelpMenuItem() { - var coreInfos = LazyConfig.Instance.GetCoreInfos(); - foreach (var it in coreInfos + var coreInfo = LazyConfig.Instance.GetCoreInfo(); + foreach (var it in coreInfo .Where(t => t.coreType != ECoreType.v2fly && t.coreType != ECoreType.clash && t.coreType != ECoreType.clash_meta @@ -555,7 +555,7 @@ namespace v2rayN.Views { if (sender is MenuItem item) { - Utils.ProcessStart(item.Tag.ToString()); + Utile.ProcessStart(item.Tag.ToString()); } } @@ -573,7 +573,7 @@ namespace v2rayN.Views /// /// /// - private static T? FindAnchestor(DependencyObject current) where T : DependencyObject + private static T? FindAncestor(DependencyObject current) where T : DependencyObject { do { @@ -605,7 +605,7 @@ namespace v2rayN.Views { // Get the dragged Item if (sender is not DataGrid listView) return; - var listViewItem = FindAnchestor((DependencyObject)e.OriginalSource); + var listViewItem = FindAncestor((DependencyObject)e.OriginalSource); if (listViewItem == null) return; // Abort // Find the data behind the ListViewItem ProfileItemModel item = (ProfileItemModel)listView.ItemContainerGenerator.ItemFromContainer(listViewItem); @@ -631,7 +631,7 @@ namespace v2rayN.Views { // Get the drop Item destination if (sender is not DataGrid listView) return; - var listViewItem = FindAnchestor((DependencyObject)e.OriginalSource); + var listViewItem = FindAncestor((DependencyObject)e.OriginalSource); if (listViewItem == null) { // Abort diff --git a/v2rayN/v2rayN/Views/MsgView.xaml.cs b/v2rayN/v2rayN/Views/MsgView.xaml.cs index eb78a011..7afd201f 100644 --- a/v2rayN/v2rayN/Views/MsgView.xaml.cs +++ b/v2rayN/v2rayN/Views/MsgView.xaml.cs @@ -3,7 +3,7 @@ using System.Reactive.Linq; using System.Text.RegularExpressions; using System.Windows.Threading; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; namespace v2rayN.Views { @@ -99,13 +99,13 @@ namespace v2rayN.Views private void menuMsgViewCopy_Click(object sender, System.Windows.RoutedEventArgs e) { var data = txtMsg.SelectedText.TrimEx(); - Utils.SetClipboardData(data); + Utile.SetClipboardData(data); } private void menuMsgViewCopyAll_Click(object sender, System.Windows.RoutedEventArgs e) { var data = txtMsg.Text; - Utils.SetClipboardData(data); + Utile.SetClipboardData(data); } private void menuMsgViewClear_Click(object sender, System.Windows.RoutedEventArgs e) diff --git a/v2rayN/v2rayN/Views/OptionSettingWindow.xaml.cs b/v2rayN/v2rayN/Views/OptionSettingWindow.xaml.cs index 57871e5b..7446fe06 100644 --- a/v2rayN/v2rayN/Views/OptionSettingWindow.xaml.cs +++ b/v2rayN/v2rayN/Views/OptionSettingWindow.xaml.cs @@ -5,7 +5,7 @@ using System.Reactive.Disposables; using System.Windows; using System.Windows.Media; using v2rayN.Handler; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.ViewModels; namespace v2rayN.Views @@ -96,13 +96,13 @@ namespace v2rayN.Views var files = new List(); foreach (var pattern in searchPatterns) { - files.AddRange(Directory.GetFiles(Utils.GetFontsPath(), pattern)); + files.AddRange(Directory.GetFiles(Utile.GetFontsPath(), pattern)); } var culture = _config.uiItem.currentLanguage == Global.Languages[0] ? "zh-cn" : "en-us"; var culture2 = "en-us"; foreach (var ttf in files) { - var families = Fonts.GetFontFamilies(Utils.GetFontsPath(ttf)); + var families = Fonts.GetFontFamilies(Utile.GetFontsPath(ttf)); foreach (FontFamily family in families) { var typefaces = family.GetTypefaces(); @@ -115,10 +115,10 @@ namespace v2rayN.Views // continue; //} var fontFamily = glyph.Win32FamilyNames[new CultureInfo(culture)]; - if (Utils.IsNullOrEmpty(fontFamily)) + if (Utile.IsNullOrEmpty(fontFamily)) { fontFamily = glyph.Win32FamilyNames[new CultureInfo(culture2)]; - if (Utils.IsNullOrEmpty(fontFamily)) + if (Utile.IsNullOrEmpty(fontFamily)) { continue; } diff --git a/v2rayN/v2rayN/Views/RoutingRuleDetailsWindow.xaml.cs b/v2rayN/v2rayN/Views/RoutingRuleDetailsWindow.xaml.cs index 1c4eff6f..3d7e411a 100644 --- a/v2rayN/v2rayN/Views/RoutingRuleDetailsWindow.xaml.cs +++ b/v2rayN/v2rayN/Views/RoutingRuleDetailsWindow.xaml.cs @@ -1,7 +1,7 @@ using ReactiveUI; using System.Reactive.Disposables; using System.Windows; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.ViewModels; namespace v2rayN.Views @@ -83,7 +83,7 @@ namespace v2rayN.Views private void linkRuleobjectDoc_Click(object sender, RoutedEventArgs e) { - Utils.ProcessStart("https://www.v2fly.org/config/routing.html#ruleobject"); + Utile.ProcessStart("https://www.v2fly.org/config/routing.html#ruleobject"); } } } \ No newline at end of file diff --git a/v2rayN/v2rayN/Views/RoutingRuleSettingWindow.xaml.cs b/v2rayN/v2rayN/Views/RoutingRuleSettingWindow.xaml.cs index 740231bd..fe4751b8 100644 --- a/v2rayN/v2rayN/Views/RoutingRuleSettingWindow.xaml.cs +++ b/v2rayN/v2rayN/Views/RoutingRuleSettingWindow.xaml.cs @@ -2,7 +2,7 @@ using System.Reactive.Disposables; using System.Windows; using System.Windows.Input; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.ViewModels; namespace v2rayN.Views @@ -30,12 +30,12 @@ namespace v2rayN.Views lstRules.MouseDoubleClick += LstRules_MouseDoubleClick; ViewModel = new RoutingRuleSettingViewModel(routingItem, this); - Global.DomainStrategys.ForEach(it => + Global.DomainStrategies.ForEach(it => { cmbdomainStrategy.Items.Add(it); }); cmbdomainStrategy.Items.Add(string.Empty); - Global.DomainStrategys4Singbox.ForEach(it => + Global.DomainStrategies4Singbox.ForEach(it => { cmbdomainStrategy4Singbox.Items.Add(it); }); diff --git a/v2rayN/v2rayN/Views/RoutingSettingWindow.xaml.cs b/v2rayN/v2rayN/Views/RoutingSettingWindow.xaml.cs index 6aefa72c..213d4149 100644 --- a/v2rayN/v2rayN/Views/RoutingSettingWindow.xaml.cs +++ b/v2rayN/v2rayN/Views/RoutingSettingWindow.xaml.cs @@ -2,7 +2,7 @@ using System.Reactive.Disposables; using System.Windows; using System.Windows.Input; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.ViewModels; namespace v2rayN.Views @@ -31,7 +31,7 @@ namespace v2rayN.Views ViewModel = new RoutingSettingViewModel(this); - Global.DomainStrategys.ForEach(it => + Global.DomainStrategies.ForEach(it => { cmbdomainStrategy.Items.Add(it); }); @@ -39,7 +39,7 @@ namespace v2rayN.Views { cmbdomainMatcher.Items.Add(it); }); - Global.DomainStrategys4Singbox.ForEach(it => + Global.DomainStrategies4Singbox.ForEach(it => { cmbdomainStrategy4Singbox.Items.Add(it); }); @@ -127,12 +127,12 @@ namespace v2rayN.Views private void linkdomainStrategy_Click(object sender, System.Windows.RoutedEventArgs e) { - Utils.ProcessStart("https://www.v2fly.org/config/routing.html"); + Utile.ProcessStart("https://www.v2fly.org/config/routing.html"); } private void linkdomainStrategy4Singbox_Click(object sender, RoutedEventArgs e) { - Utils.ProcessStart("https://sing-box.sagernet.org/zh/configuration/shared/listen/#domain_strategy"); + Utile.ProcessStart("https://sing-box.sagernet.org/zh/configuration/shared/listen/#domain_strategy"); } private void btnCancel_Click(object sender, System.Windows.RoutedEventArgs e) diff --git a/v2rayN/v2rayN/Views/SubEditWindow.xaml.cs b/v2rayN/v2rayN/Views/SubEditWindow.xaml.cs index c3874734..fe90a398 100644 --- a/v2rayN/v2rayN/Views/SubEditWindow.xaml.cs +++ b/v2rayN/v2rayN/Views/SubEditWindow.xaml.cs @@ -1,7 +1,7 @@ using ReactiveUI; using System.Reactive.Disposables; using System.Windows; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.ViewModels; namespace v2rayN.Views diff --git a/v2rayN/v2rayN/Views/SubSettingWindow.xaml.cs b/v2rayN/v2rayN/Views/SubSettingWindow.xaml.cs index 3ebf9e51..8ff2c9ed 100644 --- a/v2rayN/v2rayN/Views/SubSettingWindow.xaml.cs +++ b/v2rayN/v2rayN/Views/SubSettingWindow.xaml.cs @@ -3,7 +3,7 @@ using System.ComponentModel; using System.Reactive.Disposables; using System.Windows; using System.Windows.Input; -using v2rayN.Mode; +using v2rayN.Model; using v2rayN.ViewModels; namespace v2rayN.Views diff --git a/v2rayN/v2rayN/v2rayN.csproj b/v2rayN/v2rayN/v2rayN.csproj index 088311c3..150ce486 100644 --- a/v2rayN/v2rayN/v2rayN.csproj +++ b/v2rayN/v2rayN/v2rayN.csproj @@ -55,10 +55,10 @@ Never - + Never - + Never