diff --git a/v2rayN/ServiceLib/Common/Utils.cs b/v2rayN/ServiceLib/Common/Utils.cs index ac1a18c4..437b2b9b 100644 --- a/v2rayN/ServiceLib/Common/Utils.cs +++ b/v2rayN/ServiceLib/Common/Utils.cs @@ -1093,14 +1093,23 @@ public class Utils } } - public static string GetOptCorePath(string filename = "") + public static string GetOptBinPath(string filename, string? coreType = null) { - var tempPath = Path.Combine("/opt/v2rayn-core"); + var tempPath = Path.Combine("/opt/v2rayN/","bin"); if (!Directory.Exists(tempPath)) { Directory.CreateDirectory(tempPath); } + if (coreType != null) + { + tempPath = Path.Combine(tempPath, coreType.ToLower().ToString()); + if (!Directory.Exists(tempPath)) + { + Directory.CreateDirectory(tempPath); + } + } + if (filename.IsNullOrEmpty()) { return tempPath; diff --git a/v2rayN/ServiceLib/Manager/CoreInfoManager.cs b/v2rayN/ServiceLib/Manager/CoreInfoManager.cs index 2e11ccab..a3844d6b 100644 --- a/v2rayN/ServiceLib/Manager/CoreInfoManager.cs +++ b/v2rayN/ServiceLib/Manager/CoreInfoManager.cs @@ -35,7 +35,7 @@ public sealed class CoreInfoManager msg = string.Empty; foreach (var name in coreInfo?.CoreExes) { - var vName = Utils.GetBinPath(Utils.GetExeName(name), coreInfo.CoreType.ToString()); + var vName = Utils.GetOptBinPath(Utils.GetExeName(name), coreInfo.CoreType.ToString()); if (File.Exists(vName)) { fileName = vName;