From 66e1aeae1fe7cc183ac7cb24982d13a3733edb60 Mon Sep 17 00:00:00 2001 From: DHR60 Date: Sat, 7 Mar 2026 08:36:03 +0000 Subject: [PATCH] Fix speedtest core type (#8900) * Fix speedtest core type * Simplify code --- .../ServiceLib/Handler/Builder/CoreConfigContextBuilder.cs | 2 +- v2rayN/ServiceLib/Handler/CoreConfigHandler.cs | 5 ++--- v2rayN/ServiceLib/Manager/CoreManager.cs | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/v2rayN/ServiceLib/Handler/Builder/CoreConfigContextBuilder.cs b/v2rayN/ServiceLib/Handler/Builder/CoreConfigContextBuilder.cs index 4894b334..9a3aea84 100644 --- a/v2rayN/ServiceLib/Handler/Builder/CoreConfigContextBuilder.cs +++ b/v2rayN/ServiceLib/Handler/Builder/CoreConfigContextBuilder.cs @@ -268,7 +268,7 @@ public class CoreConfigContextBuilder { IndexId = $"inner-{Utils.GetGuid(false)}", ConfigType = EConfigType.ProxyChain, - CoreType = node.CoreType ?? ECoreType.Xray, + CoreType = AppManager.Instance.GetCoreType(node, node.ConfigType), }; List childItems = [prevNode?.IndexId, node.IndexId, nextNode?.IndexId]; var chainExtraItem = chainNode.GetProtocolExtra() with diff --git a/v2rayN/ServiceLib/Handler/CoreConfigHandler.cs b/v2rayN/ServiceLib/Handler/CoreConfigHandler.cs index 474234e4..99f65662 100644 --- a/v2rayN/ServiceLib/Handler/CoreConfigHandler.cs +++ b/v2rayN/ServiceLib/Handler/CoreConfigHandler.cs @@ -21,7 +21,7 @@ public static class CoreConfigHandler _ => await GenerateClientCustomConfig(node, fileName) }; } - else if (AppManager.Instance.GetCoreType(node, node.ConfigType) == ECoreType.sing_box) + else if (context.RunCoreType == ECoreType.sing_box) { result = new CoreConfigSingboxService(context).GenerateClientConfigContent(); } @@ -128,12 +128,11 @@ public static class CoreConfigHandler public static async Task GenerateClientSpeedtestConfig(Config config, CoreConfigContext context, ServerTestItem testItem, string fileName) { var result = new RetResult(); - var node = context.Node; var initPort = AppManager.Instance.GetLocalPort(EInboundProtocol.speedtest); var port = Utils.GetFreePort(initPort + testItem.QueueNum); testItem.Port = port; - if (AppManager.Instance.GetCoreType(node, node.ConfigType) == ECoreType.sing_box) + if (context.RunCoreType == ECoreType.sing_box) { result = new CoreConfigSingboxService(context).GenerateClientSpeedtestConfig(port); } diff --git a/v2rayN/ServiceLib/Manager/CoreManager.cs b/v2rayN/ServiceLib/Manager/CoreManager.cs index a55be232..14a9ae50 100644 --- a/v2rayN/ServiceLib/Manager/CoreManager.cs +++ b/v2rayN/ServiceLib/Manager/CoreManager.cs @@ -132,7 +132,7 @@ public class CoreManager return null; } - var coreType = AppManager.Instance.GetCoreType(node, node.ConfigType); + var coreType = context.RunCoreType; var coreInfo = CoreInfoManager.Instance.GetCoreInfo(coreType); return await RunProcess(coreInfo, fileName, true, false); }