reCAPTCHA Helper

This automatically clicks or executes on any reCAPTCHA on the webpage and submits its form directly after you solved it.

Verze ze dne 26. 01. 2018. Zobrazit nejnovější verzi.

// ==UserScript==
// @name         reCAPTCHA Helper
// @icon         https://www.gstatic.com/recaptcha/admin/favicon.ico
// @version      1.1.0
// @description  This automatically clicks or executes on any reCAPTCHA on the webpage and submits its form directly after you solved it.
// @author       Royalgamer06
// @include      *
// @grant        none
// @run-at       document-start
// @namespace    https://greasyfork.org/scripts/18449-recaptcha-form-autosubmit/
// @homepageURL  https://greasyfork.org/scripts/18449-recaptcha-form-autosubmit/
// @supportURL   https://greasyfork.org/scripts/18449-recaptcha-form-autosubmit/feedback/
// ==/UserScript==

// ==Configuration==
const blacklistedUrls = [
    "miped.ru",
    "www.indiegala",
    "https://gleam.io/"
];
// ==/Configuration==

// ==Code==
var url = window.location !== window.parent.location ? document.referrer : document.location.href;
if (!isBlackListed(url)) {
    if (location.href.includes("google.com/recaptcha")) {
        var clickCheck = setInterval(function() {
            if (document.querySelectorAll(".recaptcha-checkbox-checkmark").length > 0) {
                clearInterval(clickCheck);
                document.querySelector(".recaptcha-checkbox-checkmark").click();
            }
        }, 100);
    } else {
        window.onload = readyToHelp;
    }
}

function readyToHelp() {
    try {
        grecaptcha.execute();
    } catch(e) {}
    [...document.forms].forEach(form => {
        if (form.innerHTML.includes("google.com/recaptcha")) {
            var solveCheck = setInterval(function() {
                if (grecaptcha.getResponse().length > 0) {
                    clearInterval(solveCheck);
                    form.submit();
                }
            }, 100);
        }
    });
}

function isBlackListed(url) {
    return blacklistedUrls.filter(bu => url.includes(bu)).length > 0;
}
// ==/Code==