예제 #1
0
 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();
     }
 }