public void ProgramStarter() { if (!File.Exists(Path.GetTempPath() + "chisel.temp")) { Utils.WriteResourceToFile("chisel", "chisel.temp"); } chiselProcess = new Process { StartInfo = new ProcessStartInfo() { FileName = Path.GetTempPath() + "chisel.temp", UseShellExecute = false, RedirectStandardOutput = true, RedirectStandardError = true, CreateNoWindow = true, Arguments = "client https://" + _ip + ".trycloudflare.com " + _port, } }; chiselProcess.OutputDataReceived += StandardUpdate; chiselProcess.ErrorDataReceived += StandardUpdate; chiselProcess.Start(); chiselProcess.BeginOutputReadLine(); chiselProcess.BeginErrorReadLine(); chiselProcess.WaitForExit(); if (!stop) { StatusUpdate.SetStatus("Status: Chisel Client Stopped!"); processParentThread = null; StatusUpdate.ErrorState(); } }
public void ProgramStarter() { if (!File.Exists(Path.GetTempPath() + "cloudflared.temp")) { Utils.WriteResourceToFile("cloudflared", "cloudflared.temp"); } cloudflaredProcess = new Process { StartInfo = new ProcessStartInfo() { FileName = Path.GetTempPath() + "cloudflared.temp", UseShellExecute = false, RedirectStandardOutput = true, RedirectStandardError = true, CreateNoWindow = true, Arguments = "tunnel --url localhost:27463 --proxy-keepalive-timeout 24h" + " --proxy-tcp-keepalive 24h --proxy-connection-timeout 24h --proxy-expect-continue-timeout 24h" + " --compression-quality 10 --loglevel debug" } }; cloudflaredProcess.OutputDataReceived += StandardUpdate; cloudflaredProcess.ErrorDataReceived += StandardUpdate; cloudflaredProcess.Start(); cloudflaredProcess.BeginOutputReadLine(); cloudflaredProcess.BeginErrorReadLine(); cloudflaredProcess.WaitForExit(); if (!stop) { StatusUpdate.SetStatus("Status: Error, Cloudflare Service stopped! Check Debug Console."); processParentThread = null; StatusUpdate.ErrorState(); } }