Greasy Fork is available in English.
https://freebitco.in/?r=1393623
当前为
// ==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=1393623
// @description https://voidkiller1.github.io/CriptoVoid/
// @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);
})();