/// <summary> /// Initializes a Captcha Service basing on its type and authentication credentials. /// </summary> /// <param name="cs">The Captcha Settings</param> /// <returns>The Captcha Service.</returns> public static CaptchaService Initialize(SettingsCaptchas cs) { switch (cs.CurrentService) { case ServiceType.ImageTypers: return(new ImageTyperz(cs.ImageTypToken, cs.Timeout)); case ServiceType.AntiCaptcha: return(new AntiCaptcha(cs.AntiCapToken, cs.Timeout)); case ServiceType.DBC: return(new DeathByCaptcha(cs.DBCUser, cs.DBCPass, cs.Timeout)); case ServiceType.TwoCaptcha: return(new TwoCaptcha(cs.TwoCapToken, cs.Timeout)); case ServiceType.RuCaptcha: return(new RuCaptcha(cs.RuCapToken, cs.Timeout)); case ServiceType.DeCaptcher: return(new DeCaptcher(cs.DCUser, cs.DCPass, cs.Timeout)); case ServiceType.AZCaptcha: return(new AZCaptcha(cs.AZCapToken, cs.Timeout)); case ServiceType.CaptchasIO: return(new CaptchasIO(cs.CIOToken, cs.Timeout)); case ServiceType.CustomTwoCaptcha: return(new CustomTwoCaptcha(cs.CustomTwoCapToken, cs.CustomTwoCapDomain, cs.CustomTwoCapPort, cs.Timeout)); default: throw new NotSupportedException("Service not supported"); } }
/// <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); }