Captcha Detector

Deteksi CAPTCHA dan otomatis menekan tombol setelah muncul

// ==UserScript==
// @name         Captcha Detector
// @version      1.30
// @description  Deteksi CAPTCHA dan otomatis menekan tombol setelah muncul
// @include      https://*/game.php*
// @run-at       document-end
// @namespace    https://greatest.deepsurf.us/users/1388863
// ==/UserScript==

(function () {
    'use strict';

    function startCountdownAndRedirect(durationMinutes) {
        const countdownDiv = document.createElement('div');
        countdownDiv.style.position = 'fixed';
        countdownDiv.style.bottom = '20px';
        countdownDiv.style.right = '20px';
        countdownDiv.style.padding = '10px';
        countdownDiv.style.backgroundColor = 'rgba(0, 0, 0, 0.7)';
        countdownDiv.style.color = 'white';
        countdownDiv.style.fontSize = '14px';
        countdownDiv.style.borderRadius = '5px';
        countdownDiv.style.zIndex = 10000;
        document.body.appendChild(countdownDiv);

        let remainingTime = durationMinutes * 60;
        const interval = setInterval(() => {
            const minutes = Math.floor(remainingTime / 60);
            const seconds = remainingTime % 60;
            countdownDiv.textContent = `Redirecting in: ${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;
            remainingTime--;

            if (remainingTime < 0) {
                clearInterval(interval);
                document.body.removeChild(countdownDiv);
                window.location.href = window.location.href;
            }
        }, 1000);
    }

    function CaptchaDetection() {
        console.log("Mendeteksi Bot Check...");

        const captchaButton = document.querySelector('.btn.btn-default');

        if (captchaButton) {
            console.log("Bot check ditemukan.");

            const delay = Math.random() * 10 + 10;
            console.log(`Menunggu ${Math.floor(delay)} detik sebelum menekan tombol CAPTCHA.`);

            setTimeout(() => {
                captchaButton.click();
                console.log("Tombol CAPTCHA diklik.");
                startCountdownAndRedirect(Math.floor(Math.random() * 3) + 1); // 1-3 menit
            }, delay * 1000);
        } else {
            console.warn("Tombol CAPTCHA tidak ditemukan. Menunggu...");
            observeCaptcha(); // Jalankan observer jika belum ada CAPTCHA
        }
    }

    function observeCaptcha() {
        const observer = new MutationObserver(() => {
            const captchaButton = document.querySelector('.btn.btn-default');
            if (captchaButton) {
                console.log("Elemen CAPTCHA ditemukan, menjalankan CaptchaDetection...");
                observer.disconnect(); // Hentikan observer setelah CAPTCHA ditemukan
                CaptchaDetection();
            }
        });

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

    // Jalankan deteksi awal, jika tidak ada CAPTCHA, gunakan observer
    if (document.readyState === "complete") {
        CaptchaDetection();
    } else {
        window.addEventListener("load", CaptchaDetection);
    }

})();