Skip to content

Furry/2captcha

Repository files navigation

2captcha

Discord Banner 2

Discord Shield Size Downloads

A wrapper around the 2captcha API

Motive

2captcha is a service that solves many different types of captchas, this library serves as a wrapper around their API to bring easy, promise-based functionality to NodeJS. This libary specilizes in concurrent solves, and bulk-api usage.

Features

  • Promise based 2captcha solving
  • Browser & NodeJS Support
  • Uses node-fetch, a light weight http library
  • Fluent typings & TS support
  • Account Interaction
  • Invalid Captcha reporting
  • Proxy Support

Currently supports:

  • google-recaptcha (v2 / v3),
  • hcaptcha,
  • FunCaptcha,
  • base64 image captchas

Planned Features

  • Account Interaction
  • Base64 image support
  • Documentation Site
  • Built-in Rate-Limit handling
  • Proxy support
  • Invalid-Captcha reporting support
  • And many other things.

Install

npm install 2captcha
yarn add 2captcha

Usage

Recaptcha,

const Captcha = require("2captcha")

// A new 'solver' instance with our API key
const solver = new Captcha.Solver("<Your 2captcha api key>")

/* Example ReCaptcha Website */
solver.recaptcha("6Ld2sf4SAAAAAKSgzs0Q13IZhY02Pyo31S2jgOB5", "https://patrickhlauke.github.io/recaptcha/")

.then((res) => {
    console.log(res)
})
.catch((err) => {
    console.error(err.message)
})

Image,

const Captcha = require("2captcha")
const fs = require("fs")

const solver = new Captcha.Solver("<Your 2captcha api key>")

// Read from a file as base64 text
solver.imageCaptcha(fs.readFileSync("./captcha.png", "base64"))
.then((res) => {
    // Logs the image text
    console.log(res)
})
.catch((err) => {
    console.error(err.message)
})

Proxy,

const Captcha = require("2captcha")

const solver = new Captcha.Solver("<Your 2captcha api key>")


solver.recaptcha("6Ld2sf4SAAAAAKSgzs0Q13IZhY02Pyo31S2jgOB5", "https://patrickhlauke.github.io/recaptcha/", {
    proxy: "login:[email protected]", // The (Username : Password @ Address) of our chosen proxy
    proxytype: "HTTP" // The 'Type' of proxy, http, https, socks, ect.
})

.then((res) => {
    console.log(res)
})
.catch((err) => {
    console.error(err.message)
})

Commit Guidelines

The latest version of the code base will always be under the 'next' branch!

  • All pull requiests must provide a valid reason for the change or implementation
  • All CORE CHANGES require an issue with reasoning made before a PR will even be addressed.
  • All PR's must follow the general structure of the code base
  • If you have questions, feel free to make an issue and i'll get to it right away!

Buy Me A Coffee