Auto Unlock After CAPTCHA Solved

Automatically clicks "Unlock" after reCAPTCHA or hCaptcha is solved

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         Auto Unlock After CAPTCHA Solved
// @namespace    https://example.com/
// @version      1.1-clean
// @description  Automatically clicks "Unlock" after reCAPTCHA or hCaptcha is solved
// @author       KukuModZ
// @match        *://*/*
// @grant        none
// @license      MIT
// ==/UserScript==

'use strict';

(function () {

    console.log("[AutoUnlock] Script loaded... waiting for CAPTCHA solve.");

    // Click Unlock button
    function clickUnlock() {
        const btn = document.querySelector(
            'button.btn.btn-primary.btn-lg.waves-effect.waves-light[type="submit"]'
        );

        if (btn) {
            console.log("[AutoUnlock] CAPTCHA solved — clicking Unlock button...");
            btn.click();
        } else {
            console.log("[AutoUnlock] Unlock button not found.");
        }
    }

    // Detect solved CAPTCHA fields (reCAPTCHA or hCaptcha)
    function captchaSolved() {
        const recaptcha = document.querySelector('#g-recaptcha-response');
        const hcaptcha = document.querySelector('textarea[name="h-captcha-response"]');

        if (
            (recaptcha && recaptcha.value.trim().length > 0) ||
            (hcaptcha && hcaptcha.value.trim().length > 0)
        ) {
            clickUnlock();
            return true;
        }

        return false;
    }

    // Observe changes to detect when CAPTCHA is solved
    const observer = new MutationObserver(() => {
        if (captchaSolved()) {
            observer.disconnect();
        }
    });

    observer.observe(document.body, {
        childList: true,
        subtree: true,
        attributes: true
    });

    console.log("[AutoUnlock] Watching for CAPTCHA solve event...");

})();