diff --git a/v2rayN/v2rayN/Models/EConfigType.cs b/v2rayN/v2rayN/Enums/EConfigType.cs
similarity index 89%
rename from v2rayN/v2rayN/Models/EConfigType.cs
rename to v2rayN/v2rayN/Enums/EConfigType.cs
index 81880eb4..60ef796a 100644
--- a/v2rayN/v2rayN/Models/EConfigType.cs
+++ b/v2rayN/v2rayN/Enums/EConfigType.cs
@@ -1,4 +1,4 @@
-namespace v2rayN.Models
+namespace v2rayN.Enums
{
public enum EConfigType
{
diff --git a/v2rayN/v2rayN/Models/ECoreType.cs b/v2rayN/v2rayN/Enums/ECoreType.cs
similarity index 92%
rename from v2rayN/v2rayN/Models/ECoreType.cs
rename to v2rayN/v2rayN/Enums/ECoreType.cs
index f1556b32..54c07887 100644
--- a/v2rayN/v2rayN/Models/ECoreType.cs
+++ b/v2rayN/v2rayN/Enums/ECoreType.cs
@@ -1,4 +1,4 @@
-namespace v2rayN.Models
+namespace v2rayN.Enums
{
public enum ECoreType
{
diff --git a/v2rayN/v2rayN/Models/EGlobalHotkey.cs b/v2rayN/v2rayN/Enums/EGlobalHotkey.cs
similarity index 86%
rename from v2rayN/v2rayN/Models/EGlobalHotkey.cs
rename to v2rayN/v2rayN/Enums/EGlobalHotkey.cs
index 46183028..f4a92bdb 100644
--- a/v2rayN/v2rayN/Models/EGlobalHotkey.cs
+++ b/v2rayN/v2rayN/Enums/EGlobalHotkey.cs
@@ -1,4 +1,4 @@
-namespace v2rayN.Models
+namespace v2rayN.Enums
{
public enum EGlobalHotkey
{
diff --git a/v2rayN/v2rayN/Models/EInboundProtocol.cs b/v2rayN/v2rayN/Enums/EInboundProtocol.cs
similarity index 85%
rename from v2rayN/v2rayN/Models/EInboundProtocol.cs
rename to v2rayN/v2rayN/Enums/EInboundProtocol.cs
index 79440fb9..5bc955a8 100644
--- a/v2rayN/v2rayN/Models/EInboundProtocol.cs
+++ b/v2rayN/v2rayN/Enums/EInboundProtocol.cs
@@ -1,4 +1,4 @@
-namespace v2rayN.Models
+namespace v2rayN.Enums
{
public enum EInboundProtocol
{
diff --git a/v2rayN/v2rayN/Models/EMove.cs b/v2rayN/v2rayN/Enums/EMove.cs
similarity index 82%
rename from v2rayN/v2rayN/Models/EMove.cs
rename to v2rayN/v2rayN/Enums/EMove.cs
index 0629e62d..fcbc23dc 100644
--- a/v2rayN/v2rayN/Models/EMove.cs
+++ b/v2rayN/v2rayN/Enums/EMove.cs
@@ -1,4 +1,4 @@
-namespace v2rayN.Models
+namespace v2rayN.Enums
{
public enum EMove
{
diff --git a/v2rayN/v2rayN/Models/EServerColName.cs b/v2rayN/v2rayN/Enums/EServerColName.cs
similarity index 91%
rename from v2rayN/v2rayN/Models/EServerColName.cs
rename to v2rayN/v2rayN/Enums/EServerColName.cs
index 8bf9111b..453dbe88 100644
--- a/v2rayN/v2rayN/Models/EServerColName.cs
+++ b/v2rayN/v2rayN/Enums/EServerColName.cs
@@ -1,4 +1,4 @@
-namespace v2rayN.Models
+namespace v2rayN.Enums
{
public enum EServerColName
{
diff --git a/v2rayN/v2rayN/Models/ESpeedActionType.cs b/v2rayN/v2rayN/Enums/ESpeedActionType.cs
similarity index 80%
rename from v2rayN/v2rayN/Models/ESpeedActionType.cs
rename to v2rayN/v2rayN/Enums/ESpeedActionType.cs
index dee29709..e0663d92 100644
--- a/v2rayN/v2rayN/Models/ESpeedActionType.cs
+++ b/v2rayN/v2rayN/Enums/ESpeedActionType.cs
@@ -1,4 +1,4 @@
-namespace v2rayN.Models
+namespace v2rayN.Enums
{
public enum ESpeedActionType
{
diff --git a/v2rayN/v2rayN/Models/ESysProxyType.cs b/v2rayN/v2rayN/Enums/ESysProxyType.cs
similarity index 82%
rename from v2rayN/v2rayN/Models/ESysProxyType.cs
rename to v2rayN/v2rayN/Enums/ESysProxyType.cs
index 9c5bb423..b0857612 100644
--- a/v2rayN/v2rayN/Models/ESysProxyType.cs
+++ b/v2rayN/v2rayN/Enums/ESysProxyType.cs
@@ -1,4 +1,4 @@
-namespace v2rayN.Models
+namespace v2rayN.Enums
{
public enum ESysProxyType
{
diff --git a/v2rayN/v2rayN/Models/ETransport.cs b/v2rayN/v2rayN/Enums/ETransport.cs
similarity index 84%
rename from v2rayN/v2rayN/Models/ETransport.cs
rename to v2rayN/v2rayN/Enums/ETransport.cs
index 15eac5da..7ad8a66e 100644
--- a/v2rayN/v2rayN/Models/ETransport.cs
+++ b/v2rayN/v2rayN/Enums/ETransport.cs
@@ -1,4 +1,4 @@
-namespace v2rayN.Models
+namespace v2rayN.Enums
{
public enum ETransport
{
diff --git a/v2rayN/v2rayN/Models/EViewAction.cs b/v2rayN/v2rayN/Enums/EViewAction.cs
similarity index 77%
rename from v2rayN/v2rayN/Models/EViewAction.cs
rename to v2rayN/v2rayN/Enums/EViewAction.cs
index 1abdbde8..8a5a4641 100644
--- a/v2rayN/v2rayN/Models/EViewAction.cs
+++ b/v2rayN/v2rayN/Enums/EViewAction.cs
@@ -1,4 +1,4 @@
-namespace v2rayN.Models
+namespace v2rayN.Enums
{
public enum EViewAction
{
diff --git a/v2rayN/v2rayN/Global.cs b/v2rayN/v2rayN/Global.cs
index 79c7b48c..28b9331f 100644
--- a/v2rayN/v2rayN/Global.cs
+++ b/v2rayN/v2rayN/Global.cs
@@ -1,4 +1,4 @@
-using v2rayN.Models;
+using v2rayN.Enums;
namespace v2rayN
{
diff --git a/v2rayN/v2rayN/Handler/ConfigHandler.cs b/v2rayN/v2rayN/Handler/ConfigHandler.cs
index cd1819e0..b2b11278 100644
--- a/v2rayN/v2rayN/Handler/ConfigHandler.cs
+++ b/v2rayN/v2rayN/Handler/ConfigHandler.cs
@@ -1,6 +1,7 @@
using System.Data;
using System.IO;
using System.Text.RegularExpressions;
+using v2rayN.Enums;
using v2rayN.Models;
namespace v2rayN.Handler
diff --git a/v2rayN/v2rayN/Handler/CoreConfigHandler.cs b/v2rayN/v2rayN/Handler/CoreConfigHandler.cs
index bc7c9298..be9b91ce 100644
--- a/v2rayN/v2rayN/Handler/CoreConfigHandler.cs
+++ b/v2rayN/v2rayN/Handler/CoreConfigHandler.cs
@@ -1,4 +1,5 @@
using System.IO;
+using v2rayN.Enums;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/Handler/CoreConfigSingbox.cs b/v2rayN/v2rayN/Handler/CoreConfigSingbox.cs
index 1fc6858c..370f213a 100644
--- a/v2rayN/v2rayN/Handler/CoreConfigSingbox.cs
+++ b/v2rayN/v2rayN/Handler/CoreConfigSingbox.cs
@@ -1,5 +1,6 @@
using System.Net;
using System.Net.NetworkInformation;
+using v2rayN.Enums;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/Handler/CoreConfigV2ray.cs b/v2rayN/v2rayN/Handler/CoreConfigV2ray.cs
index 8ca96e95..ed4ddcf5 100644
--- a/v2rayN/v2rayN/Handler/CoreConfigV2ray.cs
+++ b/v2rayN/v2rayN/Handler/CoreConfigV2ray.cs
@@ -1,5 +1,6 @@
using System.Net;
using System.Net.NetworkInformation;
+using v2rayN.Enums;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/Handler/CoreHandler.cs b/v2rayN/v2rayN/Handler/CoreHandler.cs
index 05a8e08b..3024203d 100644
--- a/v2rayN/v2rayN/Handler/CoreHandler.cs
+++ b/v2rayN/v2rayN/Handler/CoreHandler.cs
@@ -2,6 +2,7 @@
using System.IO;
using System.Reactive.Linq;
using System.Text;
+using v2rayN.Enums;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/Handler/DownloadHandle.cs b/v2rayN/v2rayN/Handler/DownloadHandle.cs
index d29106e6..8500e9f7 100644
--- a/v2rayN/v2rayN/Handler/DownloadHandle.cs
+++ b/v2rayN/v2rayN/Handler/DownloadHandle.cs
@@ -4,7 +4,7 @@ using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Net.Sockets;
-using v2rayN.Models;
+using v2rayN.Enums;
using v2rayN.Resx;
namespace v2rayN.Handler
diff --git a/v2rayN/v2rayN/Handler/HotkeyHandler.cs b/v2rayN/v2rayN/Handler/HotkeyHandler.cs
index 6ffec9ae..623f9de2 100644
--- a/v2rayN/v2rayN/Handler/HotkeyHandler.cs
+++ b/v2rayN/v2rayN/Handler/HotkeyHandler.cs
@@ -4,6 +4,7 @@ using System.Text;
using System.Windows;
using System.Windows.Input;
using System.Windows.Interop;
+using v2rayN.Enums;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/Handler/LazyConfig.cs b/v2rayN/v2rayN/Handler/LazyConfig.cs
index 04766ffe..b1061b6d 100644
--- a/v2rayN/v2rayN/Handler/LazyConfig.cs
+++ b/v2rayN/v2rayN/Handler/LazyConfig.cs
@@ -1,4 +1,5 @@
using System.Runtime.Intrinsics.X86;
+using v2rayN.Enums;
using v2rayN.Models;
namespace v2rayN.Handler
diff --git a/v2rayN/v2rayN/Handler/MainFormHandler.cs b/v2rayN/v2rayN/Handler/MainFormHandler.cs
index 5d5d61dd..add0629e 100644
--- a/v2rayN/v2rayN/Handler/MainFormHandler.cs
+++ b/v2rayN/v2rayN/Handler/MainFormHandler.cs
@@ -3,6 +3,7 @@ using Splat;
using System.Drawing;
using System.IO;
using System.Windows.Media.Imaging;
+using v2rayN.Enums;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/Handler/ShareHandler.cs b/v2rayN/v2rayN/Handler/ShareHandler.cs
index 309bde89..8e93a11d 100644
--- a/v2rayN/v2rayN/Handler/ShareHandler.cs
+++ b/v2rayN/v2rayN/Handler/ShareHandler.cs
@@ -1,5 +1,6 @@
using System.Collections.Specialized;
using System.Text.RegularExpressions;
+using v2rayN.Enums;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs
index e30118a8..f8951505 100644
--- a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs
+++ b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs
@@ -2,6 +2,7 @@
using System.Diagnostics;
using System.Net;
using System.Net.Sockets;
+using v2rayN.Enums;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/Handler/StatisticsSingbox.cs b/v2rayN/v2rayN/Handler/StatisticsSingbox.cs
index a845004c..bc9ac0e9 100644
--- a/v2rayN/v2rayN/Handler/StatisticsSingbox.cs
+++ b/v2rayN/v2rayN/Handler/StatisticsSingbox.cs
@@ -1,5 +1,6 @@
using System.Net.WebSockets;
using System.Text;
+using v2rayN.Enums;
using v2rayN.Models;
namespace v2rayN.Handler
diff --git a/v2rayN/v2rayN/Handler/StatisticsV2ray.cs b/v2rayN/v2rayN/Handler/StatisticsV2ray.cs
index 9bf83f97..67385453 100644
--- a/v2rayN/v2rayN/Handler/StatisticsV2ray.cs
+++ b/v2rayN/v2rayN/Handler/StatisticsV2ray.cs
@@ -1,6 +1,7 @@
using Grpc.Core;
using Grpc.Net.Client;
using ProtosLib.Statistics;
+using v2rayN.Enums;
using v2rayN.Models;
namespace v2rayN.Handler
diff --git a/v2rayN/v2rayN/Handler/SysProxyHandle.cs b/v2rayN/v2rayN/Handler/SysProxyHandle.cs
index d6131398..679c3aa5 100644
--- a/v2rayN/v2rayN/Handler/SysProxyHandle.cs
+++ b/v2rayN/v2rayN/Handler/SysProxyHandle.cs
@@ -1,4 +1,5 @@
using PacLib;
+using v2rayN.Enums;
using v2rayN.Models;
namespace v2rayN.Handler
diff --git a/v2rayN/v2rayN/Handler/UpdateHandle.cs b/v2rayN/v2rayN/Handler/UpdateHandle.cs
index 175b3af2..996ded0a 100644
--- a/v2rayN/v2rayN/Handler/UpdateHandle.cs
+++ b/v2rayN/v2rayN/Handler/UpdateHandle.cs
@@ -6,6 +6,7 @@ using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows;
+using v2rayN.Enums;
using v2rayN.Models;
using v2rayN.Resx;
@@ -299,9 +300,6 @@ namespace v2rayN.Handler
{
await UpdateGeoFile("geosite", _config, update);
await UpdateGeoFile("geoip", _config, update);
-
- //await UpdateGeoFile4Singbox("geosite", _config, false, update);
- //await UpdateGeoFile4Singbox("geoip", _config, true, update);
});
}
@@ -327,7 +325,7 @@ namespace v2rayN.Handler
var result = await (new DownloadHandle()).DownloadStringAsync(url, true, "");
if (!Utils.IsNullOrEmpty(result))
{
- responseHandler(type, result, preRelease);
+ ResponseHandler(type, result, preRelease);
}
else
{
@@ -345,7 +343,7 @@ namespace v2rayN.Handler
///
/// 获取V2RayCore版本
///
- private SemanticVersion getCoreVersion(ECoreType type)
+ private SemanticVersion GetCoreVersion(ECoreType type)
{
try
{
@@ -410,7 +408,7 @@ namespace v2rayN.Handler
}
}
- private void responseHandler(ECoreType type, string gitHubReleaseApi, bool preRelease)
+ private void ResponseHandler(ECoreType type, string gitHubReleaseApi, bool preRelease)
{
try
{
@@ -431,7 +429,7 @@ namespace v2rayN.Handler
case ECoreType.Xray:
case ECoreType.v2fly_v5:
{
- curVersion = getCoreVersion(type);
+ curVersion = GetCoreVersion(type);
message = string.Format(ResUI.IsLatestCore, type, curVersion.ToVersionString("v"));
string osBit = "64";
switch (RuntimeInformation.ProcessArchitecture)
@@ -456,7 +454,7 @@ namespace v2rayN.Handler
case ECoreType.clash_meta:
case ECoreType.mihomo:
{
- curVersion = getCoreVersion(type);
+ curVersion = GetCoreVersion(type);
message = string.Format(ResUI.IsLatestCore, type, curVersion);
switch (RuntimeInformation.ProcessArchitecture)
{
@@ -477,7 +475,7 @@ namespace v2rayN.Handler
}
case ECoreType.sing_box:
{
- curVersion = getCoreVersion(type);
+ curVersion = GetCoreVersion(type);
message = string.Format(ResUI.IsLatestCore, type, curVersion.ToVersionString("v"));
switch (RuntimeInformation.ProcessArchitecture)
{
diff --git a/v2rayN/v2rayN/Models/Config.cs b/v2rayN/v2rayN/Models/Config.cs
index d763f485..0d411d66 100644
--- a/v2rayN/v2rayN/Models/Config.cs
+++ b/v2rayN/v2rayN/Models/Config.cs
@@ -1,4 +1,6 @@
-namespace v2rayN.Models
+using v2rayN.Enums;
+
+namespace v2rayN.Models
{
///
/// 本软件配置文件实体类
diff --git a/v2rayN/v2rayN/Models/ConfigItems.cs b/v2rayN/v2rayN/Models/ConfigItems.cs
index af768b49..ad869814 100644
--- a/v2rayN/v2rayN/Models/ConfigItems.cs
+++ b/v2rayN/v2rayN/Models/ConfigItems.cs
@@ -1,4 +1,5 @@
using System.Windows.Input;
+using v2rayN.Enums;
namespace v2rayN.Models
{
diff --git a/v2rayN/v2rayN/Models/ConfigOld.cs b/v2rayN/v2rayN/Models/ConfigOld.cs
deleted file mode 100644
index 9f27b610..00000000
--- a/v2rayN/v2rayN/Models/ConfigOld.cs
+++ /dev/null
@@ -1,440 +0,0 @@
-namespace v2rayN.Models
-{
- [Serializable]
- public class ConfigOld
- {
- #region property
-
- ///
- /// 允许日志
- ///
- public bool logEnabled
- {
- get; set;
- }
-
- ///
- /// 日志等级
- ///
- public string loglevel
- {
- get; set;
- }
-
- public string indexId
- {
- get; set;
- }
-
- ///
- /// 允许Mux多路复用
- ///
- public bool muxEnabled
- {
- get; set;
- }
-
- ///
- ///
- ///
- public ESysProxyType sysProxyType
- {
- get; set;
- }
-
- ///
- /// 启用实时网速和流量统计
- ///
- public bool enableStatistics
- {
- get; set;
- }
-
- ///
- /// 去重时优先保留较旧(顶部)节点
- ///
- public bool keepOlderDedupl
- {
- get; set;
- }
-
- ///
- /// 视图刷新率
- ///
- public int statisticsFreshRate
- {
- get; set;
- }
-
- ///
- /// 自定义远程DNS
- ///
- public string remoteDNS
- {
- get; set;
- }
-
- ///
- /// Outbound Freedom domainStrategy
- ///
- public string domainStrategy4Freedom
- {
- get; set;
- }
-
- ///
- /// 是否允许不安全连接
- ///
- public bool defAllowInsecure
- {
- get; set;
- }
-
- ///
- /// 域名解析策略
- ///
- public string domainStrategy
- {
- get; set;
- }
-
- public string domainMatcher
- {
- get; set;
- }
-
- public int routingIndex
- {
- get; set;
- }
-
- public bool enableRoutingAdvanced
- {
- get; set;
- }
-
- public bool ignoreGeoUpdateCore
- {
- get; set;
- }
-
- ///
- /// systemProxyExceptions
- ///
- public string systemProxyExceptions
- {
- get; set;
- }
-
- public string systemProxyAdvancedProtocol { get; set; }
-
- public int autoUpdateInterval { get; set; } = 0;
-
- public int autoUpdateSubInterval { get; set; } = 0;
-
- public bool checkPreReleaseUpdate { get; set; } = false;
-
- public bool enableSecurityProtocolTls13
- {
- get; set;
- }
-
- public int trayMenuServersLimit { get; set; }
-
- #endregion property
-
- #region other entities
-
- ///
- /// 本地监听
- ///
- public List inbound
- {
- get; set;
- }
-
- ///
- /// vmess服务器信息
- ///
- public List vmess
- {
- get; set;
- }
-
- ///
- /// KcpItem
- ///
- public KcpItem kcpItem
- {
- get; set;
- }
-
- ///
- /// 订阅
- ///
- public List subItem
- {
- get; set;
- }
-
- ///
- /// UI
- ///
- public UIItem uiItem
- {
- get; set;
- }
-
- public List routings
- {
- get; set;
- }
-
- public ConstItem constItem
- {
- get; set;
- }
-
- public List globalHotkeys
- {
- get; set;
- }
-
- public List coreTypeItem
- {
- get; set;
- }
-
- #endregion other entities
- }
-
- [Serializable]
- public class VmessItem
- {
- public VmessItem()
- {
- indexId = string.Empty;
- configType = EConfigType.VMess;
- configVersion = 2;
- sort = 0;
- address = string.Empty;
- port = 0;
- id = string.Empty;
- alterId = 0;
- security = string.Empty;
- network = string.Empty;
- remarks = string.Empty;
- headerType = string.Empty;
- requestHost = string.Empty;
- path = string.Empty;
- streamSecurity = string.Empty;
- allowInsecure = string.Empty;
- testResult = string.Empty;
- subid = string.Empty;
- flow = string.Empty;
- groupId = string.Empty;
- }
-
- public string indexId
- {
- get; set;
- }
-
- ///
- /// config type(1=normal,2=custom)
- ///
- public EConfigType configType
- {
- get; set;
- }
-
- ///
- /// 版本(现在=2)
- ///
- public int configVersion
- {
- get; set;
- }
-
- public int sort
- {
- get; set;
- }
-
- ///
- /// 远程服务器地址
- ///
- public string address
- {
- get; set;
- }
-
- ///
- /// 远程服务器端口
- ///
- public int port
- {
- get; set;
- }
-
- ///
- /// 远程服务器ID
- ///
- public string id
- {
- get; set;
- }
-
- ///
- /// 远程服务器额外ID
- ///
- public int alterId
- {
- get; set;
- }
-
- ///
- /// 本地安全策略
- ///
- public string security
- {
- get; set;
- }
-
- ///
- /// tcp,kcp,ws,h2,quic
- ///
- public string network
- {
- get; set;
- }
-
- ///
- ///
- ///
- public string remarks
- {
- get; set;
- }
-
- ///
- /// 伪装类型
- ///
- public string headerType
- {
- get; set;
- }
-
- ///
- /// 伪装的域名
- ///
- public string requestHost
- {
- get; set;
- }
-
- ///
- /// ws h2 path
- ///
- public string path
- {
- get; set;
- }
-
- ///
- /// 传输层安全
- ///
- public string streamSecurity
- {
- get; set;
- }
-
- ///
- /// 是否允许不安全连接(用于客户端)
- ///
- public string allowInsecure
- {
- get; set;
- }
-
- ///
- ///
- ///
- public string testResult
- {
- get; set;
- }
-
- ///
- /// SubItem id
- ///
- public string subid
- {
- get; set;
- }
-
- ///
- /// VLESS flow
- ///
- public string flow
- {
- get; set;
- }
-
- ///
- /// tls sni
- ///
- public string sni
- {
- get; set;
- }
-
- public string groupId
- {
- get; set;
- } = string.Empty;
-
- public ECoreType? coreType
- {
- get; set;
- }
-
- public int preSocksPort
- {
- get; set;
- }
-
- public string fingerprint { get; set; }
- }
-
- [Serializable]
- public class RoutingItemOld
- {
- public string remarks
- {
- get; set;
- }
-
- public string url
- {
- get; set;
- }
-
- public List rules
- {
- get; set;
- }
-
- public bool enabled { get; set; } = true;
-
- public bool locked
- {
- get; set;
- }
-
- public string customIcon
- {
- get; set;
- }
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Models/CoreInfo.cs b/v2rayN/v2rayN/Models/CoreInfo.cs
index 00ecb3fd..ad773c8c 100644
--- a/v2rayN/v2rayN/Models/CoreInfo.cs
+++ b/v2rayN/v2rayN/Models/CoreInfo.cs
@@ -1,4 +1,6 @@
-namespace v2rayN.Models
+using v2rayN.Enums;
+
+namespace v2rayN.Models
{
[Serializable]
public class CoreInfo
diff --git a/v2rayN/v2rayN/Models/DNSItem.cs b/v2rayN/v2rayN/Models/DNSItem.cs
index 315de91d..c8c27738 100644
--- a/v2rayN/v2rayN/Models/DNSItem.cs
+++ b/v2rayN/v2rayN/Models/DNSItem.cs
@@ -1,4 +1,5 @@
using SQLite;
+using v2rayN.Enums;
namespace v2rayN.Models
{
diff --git a/v2rayN/v2rayN/Models/ProfileItem.cs b/v2rayN/v2rayN/Models/ProfileItem.cs
index 9118abff..aea244e8 100644
--- a/v2rayN/v2rayN/Models/ProfileItem.cs
+++ b/v2rayN/v2rayN/Models/ProfileItem.cs
@@ -1,4 +1,5 @@
using SQLite;
+using v2rayN.Enums;
namespace v2rayN.Models
{
diff --git a/v2rayN/v2rayN/Models/ServerTestItem.cs b/v2rayN/v2rayN/Models/ServerTestItem.cs
index 3955da77..8faea95e 100644
--- a/v2rayN/v2rayN/Models/ServerTestItem.cs
+++ b/v2rayN/v2rayN/Models/ServerTestItem.cs
@@ -1,4 +1,6 @@
-namespace v2rayN.Models
+using v2rayN.Enums;
+
+namespace v2rayN.Models
{
[Serializable]
internal class ServerTestItem
diff --git a/v2rayN/v2rayN/ViewModels/AddServerViewModel.cs b/v2rayN/v2rayN/ViewModels/AddServerViewModel.cs
index bb191b46..686f46a4 100644
--- a/v2rayN/v2rayN/ViewModels/AddServerViewModel.cs
+++ b/v2rayN/v2rayN/ViewModels/AddServerViewModel.cs
@@ -3,6 +3,7 @@ using ReactiveUI.Fody.Helpers;
using Splat;
using System.Reactive;
using System.Windows;
+using v2rayN.Enums;
using v2rayN.Handler;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/ViewModels/DNSSettingViewModel.cs b/v2rayN/v2rayN/ViewModels/DNSSettingViewModel.cs
index d618c2d5..fcf5d635 100644
--- a/v2rayN/v2rayN/ViewModels/DNSSettingViewModel.cs
+++ b/v2rayN/v2rayN/ViewModels/DNSSettingViewModel.cs
@@ -3,6 +3,7 @@ using ReactiveUI.Fody.Helpers;
using Splat;
using System.Reactive;
using System.Windows;
+using v2rayN.Enums;
using v2rayN.Handler;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs b/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs
index f4417a14..e1da3a6d 100644
--- a/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs
+++ b/v2rayN/v2rayN/ViewModels/MainWindowViewModel.cs
@@ -14,6 +14,7 @@ using System.Reactive.Linq;
using System.Text;
using System.Windows;
using System.Windows.Media;
+using v2rayN.Enums;
using v2rayN.Handler;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/ViewModels/OptionSettingViewModel.cs b/v2rayN/v2rayN/ViewModels/OptionSettingViewModel.cs
index e0987cda..67fab943 100644
--- a/v2rayN/v2rayN/ViewModels/OptionSettingViewModel.cs
+++ b/v2rayN/v2rayN/ViewModels/OptionSettingViewModel.cs
@@ -3,6 +3,7 @@ using ReactiveUI.Fody.Helpers;
using Splat;
using System.Reactive;
using System.Windows;
+using v2rayN.Enums;
using v2rayN.Handler;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/ViewModels/RoutingRuleSettingViewModel.cs b/v2rayN/v2rayN/ViewModels/RoutingRuleSettingViewModel.cs
index f6489450..aa327e8e 100644
--- a/v2rayN/v2rayN/ViewModels/RoutingRuleSettingViewModel.cs
+++ b/v2rayN/v2rayN/ViewModels/RoutingRuleSettingViewModel.cs
@@ -4,6 +4,7 @@ using ReactiveUI.Fody.Helpers;
using Splat;
using System.Reactive;
using System.Windows;
+using v2rayN.Enums;
using v2rayN.Handler;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/Views/AddServer2Window.xaml.cs b/v2rayN/v2rayN/Views/AddServer2Window.xaml.cs
index 414cef74..a02db935 100644
--- a/v2rayN/v2rayN/Views/AddServer2Window.xaml.cs
+++ b/v2rayN/v2rayN/Views/AddServer2Window.xaml.cs
@@ -1,6 +1,7 @@
using ReactiveUI;
using System.Reactive.Disposables;
using System.Windows;
+using v2rayN.Enums;
using v2rayN.Models;
using v2rayN.ViewModels;
diff --git a/v2rayN/v2rayN/Views/AddServerWindow.xaml.cs b/v2rayN/v2rayN/Views/AddServerWindow.xaml.cs
index 0bbac569..17d43528 100644
--- a/v2rayN/v2rayN/Views/AddServerWindow.xaml.cs
+++ b/v2rayN/v2rayN/Views/AddServerWindow.xaml.cs
@@ -2,6 +2,7 @@
using System.Reactive.Disposables;
using System.Windows;
using System.Windows.Controls;
+using v2rayN.Enums;
using v2rayN.Handler;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/Views/GlobalHotkeySettingWindow.xaml.cs b/v2rayN/v2rayN/Views/GlobalHotkeySettingWindow.xaml.cs
index 513c504b..d05ae013 100644
--- a/v2rayN/v2rayN/Views/GlobalHotkeySettingWindow.xaml.cs
+++ b/v2rayN/v2rayN/Views/GlobalHotkeySettingWindow.xaml.cs
@@ -2,6 +2,7 @@
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
+using v2rayN.Enums;
using v2rayN.Handler;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/Views/MainWindow.xaml.cs b/v2rayN/v2rayN/Views/MainWindow.xaml.cs
index b16972cb..bc37d8ff 100644
--- a/v2rayN/v2rayN/Views/MainWindow.xaml.cs
+++ b/v2rayN/v2rayN/Views/MainWindow.xaml.cs
@@ -10,6 +10,7 @@ using System.Windows.Input;
using System.Windows.Interop;
using System.Windows.Media;
using v2rayN.Base;
+using v2rayN.Enums;
using v2rayN.Handler;
using v2rayN.Models;
using v2rayN.Resx;
diff --git a/v2rayN/v2rayN/Views/RoutingRuleSettingWindow.xaml.cs b/v2rayN/v2rayN/Views/RoutingRuleSettingWindow.xaml.cs
index 6e11e1db..75028850 100644
--- a/v2rayN/v2rayN/Views/RoutingRuleSettingWindow.xaml.cs
+++ b/v2rayN/v2rayN/Views/RoutingRuleSettingWindow.xaml.cs
@@ -2,6 +2,7 @@
using System.Reactive.Disposables;
using System.Windows;
using System.Windows.Input;
+using v2rayN.Enums;
using v2rayN.Models;
using v2rayN.ViewModels;