|
|
|
@ -1403,17 +1403,6 @@ namespace Emby.Server.Implementations
|
|
|
|
|
{
|
|
|
|
|
var localAddress = await GetLocalApiUrl(cancellationToken).ConfigureAwait(false);
|
|
|
|
|
|
|
|
|
|
string wanAddress;
|
|
|
|
|
|
|
|
|
|
if (string.IsNullOrEmpty(ServerConfigurationManager.Configuration.WanDdns))
|
|
|
|
|
{
|
|
|
|
|
wanAddress = await GetWanApiUrlFromExternal(cancellationToken).ConfigureAwait(false);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
wanAddress = GetWanApiUrl(ServerConfigurationManager.Configuration.WanDdns);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return new SystemInfo
|
|
|
|
|
{
|
|
|
|
|
HasPendingRestart = HasPendingRestart,
|
|
|
|
@ -1435,7 +1424,6 @@ namespace Emby.Server.Implementations
|
|
|
|
|
OperatingSystemDisplayName = OperatingSystem.Name,
|
|
|
|
|
CanSelfRestart = CanSelfRestart,
|
|
|
|
|
CanLaunchWebBrowser = CanLaunchWebBrowser,
|
|
|
|
|
WanAddress = wanAddress,
|
|
|
|
|
HasUpdateAvailable = HasUpdateAvailable,
|
|
|
|
|
TranscodingTempPath = ApplicationPaths.TranscodingTempPath,
|
|
|
|
|
ServerName = FriendlyName,
|
|
|
|
@ -1457,24 +1445,12 @@ namespace Emby.Server.Implementations
|
|
|
|
|
{
|
|
|
|
|
var localAddress = await GetLocalApiUrl(cancellationToken).ConfigureAwait(false);
|
|
|
|
|
|
|
|
|
|
string wanAddress;
|
|
|
|
|
|
|
|
|
|
if (string.IsNullOrEmpty(ServerConfigurationManager.Configuration.WanDdns))
|
|
|
|
|
{
|
|
|
|
|
wanAddress = await GetWanApiUrlFromExternal(cancellationToken).ConfigureAwait(false);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
wanAddress = GetWanApiUrl(ServerConfigurationManager.Configuration.WanDdns);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return new PublicSystemInfo
|
|
|
|
|
{
|
|
|
|
|
Version = ApplicationVersion,
|
|
|
|
|
ProductName = ApplicationProductName,
|
|
|
|
|
Id = SystemId,
|
|
|
|
|
OperatingSystem = OperatingSystem.Id.ToString(),
|
|
|
|
|
WanAddress = wanAddress,
|
|
|
|
|
ServerName = FriendlyName,
|
|
|
|
|
LocalAddress = localAddress
|
|
|
|
|
};
|
|
|
|
@ -1506,31 +1482,6 @@ namespace Emby.Server.Implementations
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<string> GetWanApiUrlFromExternal(CancellationToken cancellationToken)
|
|
|
|
|
{
|
|
|
|
|
const string Url = "http://ipv4.icanhazip.com";
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
using (var response = await HttpClient.Get(new HttpRequestOptions
|
|
|
|
|
{
|
|
|
|
|
Url = Url,
|
|
|
|
|
LogErrorResponseBody = false,
|
|
|
|
|
BufferContent = false,
|
|
|
|
|
CancellationToken = cancellationToken
|
|
|
|
|
}).ConfigureAwait(false))
|
|
|
|
|
{
|
|
|
|
|
string res = await response.ReadToEndAsync().ConfigureAwait(false);
|
|
|
|
|
return GetWanApiUrl(res.Trim());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
Logger.LogError(ex, "Error getting WAN Ip address information");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Removes the scope id from IPv6 addresses.
|
|
|
|
|
/// </summary>
|
|
|
|
|