Example #1
0
        /// <summary>Gets a <see cref="CaptchaService"/> to be used for solving captcha challenges.</summary>
        public static CaptchaService GetService(SettingsCaptchas settings)
        {
            CaptchaService service;

            switch (settings.CurrentService)
            {
            case CaptchaServiceType.AntiCaptcha:
                service = new AntiCaptchaService(settings.AntiCapToken);
                break;

            case CaptchaServiceType.AzCaptcha:
                service = new AzCaptchaService(settings.AZCapToken);
                break;

            case CaptchaServiceType.CaptchasIO:
                service = new CaptchasIOService(settings.CIOToken);
                break;

            case CaptchaServiceType.CustomTwoCaptcha:
                service = new CustomTwoCaptchaService(settings.CustomTwoCapToken,
                                                      new Uri($"http://{settings.CustomTwoCapDomain}:{settings.CustomTwoCapPort}"));
                break;

            case CaptchaServiceType.DeathByCaptcha:
                service = new DeathByCaptchaService(settings.DBCUser, settings.DBCPass);
                break;

            case CaptchaServiceType.DeCaptcher:
                service = new DeCaptcherService(settings.DCUser, settings.DCPass);
                break;

            case CaptchaServiceType.ImageTyperz:
                service = new ImageTyperzService(settings.ImageTypToken);
                break;

            case CaptchaServiceType.CapMonster:
                service = new CapMonsterService(settings.CustomTwoCapToken,
                                                new Uri($"http://{settings.CustomTwoCapDomain}:{settings.CustomTwoCapPort}"));
                break;

            case CaptchaServiceType.RuCaptcha:
                service = new RuCaptchaService(settings.RuCapToken);
                break;

            case CaptchaServiceType.SolveCaptcha:
                service = new SolveCaptchaService(settings.SCToken);
                break;

            case CaptchaServiceType.SolveRecaptcha:
                service = new SolveRecaptchaService(settings.SRToken);
                break;

            case CaptchaServiceType.TrueCaptcha:
                service = new TrueCaptchaService(settings.TrueCapUser, settings.TrueCapToken);
                break;

            case CaptchaServiceType.TwoCaptcha:
                service = new TwoCaptchaService(settings.TwoCapToken);
                break;

            default:
                throw new NotSupportedException();
            }

            service.Timeout = TimeSpan.FromSeconds(settings.Timeout);
            return(service);
        }
 public TwoCaptchaFixture()
 {
     Service = new TwoCaptchaService(Config.Credentials.TwoCaptchaApiKey);
 }
Example #3
0
        public static async void Run(string[] args)
        {
            var           random = new TRandom();
            Configuration config;

            try
            {
                config = JsonConvert.DeserializeObject <Configuration>(File.ReadAllText(
                                                                           Directory.GetCurrentDirectory() + "/" +
                                                                           "config.json"));
            }
            catch (FileNotFoundException e)
            {
                Console.WriteLine("Please create a config.json file to continue.");
                throw;
            }
            Console.Write("Hello and welcome to ");
            Console.ForegroundColor = ConsoleColor.Magenta;
            Console.Write("Entropy!\n");
            Console.ForegroundColor = ConsoleColor.Gray;
            Console.WriteLine("How many accounts would you like to create today?");
            var acts = int.Parse(Console.ReadLine());

            Console.WriteLine($"This generation session will cost you about ${Math.Round(acts * 0.003, 2)} USD " +
                              $"(for {acts} accounts)");

            IProxyPool proxyPool;

            if (File.Exists($"{Directory.GetCurrentDirectory()}/{config.ProxyFile}"))
            {
                proxyPool = new StandardProxyPool(ProxyReader.ReadProxies(config.ProxyFile));
            }
            else
            {
                proxyPool = new GimmeProxyPool();
            }

            var captcha = new TwoCaptchaService(config.CaptchaKey);

            Console.WriteLine("OK! Let's go!");
            var tasks = new List <Task>();

            Status = "OK";
            UpdateStats();
            for (var i = acts - 1; i >= 0; i--)
            {
                tasks.Add(new Task(async() =>
                {
                    var proxy = proxyPool.NextProxy();
                    ActiveProxies++;
                    for (var x = 0; x < 5; x++)
                    {
                        var username = random.Choice(config.Usernames.Prefix) + random.Choice(config.Usernames.Root) +
                                       random.Choice(config.Usernames.Suffix);

                        var password = config.Password.UseStaticPassword ? config.Password.StaticPassword : String.Empty;

                        var ui = new AccountCreationOptions
                        {
                            CaptchaService = captcha,
                            Dob            = $"{random.Next(1970, 2000)}-{FormatPTCNumber(random.Next(1, 12))}-{FormatPTCNumber(random.Next(1, 27))}",
                            Proxy          = proxy.ToWebProxy(),
                            Username       = username,
                            Password       = password
                        };

                        var res = await Creator.Create(ui);

                        if (res.Successful)
                        {
                            Created++;
                            UpdateStats();
                            await Creator.HandleAccountAfterCreation(config, res);
                        }
                        else
                        {
                            Failed++;
                            UpdateStats();
                        }
                    }
                    BenchedProxies++;
                }));
            }

            // Go.
            await Task.WhenAll(tasks);
        }