Search packages, repositories and app categories

captcha_solver cover
Package detailsv1.0.4

captcha_solver

captcha_solver is a service used for solving different type of captcha (images with text, Recaptcha v2/v3 Enterprise/non-Enterprise, Funcaptcha Arcoselabs, GeeTest and hCaptcha )

AndroidiOSmacOSWindowsLinux
30-day downloads
55
Likes
30
Pub points
140

Install package

flutter pub add captcha_solver

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

The captcha_solver package is a Flutter/Dart service designed to automate the solving of various captcha types, including image-based text captchas, Recaptcha v2/v3 (Enterprise and non-Enterprise), Funcaptcha by Arcoselabs, GeeTest, and hCaptcha. It integrates seamlessly into cross-platform applications for Android, iOS, macOS, Windows, and Linux. The package simplifies bot protection bypass workflows by leveraging external services through a clean API interface. Ideal for testing, automation, or scenarios requiring automated captcha resolution, it supports multiple captcha providers with consistent handling across platforms.

Use cases

  • Automated testing of web forms
  • Bot-driven data scraping
  • User authentication bypass in development
  • Cross-platform captcha resolution
  • Streamlining automated workflows

Key features

  • Supports multiple captcha types
  • Cross-platform compatibility
  • Simple API integration
  • Real-time captcha solving
  • Secure token handling

Suitable for

  • Developers building automation tools
  • Test engineers needing captcha bypass
  • Applications requiring high-volume form submissions
  • Security researchers testing protections
  • Projects using multiple captcha providers

Considerations

  • Requires external service provider
  • May violate terms of service of some websites
  • Depends on third-party reliability
  • Not suitable for production security enforcement
  • Potential legal and ethical concerns

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

SCRAPTCHA.com

Captcha Solver

ScreenShot

To use the captcha solution you need to register on the resource and top up your balance - https://dashboard.scraptcha.com/fr/dashboard Documentation -https://scraptcha.com/documentation/

Features

Whether you need to autofill a large number of forms, for various purposes: web scraping, making unlimited edition purchases, performing repetitive tasks online, etc. But you quickly find yourself confronted with the CAPTCHAs resolution (which stands for Completely Automated Public Turing Test to tell Computers and Humans Apart) to prove that you are indeed a human and not a robot.

The solution to solve these CAPTCHAs and hijack them, but how? This is where CAPTCHas and reCAPTCHAs resolution services come in, such as scraptcha.com, which is an infallible, fast and efficient resolution service.

Getting started

You should ensure that you add the router as a dependency in your flutter project.

dependencies:
  captcha_solver: ^1.0.4

Usage

Image to Text

A normal CAPTCHA is an image containing distorted text that can only be read by humans. to solve this type of CAPTCHA the user is required to enter the text of the image. You can use imageMemoryToText() function for local images or imageLinkToText() for images from the site. YOUR_API_KEY : You can find the API key here ScreenShot

import 'package:captcha_solver/captcha_solver.dart';

void main() async {

  /// Initiate query Properties
  String apiKey = 'YOUR_API_KEY';
  String imageMemory = 'lib/captcha.jpg';
  String imageLink = 'https://api.vk.com/captcha.php?sid=1';
  /// Initiate CaptchaSolver
  CaptchaSolver captchaSolver = CaptchaSolver(apiKey);
  /// Example of the request
  Map inputs = {
    "clientKey": apiKey,
    "task": {
      "type": "ImageToTextTask",
      "body": imageMemory // or imageLink
    }
  };
  /// Get captcha solution
  Map response = await captchaSolver.imageMemoryToText(inputs); // Or imageLinkToText()
  print('response: $response');
  if(response['status']=='ready') {
    print(response['solution']['text']);
  }
}

reCAPTCHA v2

reCAPTCHA v2 requires the user to check the "I'm not a robot" box and can offer them an image recognition challenge. YOUR_WEBSITE_KEY : reCAPTCHA website key - for more details : https://scraptcha.com/documentation/ YOUR_API_KEY : You can find the API key here ScreenShot

import 'package:captcha_solver/captcha_solver.dart';

void main() async {
  /// Initiate query Properties
  String apiKey = 'YOUR_API_KEY';
  String websiteURL = 'http://mywebsite.com/recaptcha/test.php';
  String websiteKey = 'YOUR_WEBSITE_KEY';
  /// Initiate CaptchaSolver
  CaptchaSolver captchaSolver = CaptchaSolver(apiKey);
  /// Example of the request
  Map inputs = {
    "clientKey": apiKey,
    "task": {
      "type": "RecaptchaV2TaskProxyless",
      "websiteURL": websiteURL,
      "websiteKey": websiteKey,
      "isInvisible": false
    }
  };
  /// Get captcha solution
  Map response = await captchaSolver.recaptcha(inputs);
  print('response: $response');
  if(response['status']=='ready') {
    print(response['solution']['gRecaptchaResponse']);
  }
}


reCAPTCHA V3

reCAPTCHA v3 is somewhat similar to reCAPTCHA V2. reCAPTCHA V3 works in the background, does not require user interaction and generates a score based on user behavior. The higher the score, the more likely the user is human.

ScreenShot

import 'package:captcha_solver/captcha_solver.dart';

void main() async {

  /// Initiate query Properties
  String apiKey = 'YOUR_API_KEY';
  String websiteURL = 'http://mywebsite.com/recaptcha/test.php';
  String websiteKey = 'YOUR_WEBSITE_KEY';
 /// Initiate CaptchaSolver
  CaptchaSolver captchaSolver = CaptchaSolver(apiKey);
/// Example of the request
  Map inputs = {
  "clientKey": apiKey,
  "task": {
  "type": "RecaptchaV3TaskProxyless", // type of captcha
  "websiteURL": websiteURL,
  "websiteKey": websiteKey,
  "minScore": 0.3,
  "pageAction": "verify",
  "isEnterprise": false
  }
};
  /// Get captcha solution
  Map response = await captchaSolver.recaptcha(inputs);
  print('response: $response');
  if(response['status']=='ready') {
    print(response['solution']['gRecaptchaResponse']);
  }
}

FunCAPTCHA - Arkose Labs

This type of task solves the arkoselabs.com conundrum in our worker browsers. You submit the public key and the website address then you will receive a token when the task is completed. This is the token you will need to submit your forms with Arkoselabs captcha. ScreenShot


import 'package:captcha_solver/captcha_solver.dart';

void main() async {

  /// Initiate query Properties
  String apiKey = 'YOUR_API_KEY';
  String websiteURL = 'https://account.battle .net/creation/flow/creation-full';
  String websitePublicKey = 'YOUR_WEBSITE_KEY';
 /// Initiate CaptchaSolver
  CaptchaSolver captchaSolver = CaptchaSolver(apiKey);
/// Example of the request
  Map inputs = {
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "FunCaptchaTaskProxyless",
      "websitePublicKey": websitePublicKey,
      "websiteURL": websiteURL
  }
};
  /// Get captcha solution
  Map response = await captchaSolver.recaptcha(inputs);
  print('response: $response');
  if(response['status']=='ready') {
    print(response['solution']['token']);
  }
}

hCAPTCHA

HCAPTCHA is a most popular reCAPTCHA alternative. The properties of this task are the same as reCAPTCHA except for the type property. ScreenShot

import 'package:captcha_solver/captcha_solver.dart';

void main() async {
  /// Initiate query Properties
  String apiKey = 'YOUR_API_KEY';
  String websiteURL = 'https://hcaptcha.com/';
  String websiteKey = 'YOUR_WEBSITE_KEY';
  /// Initiate CaptchaSolver
  CaptchaSolver captchaSolver = CaptchaSolver(apiKey);
  /// Example of the request
  Map inputs = {
    "clientKey": apiKey,
    "task": {
      "type": "HCaptchaTaskProxyless",
      "websiteURL": websiteURL,
      "websiteKey": websiteKey,
  
    }
  };
  /// Get captcha solution
  Map response = await captchaSolver.recaptcha(inputs);
  print('response: $response');
  if(response['status']=='ready') {
    print(response['solution']['gRecaptchaResponse']);
  }
}


Additional information

Scraptcha uses two methods to solve its CAPTCHAs: A CAPTCHA solving service based on these humans: The service has hired human workers to solve CAPTCHAs, which are constantly online. When you submit your CAPTCHA, Scraptcha passes it on to the human workers who solve the text and send it back. OCR (optical character recognition) solutions In this method, captcha solving is done automatically using OCR technology.

for more information : https://scraptcha.com/documentation/

Categories

Dependencies

Dependency list 1 items

Source repository

Projects using this package

No data available yet.