Example #1
0
 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())
         {
         }
     }
 }
Example #2
0
        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;
                }
            }
        }
Example #3
0
        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);
                }
            }
        }
Example #4
0
        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);
                }
            }
        }
Example #5
0
        //--Crawler ENDE

        //--Einstellungen START
        private void metroCheckBox1_CheckedChanged(object sender, EventArgs e)
        {
            ConfigurationManager.AppSettings["StartWithWindows"] = Convert.ToString(metroCheckBox1.Checked);
            OSystem.RegisterInStartup(metroCheckBox1.Checked);
        }
Example #6
0
        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...");
        }