public static void DownloadInfosFromServer() { Logger.Write("Update Informationen werden vom Server abgefragt...."); try { var xmlDoc = new XmlDocument(); // Ignore Certificate validation failures (aka untrusted certificate + certificate chains) ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true; xmlDoc.LoadXml(new BetterWebClient { Timeout = 10000 }.DownloadString("https://updates.speg-dev.de/GetSpecific.php?filter=DealReminder")); _serverVersion = xmlDoc.GetElementsByTagName("version")[0].InnerText; _serverHash = xmlDoc.GetElementsByTagName("hash")[0].InnerText; _serverUrl = xmlDoc.GetElementsByTagName("url")[0].InnerText; Logger.Write("Aktuelle Server Version: " + _serverVersion); Logger.Write("Aktuelle Server Download Hash: " + _serverHash); Logger.Write("Aktuelle Server Download URL: " + _serverUrl); } catch (Exception ex) { Logger.Write("Update Informationen abrufen Fehlgeschlagen - Grund: " + ex.Message); if (OSystem.IsAvailableNetworkActive()) { } } }
private async Task Download() { while (Tools.CheckFileMd5(UpdateFile, _serverHash) == false) { metroLabel2.Text = @"0 MB/s"; metroLabel3.Text = @"0 von 0 MB's"; metroProgressBar1.Value = 0; if (File.Exists(UpdateFile)) { Logger.Write("Beschädigte Update Datei gefunden..."); try { File.Delete(UpdateFile); Logger.Write("Datei wurde Erfolgreich gelöscht..."); } catch (Exception ex) { Logger.Write("Datei Löschen Fehlgeschlagen - Grund: " + ex.Message); MetroMessageBox.Show(this, "Die Temporäre Update Datei (update.tmp) konnte nicht gelöscht werden." + Environment.NewLine + "Bitte Lösche die Datei Manuell und Versuche es anschließend Erneut!", "Löschen Fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Warning); break; } } Logger.Write("Update wird heruntergeladen..."); try { var wClient = new BetterWebClient { Timeout = 10000 }; wClient.DownloadFileCompleted += _DownloadFileCompleted; wClient.DownloadProgressChanged += _DownloadProgressChanged; _sw.Start(); await wClient.DownloadFileTaskAsync(new Uri(_serverUrl), UpdateFile); } catch (Exception ex) { Logger.Write("Download Fehlgeschlagen - Grund: " + ex.Message); if (OSystem.IsAvailableNetworkActive()) { } } if (Tools.CheckFileMd5(UpdateFile, _serverHash)) { break; } DialogResult result = MetroMessageBox.Show(this, "Möchten Sie es erneut versuchen?", "Download Fehlgeschlagen", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.No) { break; } } }
public static async Task CheckManuell() { Main mf = Application.OpenForms["Main"] as Main; Logger.Write("Checke Premium..."); if (String.IsNullOrWhiteSpace(mf.metroTextBox5.Text) || !new RegexUtilities().IsValidEmail(mf.metroTextBox5.Text)) { if (String.IsNullOrWhiteSpace(mf.metroTextBox5.Text)) { Logger.Write("Premium Check Fehlgeschlagen - Grund: Die eingegebenen Premium Email ist NullOrWhitespace..."); } else if (!new RegexUtilities().IsValidEmail(mf.metroTextBox5.Text)) { Logger.Write("Premium Check Fehlgeschlagen - Grund: Die eingegebenen Premium Email entspricht nicht dem Email Format..."); } //--SETTINGS ConfigurationManager.AppSettings["PremiumEmail"] = null; //--SETTINGS MetroMessageBox.Show(mf, "Die eingegebene Premium Email entspricht nicht dem validen email format!" + Environment.NewLine + "Bitte gebe deine Premium E-Mail-Adresse ein.", "Premium Check Fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (String.IsNullOrWhiteSpace(mf.metroTextBox6.Text)) { if (String.IsNullOrWhiteSpace(mf.metroTextBox6.Text)) { Logger.Write("Premium Check Fehlgeschlagen - Grund: Der eingegebenen Premium Key ist NullOrWhitespace..."); } //--SETTINGS ConfigurationManager.AppSettings["PremiumKey"] = null; //--SETTINGS MetroMessageBox.Show(mf, "Du hast wohl vergessen deinen Premium Key einzugeben!" + Environment.NewLine + "Bitte gebe deinen Premium Key ein.", "Premium Check Fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } try { NameValueCollection parameters = new NameValueCollection { { "filter", "DealReminder" }, { "email", Crypto.HashMD5(Crypto.HashSHA512(mf.metroTextBox5.Text.ToLower())) }, { "key", Crypto.HashMD5(Crypto.HashSHA512(mf.metroTextBox6.Text)) } }; // Ignore Certificate validation failures (aka untrusted certificate + certificate chains) ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true; byte[] bArr = await new BetterWebClient { Timeout = 10000 }.UploadValuesTaskAsync(new Uri("https://auth.speg-dev.de/DoPremiumCheck.php"), "POST", parameters); var xmlDoc = Tools.GetXmlDocFromBytes(bArr); var status = xmlDoc.GetElementsByTagName("Status")[0].InnerText; if (status.Contains("200")) { DateTime myDate = DateTime.ParseExact(xmlDoc.GetElementsByTagName("ExpiryDate")[0].InnerText, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); mf.metroLabel49.Text = Convert.ToString(myDate, CultureInfo.CurrentCulture); //Change to Expiry Date if (DateTime.Now > myDate) { MessageBox.Show("Premium abgelaufen am: " + Convert.ToString(myDate, CultureInfo.CurrentCulture)); Logger.Write("Premium abgelaufen am: " + Convert.ToString(myDate, CultureInfo.CurrentCulture)); return; } Logger.Write("Premium Check erfolgreich..."); Logger.Write("Premium gültig bis: " + Convert.ToString(myDate, CultureInfo.CurrentCulture)); //--SETTINGS ConfigurationManager.AppSettings["PremiumEmail"] = mf.metroTextBox5.Text; ConfigurationManager.AppSettings["PremiumKey"] = mf.metroTextBox6.Text; //--SETTINGS Settings.IsPremium = true; Settings.PremiumExpiryDate = myDate; MetroMessageBox.Show(mf, "Viel Spaß mit DealReminder Premium ;-)", "Premium Check Erfolgreich", MessageBoxButtons.OK, MessageBoxIcon.Question); return; } if (status.Contains("400")) { Logger.Write("Premium Check Fehlgeschlagen - Grund: Application not found..."); Settings.IsPremium = false; Settings.PremiumExpiryDate = null; MetroMessageBox.Show(mf, "Es gab einen Fehler beim Abfrage des Premium Status." + Environment.NewLine + "Bitte Kontaktiere den Entwickler." + Environment.NewLine + Environment.NewLine + @"Fehlercode: 400", "Premium Check Fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (status.Contains("401")) { Logger.Write("Premium Check Fehlgeschlagen - Grund: User not found on Server Database..."); //--SETTINGS ConfigurationManager.AppSettings["PremiumEmail"] = null; //--SETTINGS Settings.IsPremium = false; Settings.PremiumExpiryDate = null; MetroMessageBox.Show(mf, "Die eingegebenen Premium Email wurden nicht in der Server Datenbank gefunden!", "Premium Check Fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (status.Contains("402")) { Logger.Write("Premium Check Fehlgeschlagen - Grund: Premium Key not found on Server Database..."); //--SETTINGS ConfigurationManager.AppSettings["PremiumKey"] = null; //--SETTINGS Settings.IsPremium = false; Settings.PremiumExpiryDate = null; MetroMessageBox.Show(mf, "Der eingegebenen Premium Key wurden nicht in der Server Datenbank gefunden!", "Premium Check Fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { Logger.Write("Premium Check Fehlgeschlagen - Grund: " + ex.Message); if (!OSystem.IsAvailableNetworkActive()) { MetroMessageBox.Show(mf, "Besteht eine Internetverbindung?" + Environment.NewLine + "Bitte versuche es erneut oder Kontaktiere den Entwickler." + Environment.NewLine + Environment.NewLine + @"Fehlercode: " + ex.Message, "Premium Check Fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MetroMessageBox.Show(mf, "Bitte versuche es erneut oder Kontaktiere den Entwickler." + Environment.NewLine + Environment.NewLine + @"Fehlercode: " + ex.Message, "Premium Check Fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public static void CheckAutomatic() { Logger.Write("Premium Auto-Check..."); if (String.IsNullOrWhiteSpace(Settings.Get <string>("PremiumEmail")) || !new RegexUtilities().IsValidEmail(Settings.Get <string>("PremiumEmail"))) { if (String.IsNullOrWhiteSpace(Settings.Get <string>("PremiumEmail"))) { Logger.Write("Premium Check Fehlgeschlagen - Grund: Premium Email in der (Settings\\Settings.config) nicht vorhanden..."); } else if (!new RegexUtilities().IsValidEmail(Settings.Get <string>("PremiumEmail"))) { Logger.Write("Premium Check Fehlgeschlagen - Grund: Premium Email in der (Settings\\Settings.config) entspricht nicht dem Email Format..."); } //--SETTINGS ConfigurationManager.AppSettings["PremiumEmail"] = null; //--SETTINGS return; } if (String.IsNullOrWhiteSpace(Settings.Get <string>("PremiumKey"))) { if (String.IsNullOrWhiteSpace(Settings.Get <string>("PremiumKey"))) { Logger.Write("Premium Check Fehlgeschlagen - Grund: Premium Key in der (Settings\\Settings.config) nicht vorhanden..."); } //--SETTINGS ConfigurationManager.AppSettings["PremiumKey"] = null; //--SETTINGS return; } try { NameValueCollection parameters = new NameValueCollection { { "filter", "DealReminder" }, { "email", Crypto.HashMD5(Crypto.HashSHA512(Settings.Get <string>("PremiumEmail").ToLower())) }, { "key", Crypto.HashMD5(Crypto.HashSHA512(Settings.Get <string>("PremiumKey"))) } }; // Ignore Certificate validation failures (aka untrusted certificate + certificate chains) ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true; byte[] bArr = new BetterWebClient { Timeout = 10000 }.UploadValues("https://auth.speg-dev.de/DoPremiumCheck.php", "POST", parameters); var xmlDoc = Tools.GetXmlDocFromBytes(bArr); var status = xmlDoc.GetElementsByTagName("Status")[0].InnerText; if (status.Contains("200")) { DateTime myDate = DateTime.ParseExact(xmlDoc.GetElementsByTagName("ExpiryDate")[0].InnerText, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); if (DateTime.Now > myDate) { MessageBox.Show("Premium abgelaufen am: " + Convert.ToString(myDate, CultureInfo.CurrentCulture)); Logger.Write("Premium abgelaufen am: " + Convert.ToString(myDate, CultureInfo.CurrentCulture)); return; } Logger.Write("Premium Check erfolgreich..."); Logger.Write("Premium gültig bis: " + Convert.ToString(myDate, CultureInfo.CurrentCulture)); Settings.IsPremium = true; Settings.PremiumExpiryDate = myDate; return; } if (status.Contains("400")) { Logger.Write("Premium Check Fehlgeschlagen - Grund: Application not found..."); MessageBox.Show("Es gab einen Fehler beim Abfrage des Premium Status." + Environment.NewLine + "Bitte Kontaktiere den Entwickler." + Environment.NewLine + Environment.NewLine + @"Fehlercode: 400", "Premium Check Fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (status.Contains("401")) { Logger.Write("Premium Check Fehlgeschlagen - Grund: User not found on Server Database..."); //--SETTINGS ConfigurationManager.AppSettings["PremiumEmail"] = null; //--SETTINGS MessageBox.Show("Die eingegebenen Premium Email wurden nicht in der Server Datenbank gefunden!", "Premium Check Fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (status.Contains("402")) { Logger.Write("Premium Check Fehlgeschlagen - Grund: Premium Key not found on Server Database..."); //--SETTINGS ConfigurationManager.AppSettings["PremiumKey"] = null; //--SETTINGS MessageBox.Show("Der eingegebenen Premium Key wurden nicht in der Server Datenbank gefunden!", "Premium Check Fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { Logger.Write("Premium Check Fehlgeschlagen - Grund: " + ex.Message); if (!OSystem.IsAvailableNetworkActive()) { MessageBox.Show("Besteht eine Internetverbindung?" + Environment.NewLine + "Bitte versuche es erneut oder Kontaktiere den Entwickler." + Environment.NewLine + Environment.NewLine + @"Fehlercode: " + ex.Message, "Premium Check Fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show("Bitte versuche es erneut oder Kontaktiere den Entwickler." + Environment.NewLine + Environment.NewLine + @"Fehlercode: " + ex.Message, "Premium Check Fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
//--Crawler ENDE //--Einstellungen START private void metroCheckBox1_CheckedChanged(object sender, EventArgs e) { ConfigurationManager.AppSettings["StartWithWindows"] = Convert.ToString(metroCheckBox1.Checked); OSystem.RegisterInStartup(metroCheckBox1.Checked); }
public static void StartUpCheck() { Logger.Write("Überprüfe Settings Config Datei..."); CreateConfigFileIfNotExists(); Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); //Rename Entrys Dictionary <string, string> renameKeys = new Dictionary <string, string> { { "StartUp", "StartWithWindows" }, //Renamed V0.0.1.9 { "UseNew", "ScanNew" }, //Renamed V0.0.1.9 { "UseUsed", "ScanUsed" }, //Renamed V0.0.1.9 { "LoginCredits", "PremiumEmail" } //Renamed V0.0.1.9 }; foreach (var pair in renameKeys) { if (config.AppSettings.Settings[pair.Key] == null) { continue; } config.AppSettings.Settings.Add(pair.Value, config.AppSettings.Settings[pair.Key].Value); Logger.Write($"[UMBENANNT] Key: {pair.Key} in {pair.Value} - Value: " + config.AppSettings.Settings[pair.Value].Value); } //Delete Entrys List <string> deleteKeys = new List <string> { "StartUp", //Renamed V0.0.1.9 "UseNew", //Renamed V0.0.1.9 "UseUsed", //Renamed V0.0.1.9 "LoginCredits", //Renamed V0.0.1.9 "AutoLogin", //Removed V0.0.1.9 "SaveLoginCredits", //Removed V0.0.1.9 "UseNormalProxies" //Removed V2.0.14.6 }; foreach (string entry in deleteKeys) { if (config.AppSettings.Settings[entry] == null) { continue; } Logger.Write("[ENTFERNT] Key: " + entry + " - Value: " + config.AppSettings.Settings[entry].Value); config.AppSettings.Settings.Remove(entry); } //Check & Add Entrys Dictionary <string, string> settingsKeys = new Dictionary <string, string> { { "Debug", "False" }, { "StartWithWindows", "False" }, //Renamed V0.0.1.9 { "MinimizeToTray", "False" }, { "PremiumEmail", null }, { "PremiumKey", null }, { "ReminderEmail", null }, { "ReminderTelegram", null }, { "ShowOnlyDealConditions", "False" }, //Added V0.0.1.4 { "ScanNew", "True" }, //Added V0.0.1.7 //Renamed V0.0.1.9 { "ScanUsed", "True" }, //Added V0.0.1.7 //Renamed V0.0.1.9 { "SellerForNew", "Amazon" }, //Added V0.0.1.7 { "SellerForUsed", "Amazon" }, //Added V0.0.1.7 { "StartCrawlerAfterStartup", "False" }, //Added V0.0.1.9 { "StartMinimized", "False" }, //Added V0.0.1.9 { "RemindResendAfterMinutes", "60" }, //Added V0.0.1.11 { "UseTorProxies", "True" }, //Added V0.0.1.11 { "ProxyAlwaysActive", "False" }, //Added V0.0.1.11 { "ScanMethod", "0" }, //Added V0.0.1.11 { "DeleteOldLogsAfterDays", "7" } //Added V2.0.11.1 }; foreach (var pair in settingsKeys) { if (config.AppSettings.Settings[pair.Key] == null) { config.AppSettings.Settings.Add(pair.Key, pair.Value); Logger.Write("[HINZUGEFÜGT] Key: " + pair.Key + " - Value: " + pair.Value); } else { switch (pair.Key) { case "PremiumEmail": Logger.Write("[VORHANDEN] Key: " + pair.Key + " - Value: CENSORED"); break; case "PremiumKey": Logger.Write("[VORHANDEN] Key: " + pair.Key + " - Value: CENSORED"); break; case "ReminderEmail": Logger.Write("[VORHANDEN] Key: " + pair.Key + " - Value: CENSORED"); break; case "ReminderTelegram": Logger.Write("[VORHANDEN] Key: " + pair.Key + " - Value: CENSORED"); break; default: Logger.Write("[VORHANDEN] Key: " + pair.Key + " - Value: " + config.AppSettings.Settings[pair.Key].Value); break; } } } if (!OSystem.RegisterInStartupExists()) { config.AppSettings.Settings["StartWithWindows"].Value = Convert.ToString(OSystem.RegisterInStartupExists()); } //Evtl. else so das der StartUp Path in der RegEdit Aktualisiert wird. //Tools.RegisterInStartup(Convert.ToBoolean(config.AppSettings.Settings["StartUp"].Value)); config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); Logger.Write("Settings Config Überprüfung beendet..."); }