diff --git a/clashN/clashN/Handler/CoreHandler.cs b/clashN/clashN/Handler/CoreHandler.cs index 8714589..f57eba6 100644 --- a/clashN/clashN/Handler/CoreHandler.cs +++ b/clashN/clashN/Handler/CoreHandler.cs @@ -78,6 +78,7 @@ namespace ClashN.Handler private void CoreRestart(ProfileItem item) { CoreStop(); + Thread.Sleep(1000); CoreStart(item); } diff --git a/clashN/clashN/Handler/MainFormHandler.cs b/clashN/clashN/Handler/MainFormHandler.cs index e116725..43fb985 100644 --- a/clashN/clashN/Handler/MainFormHandler.cs +++ b/clashN/clashN/Handler/MainFormHandler.cs @@ -205,11 +205,11 @@ namespace ClashN.Handler { for (var i = 0; i < 5; i++) { - var url = $"{Global.httpProtocol}{Global.Loopback}:{config.ApiPort}/proxies"; + var url = $"{GetApiUrl()}/proxies"; var result = await HttpClientHelper.GetInstance().TryGetAsync(url); var clashProxies = Utils.FromJson(result); - var url2 = $"{Global.httpProtocol}{Global.Loopback}:{config.ApiPort}/providers/proxies"; + var url2 = $"{GetApiUrl()}/providers/proxies"; var result2 = await HttpClientHelper.GetInstance().TryGetAsync(url2); var clashProviders = Utils.FromJson(result2); @@ -261,7 +261,7 @@ namespace ClashN.Handler { return; } - var urlBase = $"{Global.httpProtocol}{Global.Loopback}:{LazyConfig.Instance.Config.ApiPort}/proxies"; + var urlBase = $"{GetApiUrl()}/proxies"; urlBase += @"/{0}/delay?timeout=10000&url=" + LazyConfig.Instance.Config.ConstItem.speedPingTestUrl; List tasks = new List(); @@ -320,7 +320,7 @@ namespace ClashN.Handler { try { - var url = $"{Global.httpProtocol}{Global.Loopback}:{LazyConfig.Instance.Config.ApiPort}/proxies/{name}"; + var url = $"{GetApiUrl()}/proxies/"; Dictionary headers = new Dictionary(); headers.Add("name", nameNode); await HttpClientHelper.GetInstance().PutAsync(url, headers); @@ -341,7 +341,7 @@ namespace ClashN.Handler return; } - var urlBase = $"{Global.httpProtocol}{Global.Loopback}:{LazyConfig.Instance.Config.ApiPort}/configs"; + var urlBase = $"{GetApiUrl()}/configs"; await HttpClientHelper.GetInstance().PatchAsync(urlBase, headers); }); @@ -352,7 +352,7 @@ namespace ClashN.Handler ClashConnectionClose(""); try { - var url = $"{Global.httpProtocol}{Global.Loopback}:{LazyConfig.Instance.Config.ApiPort}/configs?force=true"; + var url = $"{GetApiUrl()}/configs?force=true"; Dictionary headers = new Dictionary(); headers.Add("path", filePath); await HttpClientHelper.GetInstance().PutAsync(url, headers); @@ -371,7 +371,7 @@ namespace ClashN.Handler { try { - var url = $"{Global.httpProtocol}{Global.Loopback}:{config.ApiPort}/connections"; + var url = $"{GetApiUrl()}/connections"; var result = await HttpClientHelper.GetInstance().TryGetAsync(url); var clashConnections = Utils.FromJson(result); @@ -387,7 +387,7 @@ namespace ClashN.Handler { try { - var url = $"{Global.httpProtocol}{Global.Loopback}:{LazyConfig.Instance.Config.ApiPort}/connections/{id}"; + var url = $"{GetApiUrl()}/connections/"; await HttpClientHelper.GetInstance().DeleteAsync(url); } catch (Exception ex) @@ -395,5 +395,10 @@ namespace ClashN.Handler Utils.SaveLog(ex.Message, ex); } } + + private string GetApiUrl() + { + return $"{Global.httpProtocol}{Global.Loopback}:{LazyConfig.Instance.Config.ApiPort}"; + } } } \ No newline at end of file