Solve reCAPTCHA challenges by using offline speech recognition.

Overview

reCAPTCHA Solver

Solve reCAPTCHA challenges by using offline speech recognition.

It can be very useful when you want to do E2E tests with your application protected by reCAPTCHA.

Requirements:

  • ffmpeg installed

Features:

  • Offline: A pretrained small model is included.
  • Fast: Solve each challenge in less than 3 seconds.
  • Accurate: Over 95% accuracy.
  • Auto-retry: If the challenge is not solved, it will retry it.
  • Supports reCAPTCHA v2 and v3 (invisible).

Install

npm i recaptcha-solver

It will automatically download a 40 MB acoustic model which will be used to solve the challenges.

The model is from https://alphacephei.com/vosk/models (Apache 2.0).

Example

Checkout example/index.mjs!

import { chromium } from "playwright-core";
import { solve } from "recaptcha-solver";

const EXAMPLE_PAGE = "https://www.google.com/recaptcha/api2/demo";

main();

async function main() {
    const browser = await chromium.launch({ headless: false });
    const page = await browser.newPage();
    await page.goto(EXAMPLE_PAGE);

    console.time("solve reCAPTCHA");
    await solve(page);
    console.log("solved!");
    console.timeEnd("solve reCAPTCHA");

    await page.click("#recaptcha-demo-submit");

    page.on("close", async () => {
        await browser.close();
        process.exit(0);
    });
}
❯ node example/index.mjs
solved!
solve reCAPTCHA: 4.285s

With VERBOSE environment variable:

❯ VERBOSE=1 node example/index.mjs
[reCAPTCHA solver] bframe loaded: false
[reCAPTCHA solver] invisible: false
[reCAPTCHA solver] action required: true
[reCAPTCHA solver] [Mutex] init locked
[reCAPTCHA solver] [Mutex] ready waiting
[reCAPTCHA solver] [Mutex] get sound unlocked
[reCAPTCHA solver] [Mutex] ready locked
[reCAPTCHA solver] reconized: for their start urine
[reCAPTCHA solver] [Mutex] done waiting
[reCAPTCHA solver] [Mutex] verified unlocked
[reCAPTCHA solver] [Mutex] done locked
[reCAPTCHA solver] passed: true
solved!
solve reCAPTCHA: 4.072s

Demo

demo.mp4 (23s)

demo.mp4
You might also like...

💀 A bare-minimum solution to solve CORS problem via proxy API

💀 CORS Hijacker A bare-minimum solution to solve CORS problem via proxy API Base URL https://cors-hijacker.vercel.app/ Get Get Basic HTML Endpoint: $

Nov 4, 2022

Collection of browser challenges

🔥 CTF browser challenges 🔥 Collection of browser challenges Challenge CTF Difficulty Baby WASM RITSEC CTF 2021 ⭐ Kit Engine picoCTF 2021 ⭐ oob-v8 *C

Dec 15, 2022

A collection of coding challenges from interviews and websites

coding-challenges All of these folders are challenges that I've make for interviews and from tutorials, now I'll enumerate the ones that are from inte

Jul 13, 2022

Hand gesture recognition with React.js, Tensorflow.js and Fingerpose

Hand gesture recognition with React.js, Tensorflow.js and Fingerpose

Dec 7, 2022

Use your web inspector to hack your way through a series of challenges.

hacker-challenge Use your inspector to hack your way through a series of challenges. Made for those who are new to the inspector. A web inspector is a

Jun 17, 2022

Social media platform that hosts community-driven challenges where everyone can play and compete

Social media platform that hosts community-driven challenges where everyone can play and compete

Komo A social media platform that hosts community-driven challenges where everyone can play and compete. How To Install Komo TBA Preview Home Screen A

Jun 13, 2022

Create a new challenge for jshero.platzi.com, share your experience creating amazing challenges.

JSHero - jshero.platzi.com 💻 Create a new challenge for jshero.platzi.com, share your experience creating amazing challenges. Create a new challenge:

Oct 19, 2022

Create a new challenge for jshero.platzi.com, share your experience creating amazing challenges.

JSHero - jshero.platzi.com 💻 Create a new challenge for jshero.platzi.com, share your experience creating amazing challenges. Create a new challenge:

Apr 27, 2022

The official challenges and deployment source code files used in San Diego CTF 2022.

SDCTF 2022 Here is the challenge and infrastructure files of San Diego CTF 2022. Challenge files include source code that implement the challenge idea

Dec 8, 2022
Comments
  • no such file or directory for wav file

    no such file or directory for wav file

    Hello,

    after I tried to solve the reCaptcha, then I got this message

    [Error: ENOENT: no such file or directory, open '/var/folders/5k/103mnjwx2rncp6btbvlt5z980000gn/T/reSOLVER-9454634224111578/out.wav'] { errno: -2, code: 'ENOENT', syscall: 'open', path: '/var/folders/5k/103mnjwx2rncp6btbvlt5z980000gn/T/reSOLVER-9454634224111578/out.wav', name: 'ENOENTError' }

    and I found there's a sound.mp3 file at that path, but not the Wav file.

    thanks for this awesome library.

    opened by vancelin 1
  • Configure Renovate

    Configure Renovate

    Mend Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • package.json (npm)

    Configuration

    🔡 Renovate has detected a custom config for this PR. Feel free to ask for help if you have any doubts and would like it reviewed.

    Important: Now that this branch is edited, Renovate can't rebase it from the base branch any more. If you make changes to the base branch that could impact this onboarding PR, please merge them manually.

    What to Expect

    With your current configuration, Renovate will create 4 Pull Requests:

    chore(deps): update dependency typedoc to ^0.23.0
    • Schedule: ["at any time"]
    • Branch name: renovate/typedoc-0.x
    • Merge into: main
    • Upgrade typedoc to ^0.23.0
    chore(deps): update dependency @​types/node to v18
    • Schedule: ["at any time"]
    • Branch name: renovate/node-18.x
    • Merge into: main
    • Upgrade @types/node to ^18.0.0
    chore(deps): update dependency tsup to v6
    • Schedule: ["at any time"]
    • Branch name: renovate/tsup-6.x
    • Merge into: main
    • Upgrade tsup to ^6.0.0
    chore(deps): update jest monorepo to v29 (major)
    • Schedule: ["at any time"]
    • Branch name: renovate/major-jest-monorepo
    • Merge into: main
    • Upgrade @types/jest to ^29.0.0
    • Upgrade jest to ^29.0.0
    • Upgrade ts-jest to ^29.0.0

    🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or spam the project. See docs for prhourlylimit for details.


    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
Owner
JacobLinCool
Freshman @ NTNU CSIE
JacobLinCool
A facial recognition/detection app with Angular using Microsoft's Face API

Deja-Vu Overview Deja-Vu is a client side application generated with Angular CLI version 13. The core function of this application is to detect, recog

Wali Ullah 3 Jul 30, 2022
An application to map out game reserves using aerial photography, intelligent image stitching and AI driven recognition focus.

Map Out Game Reserves Using Aerial Photographs An application to map out game reserves using aerial photography, intelligent image stitching and AI dr

COS 301 - 2022 4 Sep 29, 2022
JSNation 2022 - Building a Solar System using Hand Recognition and Three.js

Building a Solar System using Hand Recognition and Three.js ?? Accompanying code for JSNation 2022 talk. Demo video here: https://www.youtube.com/watc

Liad Yosef 16 Dec 14, 2022
A showcase of problems once hard or impossible to solve with CSS alone, now made trivially easy with Flexbox.

Solved by Flexbox A showcase of problems once hard or impossible to solve with CSS alone, now made trivially easy with Flexbox. View Site Viewing the

Philip Walton 13k Jan 2, 2023
Placebo, a beautiful new language agnostic diagnostics printer! It won't solve your problems, but you will feel better about them.

Placebo A beautiful new language agnostic diagnostics printer! ┌─[./README.md] │ > 1 │ What is Placebo? · ───┬──── ·

Robin Malfait 78 Dec 16, 2022
Use real-time computing technology and web technology to build a big data Kanban l to solve the problem. Among them, practical technologies include MySQL, Kafka, Flink, Redis, Flask and Echarts

实时计算(English Version) 运用实时计算技术、Web 技术构建一个大数据看板来解决问题。其中实用技术包括Mysql、Kafka、Flink、Redis、Flask和Echarts 目录 1.问题需求 2.方案分析 3.安装环境 4.环境启动命令和运行代码的方法 5.代码目录结构说明

Serendipity 2 Jan 8, 2022
A string of four operations of the library, can solve the js digital calculation accuracy of scientific notation and formatting problems, support for thousands of decimal point formatting output operations

A string of four operations of the library, can solve the js digital calculation accuracy of scientific notation and formatting problems, support for thousands of decimal point formatting output operations

null 10 Apr 6, 2022
Solve travel woes and grow networks!

RouteBuddies Solve travel woes and grow networks! You can be guaranteed an easy, comfortable and safe journey, while getting to interact with variety

null 5 May 26, 2022
100 Days of Code is a self improvement tool, where you make a commitment to solve 1 coding problem everyday for the next 100 days.

100 Days of Code is a self-improvement tool, where you make a commitment to solve 1 coding problem everyday for the next 100 days. This repository includes a range of tasks, lessons, resources, and challenges on various programming languages to help improve programming skills.

Tarleton Computer Society 7 Dec 14, 2022
A place to view, solve, and run common coding puzzles

coding-puzzlers A place to view, solve, and run common coding puzzles. Getting Started Clone git clone https://github.com/eallen10/coding-puzzlers.git

null 2 Sep 5, 2022