maass78.UsefulExtensions
1.2.6
dotnet add package maass78.UsefulExtensions --version 1.2.6
NuGet\Install-Package maass78.UsefulExtensions -Version 1.2.6
<PackageReference Include="maass78.UsefulExtensions" Version="1.2.6" />
paket add maass78.UsefulExtensions --version 1.2.6
#r "nuget: maass78.UsefulExtensions, 1.2.6"
// Install maass78.UsefulExtensions as a Cake Addin #addin nuget:?package=maass78.UsefulExtensions&version=1.2.6 // Install maass78.UsefulExtensions as a Cake Tool #tool nuget:?package=maass78.UsefulExtensions&version=1.2.6
UsefulExtensions
Библиотека, позволяющая очень просто выполнять действия, часто необходимые в создании чекеров/регеров и прочего софта для автоматизации каких-либо процессов на сайтах.
Возможности
- Решение капчи через сервисы RuCaptcha и AntiCaptcha
- Интерфейс взаимодействия с сервисами смс-активации (smshub, sms-activate, 5sim, vak-sms)
- Парс аккаунтов из строки, из файла (формат
login:password
илиlogin;password
) - Парс проксей из строки, из файла, по ссылке на список прокси (формат
ip:port:login:password
) - Генератор случайных строк с возможностью переопределения словаря
- Генератор случайных User-Agent от декстоп браузеров Chrome, Firefox, Opera
- Перечисление списка объектов по порядку для многопотока
Примеры
Капча
Предположим, мы решаем капчу на сайте https://www.google.com/recaptcha/api2/demo. Вид капчи на сайте - google reCaptcha V2. Для начала определяем решатель капчи. Сделать это можно двумя способами:
ICaptchaSolver rucaptchaSolver = new RucapthcaSolver("ваш апи ключ на сервисе");
ICaptchaSolver anticapthcaSolver = new AntiCaptchaSolver("ваш апи ключ на сервисе");
или
CaptchaSolverType rucaptchaType = CaptchaSolverType.Rucaptcha;
ICaptchaSolver rucaptchaSolver = rucaptchaType.GetCaptchaSolverByType("ваш апи ключ на сервисе");
CaptchaSolverType anticapthcaType = CaptchaSolverType.AntiCaptcha;
ICaptchaSolver anticapthcaSolver = anticapthcaSolver.GetCaptchaSolverByType("ваш апи ключ на сервисе");
Второй способ удобно использовать при работе с визуальным интерфейсом (в WPF/WinForms элемент ComboBox)
Теперь непосредственно решим капчу:
ICaptchaSolver rucaptchaSolver = new RucapthcaSolver("ваш апи ключ на сервисе");
string gRecaptchaResponse = rucaptchaSolver.SolveRecaptchaV2("6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-", "https://www.google.com/recaptcha/api2/demo", false);
Подробное описание по параметрам методов можно посмотреть в подсказках к ним. Также это хорошо описано в документации к api рукапчи
Сервисы смс-активации
Определяем один из сервисов:
ISmsActivator smsHubActivator = new SmsHubActivator("ваш апи ключ на сервисе");
ISmsActivator sim5activator = new Sim5Activator("ваш апи ключ на сервисе");
ISmsActivator smsActivateRuActivator = new SmsActivateRuActivator("ваш апи ключ на сервисе");
ISmsActivator vakSmsComActivator = new VakSmsComActivator("ваш апи ключ на сервисе");
или
SmsActivatorType activatorType = SmsActivatorType.SmsHub;
ISmsActivator smsHubActivator = activatorType.GetSmsActivatorByType("ваш апи ключ на сервисе");
//с остальными сервисами делаем по аналогии
Второй способ, так же как и с решением капчи, удобно использовать при работе с визуальным интерфейсом.
Берем номер в аренду и ждем смс:
var number = smsHubActivator.GetNumber("ot");
Console.WriteLine(number.PhoneNumber); // или любая другая логика взаимодействия с полученным номером
var status = smsHubActivator.GetStatus(number.Id);
while(status.StatusEnum == StatusEnum.StatusWaitCode)
{
status = smsHubActivator.GetStatus(number.Id);
Thread.Sleep(5000);
}
Console.WriteLine(status.SmsCode); // или любая другая логика взаимодействия с полученным кодом
Генератор случайных User-Agent
Сгенерировать случайный User-Agent от браузеров Chrome, Firefox, Opera, основываясь на их популярности:
string randomUserAgent = RandomUserAgentGenerator.GenerateRandomUserAgent();
Сгенерировать случайный User-Agent от браузеров Chrome, Firefox, Opera соответственно:
string randomChromeUserAgent = RandomUserAgentGenerator.GenerateChromeUserAgent();
string randomOperaUserAgent = RandomUserAgentGenerator.GenerateOperaUserAgent();
string randomFirefoxUserAgent = RandomUserAgentGenerator.GenerateFirefoxUserAgent();
Генератор случайных строк
Для начала создадим новый экземляр класса RandomStringGenerator
. При необходимости, переопределим словарь или воспользуемся уже готовыми:
var randomStringGenerator = new RandomStringGenerator(); // в этом строка будет генерироваться из символов латинского алфавита нижнего регистра и цифр
var randomStringGeneratorWithYourDictionary = new RandomStringGenerator("abcdef"); // в этом случае строка будет генерироваться из символов a, b, c, d, e, f
var numbersGenerator = RandomStringGenerator.NumbersGenerator; // в этом случае строка будет генерироваться только из цифр
Теперь сгенерируем случайную строку, указав необходимую длину:
string randomString = randomStringGenerator.Generate(10); // будет сгенерирована строка длиной в 10 символов
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Neq.BouncyCastle.Portable (>= 2.1.0)
- Newtonsoft.Json (>= 13.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
1.2.6 | 99 | 8/31/2024 | |
1.2.5 | 135 | 3/29/2024 | |
1.2.4 | 126 | 3/28/2024 | |
1.2.2 | 108 | 2/26/2024 | |
1.2.1 | 271 | 11/12/2023 | |
1.2.0 | 113 | 11/12/2023 | |
1.1.9 | 149 | 10/25/2023 | |
1.1.8 | 132 | 10/14/2023 | |
1.1.7 | 132 | 10/8/2023 | |
1.1.6 | 132 | 10/7/2023 | |
1.1.5 | 125 | 9/6/2023 | |
1.1.4 | 562 | 6/30/2022 | |
1.1.3 | 416 | 6/18/2022 | |
1.1.2 | 407 | 6/18/2022 | |
1.1.1 | 406 | 6/17/2022 | |
1.1.0 | 459 | 3/31/2022 | |
1.0.9 | 572 | 12/6/2021 | |
1.0.8 | 801 | 12/1/2021 | |
1.0.7 | 348 | 10/6/2021 | |
1.0.6 | 337 | 10/1/2021 | |
1.0.5 | 364 | 9/10/2021 | |
1.0.4 | 335 | 8/8/2021 | |
1.0.3 | 378 | 7/18/2021 | |
1.0.2 | 335 | 7/15/2021 | |
1.0.1 | 346 | 7/15/2021 | |
1.0.0 | 408 | 7/12/2021 |