2captcha-rucaptcha

Simple 2captcha and rucaptcha API wrapper for Node.js

Usage no npm install needed!

<script type="module">
  import captchaRucaptcha from 'https://cdn.skypack.dev/2captcha-rucaptcha';
</script>

README

Simple 2captcha and rucaptcha API wrapper for Node.js

npm version coverage build

The package is written in TypeScript and currently only supports base64 images.

Instalation

NPM:

npm i 2captcha-rucaptcha --save

Yarn:

yarn add 2captcha-rucaptcha

Usage

All examples are on the github.

Upload image to rucaptcha

const { Captcha } = require("2captcha-rucaptcha");
const fs = require("fs");

const captcha = new Captcha({
  type: 1,
  key: "<YOUR_API_KEY>"
});

const base64 = fs.readFileSync("base64.txt", "utf-8");
captcha
  .solve({ method: "base64", body: base64 })
  .then(result => {
    console.log(result);
  })
  .catch(e => {
    console.log(e);
  });

Upload image to 2captcha

const { Captcha } = require("2captcha-rucaptcha");
const fs = require("fs");

const captcha = new Captcha({
  type: 2,
  key: "<YOUR_API_KEY>"
});

const base64 = fs.readFileSync("base64.txt", "utf-8");
captcha
  .solve({ method: "base64", body: base64 })
  .then(result => {
    console.log(result);
  })
  .catch(e => {
    console.log(e);
  });

Available options to create an instance

Name Required Description
type + 1 - rucaptcha
2 - 2captcha
key + Your API key
delay - Delay before receiving a captcha recognition response in seconds
Default - 3s

Available options solve()

Name Required Description
method + post (multipart form) or base64 (image base64 encode)
phrase - 0 - captcha contains one word
1 - captcha contains two or more words
regsense - 0 - captcha in not case sensitive
1 - captcha is case sensitive
numeric - 0 - not specified
1 - captcha contains only numbers
2 - captcha contains only letters
3 - captcha contains only numbers OR only letters
4 - captcha contains both numbers AND letters
calc - 0 - not specified
1 - captcha requires calculation (e.g. type the result 4 + 8 = )
min_len - 0 - not specified
1..20 - minimal number of symbols in captcha
max_len - 0 - not specified
1..20 - maximal number of symbols in captcha
language - 0 - not specified
1 - Cyrillic captcha
2 - Latin captcha.
lang - ru, en and etc.
textinstructions - Text will be shown to worker to help him to solve the captcha correctly.
imginstructions - BASE64
Image will be shown to worker to help him to solve the captcha correctly.
pingback - URL for pingback (callback) response that will be sent when captcha is solved.
URL should be registered on the server.
header_acao - 0 - disabled
1 - enabled.
If enabled in.php will include Access-Control-Allow-Origin:* header in the response.
Used for cross-domain AJAX requests in web applications.
softId - ID of software developer

Report bad and good

To report a failed or successful captcha solution, you need to use the following methods:

bad(id)
good(id)

Example:

solution = await captcha.solve({ method: "base64", body: base64, lang: "en", numeric: 1 });
if (ok) captcha.good(captcha.id);
else captcha.bad(captcha.id);

Proxy

Passed to the solve() along with the options above.

Name Description
proxy Format for IP authentication: IP_address:PORT
Example: proxy=123.123.123.123:3128
Format for login/password authentication: login:password@IP_address:PORT
Example: proxy=proxyuser:strongPassword@123.123.123.123:3128
proxytype Type of your proxy: HTTP, HTTPS, SOCKS4, SOCKS5.