Greasy Fork

来自缓存

Greasy Fork is available in English.

Void Coin (No Capt AutoROLL)

https://freebitco.in/?r=966336

当前为 2024-06-02 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @version      1.2
// @match        https://*/recaptcha/*
// @match        https://*.hcaptcha.com/*hcaptcha-challenge*
// @match        https://*.hcaptcha.com/*checkbox*
// @match        https://*.hcaptcha.com/*captcha*
// @grant        none
// @license MIT
// @name         Void Coin (No Capt AutoROLL)
// @namespace    http://greasyfork.icu/en/users/1295753-sr-fox
// @description  https://freebitco.in/?r=966336
// @author       Sr.Fox
// @match        https://freebitco.in/*
// ==/UserScript==

function qSelector(selector) {
    return document.querySelector(selector);
}

function isHidden(el) {
    return (el.offsetParent === null);
}

(function() {
    'use strict';

    var domain = (window.location != window.parent.location) ? document.referrer.toString() : document.location.toString();
    // excluding domains
    if (
        domain.indexOf('example.com') == -1 &&
        domain.indexOf('PartOfUrlName') == -1 &&
        domain.indexOf('paypal.com') == -1
    ) {
        // HCAPTCHA SECTION
        const HC_PAUSE = "3000"; // ms to open (3000ms = 5sec)
        const HC_CHECK_BOX = "#checkbox";
        const HC_ARIA_CHECKED = "aria-checked";

        if (window.location.href.includes("checkbox")) {
            var hc_checkboxInterval = setInterval(function() {
                if (!qSelector(HC_CHECK_BOX)) {
                } else if (qSelector(HC_CHECK_BOX).getAttribute(HC_ARIA_CHECKED) == "true") {
                    clearInterval(hc_checkboxInterval);
                    console.log("HC SOLVED");
                } else if (!isHidden(qSelector(HC_CHECK_BOX)) && qSelector(HC_CHECK_BOX).getAttribute(HC_ARIA_CHECKED) == "false") {
                    qSelector(HC_CHECK_BOX).click();
                    clearInterval(hc_checkboxInterval);
                    console.log("HC OPEN BOX");
                } else {
                    return;
                }
            }, HC_PAUSE);
        }

        // RECAPTCHA SECTION
        const RC_PAUSE = "3000"; // ms to open (3000ms = 5sec)
        const CHECK_BOX = ".recaptcha-checkbox-border";
        const RECAPTCHA_STATUS = "#recaptcha-accessible-status";
        const DOSCAPTCHA = ".rc-doscaptcha-body";

        var rc_checkboxInterval = setTimeout(function() {
            var solved = false;
            var checkBoxClicked = false;
            var requestCount = 0;

            var recaptchaInitialStatus = qSelector(RECAPTCHA_STATUS) ? qSelector(RECAPTCHA_STATUS).innerText : "";
            function isHidden(el) {
                return (el.offsetParent === null);
            }
            try {
                if (!checkBoxClicked && qSelector(CHECK_BOX) && !isHidden(qSelector(CHECK_BOX))) {
                    qSelector(CHECK_BOX).click();
                    checkBoxClicked = true;
                    console.log("RC OPEN BOX");
                }
                // Check if the captcha is solved
                if (qSelector(RECAPTCHA_STATUS) && (qSelector(RECAPTCHA_STATUS).innerText != recaptchaInitialStatus)) {
                    solved = true;
                    console.log("RC SOLVED");
                }
                if (requestCount > 1) {
                    console.log("Attempted Max Retries. Stopping the solver");
                    solved = true;
                }
                // Stop solving when Automated queries message is shown
                if (qSelector(DOSCAPTCHA) && qSelector(DOSCAPTCHA).innerText.length > 0) {
                    console.log("Automated Queries Detected");
                }
            } catch (err) {
                console.log(err.message);
                console.log("An error occurred while solving. Stopping the solver.");
            }
        }, RC_PAUSE);

        // Nova função para verificar se o CAPTCHA foi resolvido
        function checkCaptchaAndRoll() {
            setTimeout(function() {
                if (qSelector(RECAPTCHA_STATUS) && qSelector(RECAPTCHA_STATUS).innerText.includes("solved")) {
                    // CAPTCHA resolvido, rolar após 5 segundos
                    console.log("CAPTCHA resolvido, rolando após 5 segundos...");
                    setTimeout(function() {
                        $('#free_play_form_button').click();
                        console.log("Status: ROLL.");
                    }, 5000);
                } else {
                    // CAPTCHA não resolvido, clicar no botão play_with_captcha_button
                    console.log("CAPTCHA não resolvido, clicando no botão play_with_captcha_button...");
                    qSelector("#play_with_captcha_button").click();
                    setTimeout(function() {
                        $('#free_play_form_button').click();
                        console.log("Status: ROLL após clicar em play_with_captcha_button.");
                    }, 3000);
                }
            }, 5000);
        }

        // Chamar a função checkCaptchaAndRoll após tentar resolver o CAPTCHA
        checkCaptchaAndRoll();
    } else {
        console.log(domain + " EXCLUDED!");
    }
})();

(function() {
    'use strict';

    $(document).ready(function() {
        console.log("Status: Pagina carregada.");

        setTimeout(function() {
            $('#free_play_form_button').click();
            console.log("Status: ROLL.");
        }, 8000);
    });

    function random(min, max) {
        return min + (max - min) * Math.random();
    }

    // Recarrega a página a cada 5 minutos (300000 ms)
    setInterval(function() {
        location.reload();
        console.log("Status: Atualizado.");
    }, 300000);
})();