private List <string> GetLocalIP() { try { List <string> result = new List <string>(); List <UnicastIPAddressInformationCollection> ipInfo = NetworkInterface.GetAllNetworkInterfaces() .Select(ipinfo => ipinfo.GetIPProperties().UnicastAddresses) .ToList(); ipInfo.SelectMany(ipinfo => ipinfo.Select(ip => ip.Address)) .Where(ip => ip.AddressFamily == AddressFamily.InterNetwork) .OrderByDescending(ip => ip.Address) .ToList() .ForEach(ip => result.Add(ip.ToString())); return(result); } catch (Exception) { ExitCode = AppExitCodes.LocalIpException; return(new List <string> { TextHelper.FailedGetLocalIP }); } }
private string GetInternetIP() { try { using (StreamReader stream = new StreamReader(HttpHelper.GetWebRequest(TextHelper.InternetIpSite) .GetResponse() .GetResponseStream(), Encoding.UTF8)) { return(stream.ReadToEnd()); } } catch (Exception) { ExitCode = AppExitCodes.InternetIpException; return(TextHelper.FailedGetInternetIP); } }
public void Do(string internetIP, List <string> localIPs, ref AppExitCodes appExitCode, AppConfig appConfig) { try { ConsoleHelper.ShowAppBanner(); ConsoleHelper.SetMailData(); appConfig.RecipientEmail = ConsoleHelper.SetOption("Recipient email address . . . : "); appConfig.SenderEmail = ConsoleHelper.SetOption("Sender email address. . . . . : "); appConfig.SenderPassword = ConsoleHelper.SetOption("Sender email password . . . . : "); appConfig.EmailServer = ConsoleHelper.SetOption("Sender SMTP Server (for gmail.com use smtp.gmail.com) . . . : "); appConfig.EmailServerPort = ConsoleHelper.SetOption("Sender SMTP Port (for gmail.com use 587). . . . . . . . . . : "); ConsoleHelper.EmailSettingsSave(true); appConfig.IsConfigured = true; } catch { ConsoleHelper.EmailSettingsSave(false); appExitCode = AppExitCodes.SaveSettingsException; } }
public void Do(string internetIP, List <string> localIPs, ref AppExitCodes appExitCode, AppConfig appConfig) { ConsoleHelper.ShowAppBanner(); if (appConfig.IsConfigured) { try { SendByEmail(appConfig, internetIP); ConsoleHelper.EmailSend(senderEmail: appConfig.SenderEmail, recipientEmail: appConfig.RecipientEmail); } catch (Exception ex) { ConsoleHelper.EmailSendException(exception: ex, senderEmail: appConfig.SenderEmail, recipientEmail: appConfig.RecipientEmail); appExitCode = AppExitCodes.EmailSendException; } } else { ConsoleHelper.NotSetMailData(); appExitCode = AppExitCodes.SetMailDataException; } }
public void Do(string internetIP, List <string> localIPs, ref AppExitCodes appExitCode, AppConfig appConfig) { ConsoleHelper.ShowAppBanner(); ConsoleHelper.ShowIPs(internetIP, localIPs); }