I'm currently searching for a better TFJS model as it seems the coco-ssd model thats currently being used is struggling with hCaptchas images more frequently as they are now blurred a little. If you have any suggestions please create a new issue with the TFJS recommendation template so I can take a look. Thanks!
Most recent updates to the code can be found on the typescript branch.
A library to solve hcaptcha challenges that are automated within puppeteer. You can automatically set response values where they should be so the only thing left for you is submitting the page or you can get the response token. Average response time is rougly 13 - 20 seconds with TensorFlow's Image Recognition.
npm i puppeteer-hcaptcha
await hcaptcha(page);
page
<Page> - Puppeteer Page Instanceawait hcaptchaToken(url);
url
<string> - URL of page with captcha on it// Require puppeteer extra and puppeteer stealth
const puppeteer = require("puppeteer-extra");
const pluginStealth = require("puppeteer-extra-plugin-stealth");
// Require our hcaptcha method
const { hcaptcha } = require("puppeteer-hcaptcha");
// Tell puppeteer to use puppeteer stealth
puppeteer.use(pluginStealth());
(async () => {
// Instantiate a new browser object
// Ignore errors associated to https
// Can be headless but for example sake we want to show the browser
// Set your desired arguments for your puppeteer browser
const browser = await puppeteer.launch({
ignoreHTTPSErrors: true,
headless: false,
args: [
`--window-size=600,1000`,
"--window-position=000,000",
"--disable-dev-shm-usage",
"--no-sandbox",
'--user-data-dir="/tmp/chromium"',
"--disable-web-security",
"--disable-features=site-per-process",
],
});
// Get browser pages
const [page] = await browser.pages();
// Send page to your url
await page.goto("URL OF PAGE WITH CAPTCHA ON IT");
// Remove the page's default timeout function
await page.setDefaultNavigationTimeout(0);
// Call hcaptcha method passing in our page
await hcaptcha(page);
// Your page is ready to submit.
// Captcha solving should be the last function on your page so we
// don't have to worry about the response token expiring.
/**
* Example:
* await page.click("loginDiv > loginBtn");
*/
})();
// Require our hcaptchaToken method
const { hcaptchaToken } = require("puppeteer-hcaptcha");
(async () => {
// Create Start Time
const startTime = Date.now();
// Call hcaptchaToken method passing in your url
let token = await hcaptchaToken("URL OF PAGE WITH CAPTCHA ON IT");
// Get End Time
const endTime = Date.now();
// Log timed result to console
console.log(`Completed in ${(endTime - startTime) / 1000} seconds`);
// P0_eyJ0eXAiOiJ...
console.log(token);
})();
newassets
subdomain. Thanks to mikedidomizio for making the changes (#65)solveCaptcha
function from merged PRPromise.All
which seems to have drastically improved speeds solving #23useragents.json
file couldn't be foundg-recaptcha-response
as hCaptcha no longer requires thisMade changes to requests based on changes hCaptcha made. Added list of User Agents so that they are randomized on request (seems to speed up response time generally)
Fixed issue finding useragents file
I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
Stems from TensorFlow. Not entirely sure how to fix this but it doesn't impact the solver.