/captcha-solver

Library and CLI for automating captcha verification across multiple providers.

Primary LanguageJavaScript

captcha-solver

Library and CLI for automating captcha verification across multiple providers.

NPM Build Status JavaScript Style Guide

Nocaptcha Recaptcha

Status

This project is fully functional both as a library and CLI. We currently only support one captcha-solver-provider, powered by anti-captcha.

Packages

Usage

  Usage: index [options] [command]

  Options:

    -V, --version                       output the version number
    -k, --key <string>                  API key for provider
    -i, --image <path>                  Path or url of image to solve
    -t, --type <string>                 Type of captcha to solve (default: image-to-text)
    -u, --website-url <url>             Website URL for nocaptcha, recaptcha, and funcaptcha
    -K, --website-key <string>          Recaptcha website key
    -S, --website-s-token <token>       Optional secret token for old version of Recaptcha
    --website-public-key <string>       Funcaptcha public key
    --proxy-type <string>               Type of proxy to use
    --proxy-address <string>            Proxy IP address ipv4/ipv6
    --proxy-port <number>               Proxy port
    --proxy-login <string>              Optional login for proxy which requires authorizaiton (basic)
    --proxy-password <string>           Optional proxy password
    -U, --user-agent <string>           Browser's User-Agent which is used in emulation.
    -C, --cookies <string>              Optional additional cookies.
    -P, --provider <provider>           Provider to use (default: anti-captcha)
    -h, --help                          output usage information

  Commands:

    create-task
    get-task-result [options] <taskId>
    solve [options]

API

Table of Contents

Main entrypoint for solving captchas.

Type: function (provider, opts)

  • provider (string | CaptchaSolverProvider) Name of built-in provider or an instance of a custom provider to use for solving.
  • opts (optional, default {})

Provider powering this solver.

Type: CaptchaSolverProvider


Creates a new captcha solving task.

Valid values for opts.type are:

  • image-to-text
  • recaptcha
  • recaptcha-proxyless
  • nocaptcha
  • nocaptcha-proxyless
  • funcaptcha
  • funcaptcha-proxyless

Note that not all providers support all captcha types. See provider.supportedTaskTypes for a Set containing all task types a given provider supports.

Note that most of these options will be unused depending on the task type.

Type: function (opts)

  • opts object Options
    • opts.type string Type of captcha to solve
    • opts.image (buffer | string)? Path, URL, or buffer of an image to process
    • opts.websiteURL string? Website URL for nocaptcha, recaptcha, and funcaptcha
    • opts.websiteKey string? Recaptcha website key
    • opts.websiteSToken string? Secret token for old versions of Recaptcha
    • opts.websitePublicKey string? Funcaptcha public key
    • opts.proxyType string? Proxy type (http/socks4/socks5)
    • opts.proxyAddress string? Proxy IP address (ipv4/ipv6)
    • opts.proxyPort (string | number)? Proxy port
    • opts.proxyLogin string? Proxy login for basic auth
    • opts.proxyPassword string? Proxy password
    • opts.userAgent string? Browser's User-Agent to emulate
    • opts.cookies string? Additional cookies to emulate

Fetches the result of a previously created captcha solving task.

Type: function (taskId, opts)

  • taskId string Unique task identifier
  • opts object? Options (optional, default {})
    • opts.retries number Number of retries to perform (optional, default 3)
    • opts.timeout number Max timeout to wait in ms before aborting (optional, default 30000)

Related

Disclaimer

Using this software to violate the terms and conditions of any third-party service is strictly against the intent of this software. By using this software, you are acknowledging this fact and absolving the author or any potential liability or wrongdoing it may cause. This software is meant for testing and experimental purposes only, so please act responsibly.

License

MIT © Travis Fischer

Support my OSS work by following me on twitter twitter