diff --git a/references/ArchiSteamFarm b/references/ArchiSteamFarm index f1c1e226c..603b7eedf 160000 --- a/references/ArchiSteamFarm +++ b/references/ArchiSteamFarm @@ -1 +1 @@ -Subproject commit f1c1e226cfd43b16b06a35be68a69f651325bed5 +Subproject commit 603b7eedfa758ab46817b68ddb0d262eb3504b36 diff --git a/src/ST.Client/Services/Implementation/ArchiSteamFarmServiceImpl.cs b/src/ST.Client/Services/Implementation/ArchiSteamFarmServiceImpl.cs index ebe2fad45..6915f7bb3 100644 --- a/src/ST.Client/Services/Implementation/ArchiSteamFarmServiceImpl.cs +++ b/src/ST.Client/Services/Implementation/ArchiSteamFarmServiceImpl.cs @@ -197,9 +197,30 @@ namespace System.Application.Services.Implementation } } + string IPCRootUrl + { + get + { + string? value = null; + var a = ArchiSteamFarm.IPC.ArchiKestrel.ServerAddresses; + var loopback = IPAddress.Loopback.ToString(); + if (a != null) + { + value = a.FirstOrDefault(x => x.Contains(loopback) && x.StartsWith(Browser2.Prefix_HTTP)) + ?? a.FirstOrDefault(x => x.Contains(loopback)) + ?? a.FirstOrDefault(); + } + if (string.IsNullOrWhiteSpace(value)) + { + value = $"http://{loopback}:{CurrentIPCPortValue}"; + } + return value; + } + } + public string GetIPCUrl() { - var defaultUrl = $"http://{IPAddress.Loopback}:{CurrentIPCPortValue}"; + var defaultUrl = IPCRootUrl; string absoluteConfigDirectory = Path.Combine(ASFPathHelper.AppDataDirectory, SharedInfo.ConfigDirectory); string customConfigPath = Path.Combine(absoluteConfigDirectory, SharedInfo.IPCConfigFile); if (File.Exists(customConfigPath))