|  | @@ -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>
 |