diff --git a/v2rayN/v2rayN/Handler/CoreHandler.cs b/v2rayN/v2rayN/Handler/CoreHandler.cs index d199bd5e..5ee8bf54 100644 --- a/v2rayN/v2rayN/Handler/CoreHandler.cs +++ b/v2rayN/v2rayN/Handler/CoreHandler.cs @@ -192,6 +192,7 @@ namespace v2rayN.Handler { coreType = LazyConfig.Instance.GetCoreType(node, node.configType); } + _config.runningCoreType = coreType; var coreInfo = LazyConfig.Instance.GetCoreInfo(coreType); var displayLog = node.configType != EConfigType.Custom || node.displayLog; @@ -214,6 +215,7 @@ namespace v2rayN.Handler address = Global.Loopback, port = node.preSocksPort }; + _config.runningCoreType = ECoreType.sing_box; string fileName2 = Utils.GetConfigPath(Global.CorePreConfigFileName); if (CoreConfigHandler.GenerateClientConfig(itemSocks, fileName2, out string msg2, out string configStr) == 0) { diff --git a/v2rayN/v2rayN/Handler/StatisticsSingbox.cs b/v2rayN/v2rayN/Handler/StatisticsSingbox.cs index 86d485e5..d838c1b8 100644 --- a/v2rayN/v2rayN/Handler/StatisticsSingbox.cs +++ b/v2rayN/v2rayN/Handler/StatisticsSingbox.cs @@ -63,6 +63,10 @@ namespace v2rayN.Handler { try { + if (!(_config.runningCoreType is ECoreType.sing_box or ECoreType.clash or ECoreType.clash_meta or ECoreType.mihomo)) + { + continue; + } if (webSocket != null) { if (webSocket.State == WebSocketState.Aborted diff --git a/v2rayN/v2rayN/Handler/StatisticsV2ray.cs b/v2rayN/v2rayN/Handler/StatisticsV2ray.cs index 0034a96d..8fbc2e9f 100644 --- a/v2rayN/v2rayN/Handler/StatisticsV2ray.cs +++ b/v2rayN/v2rayN/Handler/StatisticsV2ray.cs @@ -51,6 +51,10 @@ namespace v2rayN.Handler { try { + if (!(_config.runningCoreType is ECoreType.Xray or ECoreType.v2fly or ECoreType.v2fly_v5 or ECoreType.SagerNet)) + { + continue; + } if (_channel?.State == ConnectivityState.Ready) { QueryStatsResponse? res = null; diff --git a/v2rayN/v2rayN/Model/Config.cs b/v2rayN/v2rayN/Model/Config.cs index 5ff2e541..9d1c6b79 100644 --- a/v2rayN/v2rayN/Model/Config.cs +++ b/v2rayN/v2rayN/Model/Config.cs @@ -14,6 +14,8 @@ public string systemProxyExceptions { get; set; } public string systemProxyAdvancedProtocol { get; set; } + public ECoreType runningCoreType { get; set; } + #endregion property #region other entities