public static void AuthServer() { var portKnocking = new PortKnocking(); var file = Config.KnockFile; while (!file.EndOfStream) { var args = file.ReadLine()?.Split(" ".ToCharArray(), 3, StringSplitOptions.RemoveEmptyEntries); if (args != null && args.Length == 3 && ushort.TryParse(args[0], out var port) && int.TryParse(args[1], out var delay)) { portKnocking.AddPort(port, delay, args?[2]); } } portKnocking.KnockAll(new Uri(Config.ServerHostAddress)).Wait(); }
public static bool CheckUpdate() { PortKnocking.AuthServer(); try { var client = new WebClient(); var data = client.DownloadData(Config.VersionInfoAddress); var des = MOD.Deserialize <Info>(Encoding.Default.GetString(data)); if (des.captureVersion == MOD.Version) { $"Version {MOD.Version} Checked".Log(); return(true); } if (!File.Exists("CaptureAutoUpdate.exe")) { "Downloading CaptureAutoUpdate!".Log(); client = new WebClient(); client.Headers.Add("myIP", GetMyIP()); "IpGetted".Log(); data = client.DownloadData(Config.AutoUpdateAddress); if (data.Length == 0) { @"Download Error".Log(); } File.WriteAllBytes("CaptureAutoUpdate.exe", data); } } catch { "Download Update Capture Error!".Log(); return(false); } Process.Start("CaptureAutoUpdate.exe"); Environment.Exit(0); return(false); }