GithubHelp home page GithubHelp logo

bestcaptchasolver / bestcaptchasolver-ruby Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 55 KB

bestcaptchasolver-javascript is a super easy to use bypass captcha ruby API wrapper for bestcaptchasolver.com captcha service

Home Page: https://bestcaptchasolver.com

License: Other

Ruby 100.00%
bestcaptchasolver captcha bypasscaptcha decaptcher decaptcha 2captcha deathbycaptcha anticaptcha google-recaptcha-solver recaptcha-v2-captcha-solver

bestcaptchasolver-ruby's Introduction

bestcaptchasolver - Bestcaptchasolver ruby client API library

bestcaptchasolver-ruby is a super easy to use bypass captcha nodeJS API wrapper for bestcaptchasolver.com captcha service

Installation

git clone https://github.com/bestcaptchasolver/bestcaptchasolver-ruby

Usage

Set access token, and initiate a new Bestcaptchasolver class instance

load "lib/bestcaptchasolver.rb"
bcs = Bestcaptchasolver.new(access_token)

Get balance

balance = bcs.account_balance        

Submit image captcha

The submission of image captcha is done by sending us the image as a b64 encoded string. Optional parameters such as is_case and is_math are also available

d = 
{
  'b64image': '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',
   # 'is_case': true,              # is case sensitive, defaults: false, optional
   # 'is_phrase': true,            # has at least one space, defaults: false, optional
   # 'is_math': true,              # math captcha calculation, defaults: false, optional
   # 'alphanumeric': 1,            # 1 - digits only, 2 - letters only, optional
   # 'minlength': 2,               # minimum text length, optional
   # 'maxlength': 5,               # maximum text length, optional
   # 'affiliate_id': 'ID of affiliate'   # optional
}
id = bcs.submit_captcha d

Method returns an ID which is then used to get the text after captcha was solved by our workers

Submit reCAPTCHA

The page_url and site_key are the only requirements. There are other optional parameters though.

d = {}
d['page_url'] = 'bestcaptchasolver.com'
d['site_key'] = '6LfGJmcUAAAAALGtIb_FxC0LXm_GwOLyJAfbbUCN'
# reCAPTCHA type(s) - optional, defaults to 1
# 1 - v2
# 2 - invisible
# 3 - v3
# 4 - enterprise v2
# 5 - enterprise v3
# d['type'] = 1
# d['v3_min_score'] = 0.3          # min score to target when solving v3 - optional
# d['v3_action'] = 'homepage'      # action to use when solving v3 - optional
# d['domain'] = 'www.google.com'   # domain used in loading recaptcha interface, can be also: recaptcha.net - optional
# d['data_s'] = 'recaptcha data-s parameter used in loading reCAPTCHA' # - optional
# d['cookie_input'] = 'a=b;c=d'    # used in solving of reCAPTCHA - optional
# d['proxy'] = '126.45.34.53:123'  # - HTTP proxy - optional
# d['user_agent'] = 'Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0' # optional
# d['affiliate_id'] = 'ID of affiliate'   # optional
id = bcs.submit_recaptcha d

Just like the image submission method, this method also returns an ID, which is then used to get the gresponse

Geetest

  • domain
  • gt
  • challenge
  • api_server (optional)
  • user_agent (optional)
  • proxy (optional)
d = {}
d['domain'] = 'DOMAIN_HERE'
d['gt'] = 'GT_HERE'
d['challenge'] = 'CHALLENGE_HERE'
# d['api_server'] = 'GT_DOMAIN_HERE'           # optional
# d['user_agent'] = 'your user agent'          # optional
# d['proxy'] = 'user:[email protected]:3031'   # optional
# d['affiliate_id'] = 'ID of affiliate'        # optional
id = bcs.submit_geetest d

Use id of captcha to retrieve solution for GeeTest

GeetestV4

  • domain
  • captchaid
  • user_agent (optional)
  • proxy (optional)

Important: This is not the captchaid that's in our system that you receive while submitting a captcha. Gather this from HTML source of page with geetestv4 captcha, inside the <script> tag you'll find a link that looks like this: https://i.imgur.com/XcZd47y.png

d = {}
d['domain'] = 'https://example.com'
d['captchaid'] = '647f5ed2ed8acb4be36784e01556bb71'
# d['user_agent'] = 'your user agent'          # optional
# d['proxy'] = 'user:[email protected]:3031'   # optional
# d['affiliate_id'] = 'ID of affiliate'        # optional
id = bcs.submit_geetest_v4 d

Use captcha_id received from service to retrieve solution for geetestv4

Capy

  • page_url
  • site_key
  • user_agent (optional)
  • proxy (optional)
d = {}
d['page_url'] = 'PAGE_URL_HERE'
d['site_key'] = 'SITE_KEY_HERE'
# d['user_agent'] = 'your user agent'         # optional
# d['proxy'] = 'user:[email protected]:3031'  # optional
# d['affiliate_id'] = 'ID of affiliate'       # optional
id = bcs.submit_capy d

Use id of captcha to retrieve solution for Capy

hCaptcha

  • page_url
  • site_key
  • invisible (optional)
  • payload, for enterprise (optional)
  • domain (optional)
  • user_agent (optional)
  • proxy (optional)
d = {}
d['page_url'] = 'PAGE_URL_HERE'
d['site_key'] = 'SITE_KEY_HERE'
# d['invisible'] = true
# d['payload'] = {'rqdata': 'taken from web requests'}
# d['domain'] = 'hcaptcha.com'                 # domain used in loading hcaptcha interface, default: challenges.cloudflare.com - optional
# d['user_agent'] = 'your user agent'          # optional
# d['proxy'] = 'user:[email protected]:3031'   # optional
# d['affiliate_id'] = 'ID of affiliate'        # optional
id = bcs.submit_hcaptcha d

FunCaptcha (Arkose Labs)

  • page_url
  • site_key
  • data (optional)
  • user_agent (optional)
  • proxy (optional)
  d = {}
d['page_url'] = 'https://abc.com'
d['s_url'] = 'https://api.arkoselabs.com'
d['site_key'] = '11111111-1111-1111-1111-111111111111'
# d['data'] = '{"x":"y"}' # optional, extra JSON data used in loading
# d['user_agent'] = 'your user agent'         # optional
# d['proxy'] = 'user:[email protected]:3031'  # optional
# d['affiliate_id'] = 'ID of affiliate'       # optional
id = bcs.submit_funcaptcha d

Turnstile (Cloudflare)

  • page_url
  • site_key
  • action (optional)
  • cdata (optional)
  • domain (optional)
  • user_agent (optional)
  • proxy (optional)
d = {}
d['page_url'] = 'PAGE_URL_HERE'
d['site_key'] = 'SITE_KEY_HERE'
# d['action'] = 'taken from page source'      # optional
# d['cdata'] = 'taken from page source'       # optional
# d['domain'] = 'challenges.cloudflare.com'   # optional
# d['user_agent'] = 'your user agent'         # optional
# d['proxy'] = 'user:[email protected]:3031'  # optional
# d['affiliate_id'] = 'ID of affiliate'       # optional
id = bcs.submit_turnstile d

Task

  • tmeplate_name
  • page_url
  • variables
  • user_agent (optional)
  • proxy (optional)
d = {
    'template_name': 'Login test page',
    'page_url': 'https://bestcaptchasolver.com/automation/login',
    'variables': {"username": "xyz", "password": "0000"},
    # 'user_agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0',    # optional
    # 'proxy': '126.45.34.53:345',   # or joe:[email protected]:123 - optional
    # 'affiliate_id': 'ID of affiliate'   # optional
}
id = bcs.submit_task d

Task pushVariables

Update task variables while it is being solved by the worker. Useful when dealing with data / variables, of which value you don't know, only after a certain step or action of the task. For example, in websites that require 2 factor authentication code.

When the task (while running on workers machine) is getting to an action defined in the template, that requires a variable, but variable was not set with the task submission, it will wait until the variable is updated through push.

The bcs.task_push_variables(captcha_id, push_variables) method can be used as many times as it is needed.

bcs.task_push_variables(id, {"tfa_code": "1532"})

Retrieve

Retrieval is done by passing the ID for all captchas submitted

puts "Gresponse: %s" % [bcs.retrieve(id)['gresponse']]      # recaptcha
puts "Text: %s" % [bcs.retrieve(id)['text']]                # image
puts "Solution: %s" % [bcs.retrieve(id)['solution']]        # geetest, capy, task

This method returns an object, with the text attribute for image captcha or gresponse if submission was done for reCAPTCHA

reCAPTCHA submitted with proxy, get proxy status

puts "Proxy status: %s" % [ita.retrieve(id)['proxy_status']]

Set captcha bad

puts bcs.set_captcha_bad id

Examples

Check the example.rb

License

API library is licensed under the MIT License

More information

More info about the API parameters can be found here

captcha, bypasscaptcha, decaptcher, decaptcha, 2captcha, deathbycaptcha, anticaptcha, bypassrecaptchav2, bypassnocaptcharecaptcha, bypassinvisiblerecaptcha, captchaservicesforrecaptchav2, recaptchav2captchasolver, googlerecaptchasolver, recaptchasolverpython, recaptchabypassscript

bestcaptchasolver-ruby's People

Contributors

bestcaptchasolver avatar imagetyperz-api avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

recaptchasolver

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.