/// <summary> /// Run the service /// </summary> /// <param name="requireAdministrator">True to require administrator, false otherwise</param> /// <returns>Exit code</returns> public Task <int> RunAsync(bool requireAdministrator = true) { if (requireAdministrator) { IPBanExtensionMethods.RequireAdministrator(); } if (args.Length != 0 && (args[0].Equals("info", StringComparison.OrdinalIgnoreCase) || args[0].Equals("-info", StringComparison.OrdinalIgnoreCase))) { IPBanLog.Warn("System info: {0}", IPBanOS.OSString()); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { RunWindowsService(args); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { RunLinuxService(args); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { throw new PlatformNotSupportedException("Mac OSX is not yet supported, but may be in the future."); } else { throw new PlatformNotSupportedException(); } return(Task.FromResult(0)); }
public static int Main(string[] args) { IPBanExtensionMethods.RequireAdministrator(); if (args.Length != 0 && args[0].Equals("info", StringComparison.OrdinalIgnoreCase)) { IPBanLog.Warn("System info: {0}", IPBanOS.OSString()); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { IPBanWindowsApp.WindowsMain(args); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { IPBanLinuxApp.LinuxMain(args); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { throw new PlatformNotSupportedException("Mac OSX is not yet supported, but may be in the future."); //IPBanMacApp.MacMain(args); } else { throw new PlatformNotSupportedException(); } return(0); }
/// <summary> /// Run the service /// </summary> /// <param name="requireAdministrator">True to require administrator, false otherwise</param> /// <returns>Exit code</returns> public async Task RunAsync(bool requireAdministrator = true) { if (requireAdministrator) { IPBanExtensionMethods.RequireAdministrator(); } if (args.Length != 0 && (args[0].Equals("info", StringComparison.OrdinalIgnoreCase) || args[0].Equals("-info", StringComparison.OrdinalIgnoreCase))) { IPBanLog.Warn("System info: {0}", IPBanOS.OSString()); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { await RunWindowsService(args); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { await RunLinuxService(args); } else { throw new PlatformNotSupportedException(); } }