diff --git a/v2rayN/ServiceLib/Handler/ConfigHandler.cs b/v2rayN/ServiceLib/Handler/ConfigHandler.cs index c3d82043..167820f0 100644 --- a/v2rayN/ServiceLib/Handler/ConfigHandler.cs +++ b/v2rayN/ServiceLib/Handler/ConfigHandler.cs @@ -1432,7 +1432,7 @@ public static class ConfigHandler else if (node.ConfigType == EConfigType.Custom && node.PreSocksPort is > 0 and <= 65535) { - var preCoreType = AppManager.Instance.RunningCoreType = config.TunModeItem.EnableTun ? ECoreType.sing_box : ECoreType.Xray; + var preCoreType = config.TunModeItem.EnableTun ? ECoreType.sing_box : ECoreType.Xray; itemSocks = new ProfileItem() { CoreType = preCoreType, diff --git a/v2rayN/ServiceLib/Manager/CoreManager.cs b/v2rayN/ServiceLib/Manager/CoreManager.cs index 14a9ae50..c309680a 100644 --- a/v2rayN/ServiceLib/Manager/CoreManager.cs +++ b/v2rayN/ServiceLib/Manager/CoreManager.cs @@ -90,6 +90,9 @@ public class CoreManager await CoreStart(mainContext); await CoreStartPreService(preContext); + + AppManager.Instance.RunningCoreType = preContext?.RunCoreType ?? mainContext.RunCoreType; + if (_processService != null) { await UpdateFunc(true, $"{node.GetSummary()}"); @@ -172,7 +175,7 @@ public class CoreManager private async Task CoreStart(CoreConfigContext context) { var node = context.Node; - var coreType = AppManager.Instance.RunningCoreType = AppManager.Instance.GetCoreType(node, node.ConfigType); + var coreType = AppManager.Instance.GetCoreType(node, node.ConfigType); var coreInfo = CoreInfoManager.Instance.GetCoreInfo(coreType); var displayLog = node.ConfigType != EConfigType.Custom || node.DisplayLog;