Socket
Socket
Sign inDemoInstall

anticaptcha

Package Overview
Dependencies
3
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    anticaptcha

A modern wrapper around AntiCaptcha API.


Version published
Maintainers
1
Install size
488 kB
Created

Readme

Source

AntiCaptcha

Modern NodeJS API wrapper for Anticaptcha service

Anticaptcha Logo


This library is a NodeJS wrapper that expose an modern API in order to exploit the https://anti-captcha.com/ service.

Please keep in mind that this is a work in progress and it only supports certain tasks types. Pull requests welcome!

Documentation

Install using either yarn add anticaptcha or npm i anticaptcha.

For the example, we will use the nice feature that are ES7 Async Function this will make the syntax more concise, but feel free to use good old Promises.

Caution : Keep in mind that real people are working behind the network to break the hash. This can lead to some delay depending on the service charge's load, therefore you might require to set a greater timeout for your calls if you're using this through an REST API.

// main.js
import {
  AntiCaptcha,
  AntiCaptchaError,
  ErrorTypes,
  INoCaptchaTaskProxyless,
  INoCaptchaTaskProxylessResult,
  QueueTypes,
  TaskTypes
} from "anticaptcha";

// Registering the API Client.
const AntiCaptchaAPI = new AntiCaptcha("<your_client_ID>"); // You can pass true as second argument to enable debug logs.

const mainProcess = async () => {
  try {
    // Checking the account balance before creating a task. This is a conveniance method.
    if (!(await AntiCaptchaAPI.isBalanceGreaterThan(10))) {
      // You can dispatch a warning using mailer or do whatever.
      console.warn("Take care, you're running low on money !");
    }

    // Get service stats
    const stats = await this.getQueueStats(QueueTypes.RECAPTCHA_PROXYLESS);

    // Creating nocaptcha proxyless task
    const taskId = await AntiCaptchaAPI.createTask<INoCaptchaTaskProxyless>({
      type: TaskTypes.NOCAPTCHA_PROXYLESS,
      websiteKey: "7Lfh5tkSBBBFGBGN56s8fAVds_Fl-HP0xQGNGFDK", // Some key from website
      websiteURL: "http://www.some-site.com" // Some URL from website
    });

    // Waiting for resolution and do something
    const response = await AntiCaptchaAPI.getTaskResult<
      INoCaptchaTaskProxylessResult
    >(taskId);

    console.log(`Response Code: ${response.solution.gRecaptchaResponse}`);
  } catch (e) {
    if (
      e instanceof AntiCaptchaError &&
      e.code === ErrorCodes.ERROR_IP_BLOCKED
    ) {
      // do something...
    }
  }
};

When calling createTask or getTaskResult you'll need to specify the task type. Check the TypeScript definition file that are given. This will give you nice view of the object properties. The following tasks are currently supported (other types are defined at: https://anticaptcha.atlassian.net/wiki/spaces/API/pages/5079084/Captcha+Task+Types):

  • IImageToTextTask (result type IImageToTextTaskResult)
  • INoCaptchaTaskProxyless (result type INoCaptchaTaskProxylessResult)
  • IRecaptchaV3TaskProxyless (result type IRecaptchaV3TaskProxylessResult)
{
  status: "ready" | "processing";
  solution: T;
  cost: number;
  ip: string;
  createTime: number;
  endTime: number;
  /**
   * Number of workers who tried to complete your task
   *
   * @type {number}
   * @memberof IGetTaskResponse
   */
  solveCount: number;
}

FAQs

Last updated on 21 Jun 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc