auto-captcha-solver
Version:
Automatically detect and solve various captcha types in Playwright & Puppeteer with 2Captcha/CapMonster Cloud integration
74 lines (73 loc) • 1.91 kB
TypeScript
export type CaptchaType = 'Image To Text' | 'reCAPTCHA v2' | 'reCAPTCHA v2 Invisible' | 'reCAPTCHA v3' | 'hCaptcha' | 'Cloudflare Turnstile' | 'Cloudflare CAPTCHA' | 'reCAPTCHA Enterprise' | 'Text Captcha' | 'GeeTest Captcha' | 'GeeTest V4 Captcha' | 'KeyCaptcha' | 'MTCaptcha' | 'Lemin CAPTCHA';
export type CaptchaData = {
type: CaptchaType;
siteKey?: string | null;
gt?: string;
challenge?: string;
captchaId?: string;
riskType?: string;
userId?: string;
sessionId?: string;
sign?: string;
sign2?: string;
};
export type CaptchaAnswer = {
status?: number;
data?: string;
id?: string;
gRecaptchaResponse?: string;
token?: string;
respKey?: string;
};
export interface CaptchaResponse {
success: boolean;
message: string;
}
export type TaskData = {
type?: string;
websiteURL?: string;
gt?: string;
version?: number | string;
initParameters?: {
riskType?: string;
};
body?: string;
websiteKey?: string;
minScore?: number;
pageAction?: string;
capMonsterModule?: string;
case?: boolean;
numeric?: number;
math?: boolean;
textLanguage?: string;
recognizingThreshold?: number;
};
export type TaskResult = {
captcha_id?: string;
lot_number?: string;
pass_token?: string;
gen_time?: string;
captcha_output?: string;
gRecaptchaResponse?: string;
token?: string;
text?: string;
};
export type CaptchaInfo = {
providers: Array<{
name: 'capmonster' | '2captcha';
apiKey: string;
}>;
apiKey: string;
captchaType?: CaptchaType;
textSelector?: string;
imageSelector?: string;
inputSelector?: string;
textLanguage?: string;
module?: string;
caseSensitive?: boolean;
numericCount?: number;
threshold?: number;
math?: boolean;
minLength?: number;
maxLength?: number;
};