private static WebClient BuildEx(ResultMachine machine, bool hasId = true) { var client = new WebClient(); client.Headers.Add(HttpRequestHeader.UserAgent, "Ghosts Client"); if (hasId) { client.Headers.Add("ghosts-id", CheckId.Id); } client.Headers.Add("ghosts-name", machine.Name); client.Headers.Add("ghosts-fqdn", machine.FQDN); client.Headers.Add("ghosts-host", machine.Host); client.Headers.Add("ghosts-domain", machine.Domain); client.Headers.Add("ghosts-resolvedhost", machine.ResolvedHost); client.Headers.Add("ghosts-ip", machine.ClientIp); var username = machine.CurrentUsername; if (Program.Configuration.EncodeHeaders) { username = Base64Encoder.Base64Encode(username); } client.Headers.Add("ghosts-user", username); client.Headers.Add("ghosts-version", ApplicationDetails.Version); return(client); }
static void Main(string[] args) { Base64Encoder Base64code = new Base64Encoder(); Console.WriteLine("Enter String:"); string input = Console.ReadLine(); string Base64val = Base64code.Base64Encode(input); Console.WriteLine("Base64Encode value of" + input + " = " + Base64val); }
internal static void PostSurvey() { try { _log.Trace("posting survey"); var posturl = Program.Configuration.Survey.PostUrl; if (!File.Exists(ApplicationDetails.InstanceFiles.SurveyResults)) { return; } var survey = JsonConvert.DeserializeObject <Ghosts.Domain.Messages.MesssagesForServer.Survey>(File.ReadAllText(ApplicationDetails.InstanceFiles.SurveyResults)); var payload = JsonConvert.SerializeObject(survey); var machine = new ResultMachine(); if (Program.Configuration.Survey.IsSecure) { payload = Crypto.EncryptStringAes(payload, machine.Name); payload = Base64Encoder.Base64Encode(payload); var p = new EncryptedPayload(); p.Payload = payload; payload = JsonConvert.SerializeObject(p); } using (var client = WebClientBuilder.Build(machine)) { client.Headers[HttpRequestHeader.ContentType] = "application/json"; client.UploadString(posturl, payload); } _log.Trace($"{DateTime.Now} - survey posted to server successfully"); File.Delete(ApplicationDetails.InstanceFiles.SurveyResults); } catch (Exception e) { _log.Trace("Problem posting logs to server"); _log.Error(e); } }
private static void PostResults(string fileName, ResultMachine machine, string postUrl, bool isDeletable = false) { var sb = new StringBuilder(); var data = File.ReadLines(fileName); foreach (var d in data) { sb.AppendLine(d); } var r = new TransferLogDump(); r.Log = sb.ToString(); var payload = JsonConvert.SerializeObject(r); if (Program.Configuration.ClientResults.IsSecure) { payload = Crypto.EncryptStringAes(payload, machine.Name); payload = Base64Encoder.Base64Encode(payload); var p = new EncryptedPayload(); p.Payload = payload; payload = JsonConvert.SerializeObject(p); } using (var client = WebClientBuilder.Build(machine)) { client.Headers[HttpRequestHeader.ContentType] = "application/json"; client.UploadString(postUrl, payload); } if (isDeletable) { File.Delete(fileName); } else { File.WriteAllText(fileName, string.Empty); } _log.Trace($"{DateTime.Now} - {fileName} posted to server successfully"); }
internal static void PostSurvey() { // ignore all certs ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true; var posturl = string.Empty; try { posturl = Program.Configuration.Survey.PostUrl; } catch (Exception exc) { _log.Error("Can't get survey posturl!"); return; } try { _log.Trace("posting survey"); Thread.Sleep(ProcessManager.Jitter(100)); if (!File.Exists(ApplicationDetails.InstanceFiles.SurveyResults)) { return; } var survey = JsonConvert.DeserializeObject <Domain.Messages.MesssagesForServer.Survey>(File.ReadAllText(ApplicationDetails.InstanceFiles.SurveyResults)); var payload = JsonConvert.SerializeObject(survey); var machine = new ResultMachine(); GuestInfoVars.Load(machine); if (Program.Configuration.Survey.IsSecure) { payload = Crypto.EncryptStringAes(payload, machine.Name); payload = Base64Encoder.Base64Encode(payload); var p = new EncryptedPayload(); p.Payload = payload; payload = JsonConvert.SerializeObject(p); } using (var client = WebClientBuilder.Build(machine)) { client.Headers[HttpRequestHeader.ContentType] = "application/json"; client.UploadString(posturl, payload); } _log.Trace($"{DateTime.Now} - survey posted to server successfully"); File.Delete(ApplicationDetails.InstanceFiles.SurveyResults); } catch (Exception e) { _log.Debug($"Problem posting logs to server from { ApplicationDetails.InstanceFiles.SurveyResults } to { Program.Configuration.Survey.PostUrl }"); _log.Error(e); } }