# @extra/recaptcha

> A plugin for playwright & puppeteer to solve reCAPTCHAs and hCaptchas automatically.

Latest version **4.2.1-next.587** (published 2021-02-08) · MIT license · 0 weekly downloads

## Install

```sh
npm install @extra/recaptcha
pnpm add @extra/recaptcha
yarn add @extra/recaptcha
bun add @extra/recaptcha
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 4.2.1-next.587 |
| Published | 2021-02-08 |
| First published | 2021-02-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=9.11.2 |
| Dependencies | 2 |
| Unpacked size | 303.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 7398 |
| Author | berstend |
| Maintainers | berstend |
| Keywords | puppeteer, playwright, puppeteer-extra, playwright-extra, automation-extra, automation-extra-plugin, recaptcha, hcaptcha, captcha, 2captcha |

## Links

- npm: https://www.npmjs.com/package/@extra/recaptcha
- Repository: https://github.com/berstend/puppeteer-extra
- Homepage: https://github.com/berstend/puppeteer-extra/tree/master/packages/plugin-recaptcha
- Issues: https://github.com/berstend/puppeteer-extra/issues
- npm.io page: https://npm.io/package/@extra/recaptcha

## Dependencies (2)

- [debug](https://npm.io/package/debug.md) ^4.1.1
- [automation-extra-plugin](https://npm.io/package/automation-extra-plugin.md) ^4.2.1-next.587+03bcc08

## Alternatives

- [@snazzah/davey](https://npm.io/package/@snazzah/davey.md) — 1.5M weekly downloads
- [@vendure/testing](https://npm.io/package/@vendure/testing.md) — 8.3K weekly downloads
- [vue-simple-context-menu](https://npm.io/package/vue-simple-context-menu.md) — 6.6K weekly downloads
- [cypress-webpack-preprocessor-v5](https://npm.io/package/cypress-webpack-preprocessor-v5.md) — 2.1K weekly downloads
- [@backstage/plugin-catalog-backend-module-puppetdb](https://npm.io/package/@backstage/plugin-catalog-backend-module-puppetdb.md) — 1.3K weekly downloads

## Recent versions

- 4.2.1-next.587 (latest) — 2021-02-08
- 4.2.1-next.616 (next) — 2021-02-09
- 4.2.1-next.593 — 2021-02-08
- 4.2.1-next.590 — 2021-02-08
- 4.2.1-next.589 — 2021-02-08
- 4.2.1-next.588 — 2021-02-08

## README

# puppeteer-extra [![Downloads](https://img.shields.io/endpoint?style=social&url=https://runkit.io/fezvrasta/combined-npm-downloads/1.0.0?packages=puppeteer-extra,puppeteer-extra-plugin,puppeteer-extra-plugin-stealth,puppeteer-extra-plugin-recaptcha,puppeteer-extra-plugin-adblocker)](https://github.com/berstend/puppeteer-extra/)

This is the monorepo for [`puppeteer-extra`](./packages/puppeteer-extra), a modular plugin framework for [`puppeteer`](https://github.com/puppeteer/puppeteer). :-)

🌟 **For the main documentation, please head over to the [`puppeteer-extra`](./packages/puppeteer-extra) package.**

We've also recently introduced support for Playwright, if you're interested in that head over to [`playwright-extra`](./packages/playwright-extra).

## Monorepo

<details>
 <summary><strong>Contributing</strong></summary>

### Contributing

PRs and new plugins are welcome! The plugin API for `puppeteer-extra` is clean and fun to use. Have a look the [`PuppeteerExtraPlugin`](./packages/puppeteer-extra-plugin) base class documentation to get going and check out the [existing plugins](./packages/) (minimal example is the [anonymize-ua](./packages/puppeteer-extra-plugin-anonymize-ua/index.js) plugin) for reference.

We use a [monorepo](https://github.com/berstend/puppeteer-extra) powered by [Lerna](https://github.com/lerna/lerna#--use-workspaces) (and yarn workspaces), [ava](https://github.com/avajs/ava) for testing, the [standard](https://standardjs.com/) style for linting and [JSDoc](http://usejsdoc.org/about-getting-started.html) heavily to auto-generate markdown [documentation](https://github.com/documentationjs/documentation) based on code. :-)

</details>

<details>
 <summary><strong>Lerna</strong></summary>

### Lerna

This monorepo is powered by [Lerna](https://github.com/lerna/lerna) and yarn workspaces.

#### Initial setup

```bash
# Install deps
yarn

# Bootstrap the packages in the current Lerna repo.
# Installs all of their dependencies and links any cross-dependencies.
yarn bootstrap

# Build all TypeScript sources
yarn build
```

#### Development flow

```bash
# Install debug in all packages
yarn lerna add debug

# Install fs-extra to puppeteer-extra-plugin-user-data-dir
yarn lerna add fs-extra --scope=puppeteer-extra-plugin-user-data-dir

# Remove dependency
# https://github.com/lerna/lerna/issues/833
yarn lerna exec --concurrency 1 'yarn remove fs-extra; echo 0'

# Run test in all packages
yarn test

# Update JSDoc based documentation in markdown files
yarn docs

# Upgrade project wide deps like puppeteer
# (We keep the devDependency version blurry)
rm -rf node_modules
rm -rf yarn.lock
yarn
yarn lerna bootstrap

# Update deps within packages (interactive)
yarn lernaupdate

# If in doubt :-(
yarn lerna exec "rm -f yarn.lock; rm -rf node_modules; echo 0"
rm -f yarn.lock &&  rm -rf node_modules && yarn cache clean

# Run tests of specific package
cd packages/puppeteer-extra-plugin-stealth
yarn test

# Run tests of specific stealth evasion
cd packages/puppeteer-extra-plugin-stealth
yarn ava -v ./evasions/user-agent-override/index.test.js

# Test a local monorepo package in an outside folder as it would've been installed from the registry
# Change PACKAGE_DIR to the path of this monorepo and PACKAGE to the package you wish to install
PACKAGE=puppeteer-extra PACKAGE_DIR=/Users/foo/puppeteer-extra/packages && yarn remove $(echo $PACKAGE); true && rm -f $(pwd)/$(echo $PACKAGE)-latest.tgz && yarn --cwd $(echo $PACKAGE_DIR)/$(echo $PACKAGE) pack --filename $(pwd)/$(echo $PACKAGE)-latest.tgz && YARN_CACHE_FOLDER=/tmp/yarn yarn add file:$(pwd)/$(echo $PACKAGE)-latest.tgz && rm -rf /tmp/yarn
```

#### Publishing

```bash
# make sure you're signed into npm before publishing
# yarn publishing is broken so lerna uses npm
npm whoami

# ensure everything is up2date and peachy
yarn
yarn bootstrap
yarn lerna link
yarn build
yarn test

# Phew, let's publish these packages!
# - Will publish all changed packages
# - Will ask for new pkg version per package
# - Will updated inter-package dependency versions automatically
yarn lerna publish

# Fix new dependency version symlinks
yarn bootstrap && yarn lerna link
```

</details>

<br>
<p align="center">
  <img src="https://i.imgur.com/EuqiF5F.png"  height="240"  />
</p>

---
_Source: https://npm.io/package/@extra/recaptcha · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
