public static bool CheckProxy(ProxyClient proxyClient) { try { using (HttpRequest request = new HttpRequest()) { request.UserAgent = GetUserAgent.get(); request.EnableEncodingContent = true; request.Proxy = proxyClient; request.Get(ProxyCheckLink); if (request.Response != null) { return(true); } } } catch {}; return(false); }
public bool DataValidation() { try { if (!Directory.Exists("out")) { Directory.CreateDirectory("out"); } if (!Directory.Exists("in")) { Directory.CreateDirectory("in"); } if (!Directory.Exists("out/regger")) { Directory.CreateDirectory("out/regger"); } if (!Directory.Exists("out/accounts")) { Directory.CreateDirectory("out/accounts"); } if (!Directory.Exists("out/spamer")) { Directory.CreateDirectory("out/spamer"); } if (!Directory.Exists("out/cookies")) { Directory.CreateDirectory("out/cookies"); } if (MinPauseNumeric.Value >= MaxPauseNumeric.Value) { MessageBox.Show("Максимальная пауза между запросами не может быть больше либо равняться Минимальной!"); return(false); } if (MinPauseRegistrationNumeric.Value >= MaxPauseRegistrationNumeric.Value) { MessageBox.Show("Максимальная пауза между регистрациями не может быть больше либо равняться Минимальной!"); return(false); } if (CountThreadNumeric.Value <= 0) { MessageBox.Show("Количество потоков не может быть меньше либо равнятся нулю!"); return(false); } if (OperatingModeBox.Text == "Регистратор") { if (CountThreadNumeric.Value > CountAccountNumeric.Value) { MessageBox.Show("Количество потоков не может быть больше количества регистрируемых аккаунтов!"); return(false); } } else { if (CountThreadNumeric.Value > Account.Count) { MessageBox.Show("Количество потоков не может быть больше количества аккаунтов!"); return(false); } } if (!GetUserAgent.FillInUserAgents(UserAgentFileBox.Text, BuiltInUserAgents.Checked)) { return(false); } if (!GetProxy.FillInProxy(ProxyFilePathBox.Text, ProxySourceBox.Text, ProxyModeBox.Text, TypeOfProxyBox.Text, ProxyCheckLinkBox.Text)) { return(false); } if (!CheckBalanceCaptcha()) { return(false); } if (!GetNameSurnamePassword.FillInData(NameSurnameBox.Text, PasswordGenerateCheckBox.Checked, PasswordFileBox.Text)) { return(false); } if (!GetSmsReg.FillInSettings(CountrySmsRegBox.Text, ServiceSmsRegBox.Text, APIKeySmsRegBox.Text)) { return(false); } // Очистки лога, и запуск таймера. LogBox.Text = ""; Controller.isAliveTimer = true; stopwatch.Restart(); timer1.Enabled = true; // Обнуление статистики регистрации SaveData.UsedRegistration = 0; SaveData.GoodRegistration = 0; SaveData.InvalidRegistration = 0; WorkWithAccount.minPause = (int)MinPauseNumeric.Value; WorkWithAccount.maxPause = (int)MaxPauseNumeric.Value; WorkWithAccount.minPauseRegistration = (int)MinPauseRegistrationNumeric.Value * 60000; WorkWithAccount.maxPauseRegistration = (int)MaxPauseRegistrationNumeric.Value * 60000; WorkWithAccount.countRequest = (int)CountRequestNumeric.Value; WorkWithAccount.OperatingMode = OperatingModeBox.Text; Controller.countThread = (int)CountThreadNumeric.Value; WorkWithAccount.CountAccountForRegistration = (int)CountAccountNumeric.Value; } catch (Exception exception) { MessageBox.Show(exception.Message); } return(true); }
public static void RegistrationAccount() { try { string Password, UserAgent, NameSurname; string proxyLog = ""; ProxyClient proxyClient; while (true) { SaveData.WriteToLog($"System", "Попытка получить номер"); (string tzid, string number)number = GetSmsReg.GetNumber(); #region Выдача аккаунтов lock (locker) { if (SaveData.UsedRegistration < CountAccountForRegistration) { (string NameSurname, string Password)DataForRegistration = GetNameSurnamePassword.Get(); if (String.IsNullOrEmpty(DataForRegistration.NameSurname) || String.IsNullOrEmpty(DataForRegistration.Password) || string.IsNullOrEmpty(number.number)) { continue; } NameSurname = DataForRegistration.NameSurname; Password = DataForRegistration.Password; SaveData.UsedRegistration++; SaveData.SaveAccount($"{number.number}:{Password}", SaveData.ProcessedRegistrationList); } else { break; } UserAgent = GetUserAgent.get(); proxyClient = GetProxy.get(); proxyLog = proxyClient == null ? "" : $";{proxyClient.ToString()}"; } #endregion #region Вызов метода регистрации, и проверка результата SaveData.WriteToLog($"{number.number}:{Password}", "Попытка зарегестрировать аккаунт"); (Status status, CookieStorage cookie)Data; for (int i = 0; i < countRequest; i++) { Data = GoRegistrationAccount(NameSurname, number, Password, UserAgent, proxyClient); switch (Data.status) { case Status.True: SaveData.GoodRegistration++; SaveData.WriteToLog($"{number.number}:{Password}", "Аккаунт успешно зарегестрирован"); SaveData.SaveAccount($"{number.number}:{Password}{proxyLog}|{UserAgent}", SaveData.GoodRegistrationList); Data.cookie.SaveToFile($"out/cookies/{number.number}.jar", true); break; case Status.False: SaveData.InvalidRegistration++; SaveData.WriteToLog($"{number.number}:{Password}", "Аккаунт не зарегестрирован"); SaveData.SaveAccount($"{number.number}:{Password}{proxyLog}|{UserAgent}", SaveData.InvalidRegistrationList); break; default: SaveData.WriteToLog($"{number.number}:{Password}", "Неизвестная ошибка, повторяем."); UserAgent = GetUserAgent.get(); proxyClient = GetProxy.get(); continue; } break; } int sleep = rand.Next(minPauseRegistration, maxPauseRegistration); SaveData.WriteToLog($"System", $"Засыпаем на {sleep/60000} минут"); Thread.Sleep(sleep); #endregion } } catch (Exception exception) { MessageBox.Show(exception.Message); } }