Faucet claim
当前为
// ==UserScript==
// @name faucetcrypto.net
// @namespace http://tampermonkey.net/
// @version 1.1
// @description Faucet claim
// @author Gysof
// @match https://faucetcrypto.net/*
// @icon https://faucetcrypto.net/assets/images/logo.png
// @grant none
// ==/UserScript==
// Register here - https://faucetcrypto.net/?r=26109
// You will need hcaptcha solver - https://chromewebstore.google.com/detail/captcha-solver-auto-hcapt/hlifkpholllijblknnmbfagnkjneagid
// You will need AB Links Solver - I recommend mbsolver
// Editar email e pass linha 21 - 22
(async function() {
'use strict';
// Editar o email e a senha
const email = 'Your@Email'; // Substitua com seu email
const senha = 'YourPassword'; // Substitua com sua senha
const redirecionarPagina = () => {
const url = window.location.href;
if (url === 'https://faucetcrypto.net/' || url === 'https://faucetcrypto.net/#hero') {
window.location.href = 'https://faucetcrypto.net/login';
} else if (url === 'https://faucetcrypto.net/dashboard') {
window.location.href = 'https://faucetcrypto.net/faucet';
}
};
function esperarPaginaCarregar(callback) {
if (document.readyState === 'complete') {
callback();
} else {
window.addEventListener('load', callback);
}
}
const esperarElemento = async (seletor) => {
while (!document.querySelector(seletor)) {
await new Promise(resolve => requestAnimationFrame(resolve));
}
return document.querySelector(seletor);
};
const esperarConclusaoHcaptcha = async () => {
while (!(grecaptcha && grecaptcha.getResponse().length > 0)) {
await new Promise(resolve => setTimeout(resolve, 100));
}
};
const verificarHcaptcha = async () => {
while (!(grecaptcha && grecaptcha.getResponse().length > 0)) {
await new Promise(resolve => setTimeout(resolve, 100));
}
console.log("hcaptcha concluído.");
};
const verificarAntibotlinks = () => {
const valorAntibotlinks = document.getElementById('antibotlinks').value.replace(/\s/g, '');
return valorAntibotlinks.length === 12;
};
const clicarBotaoReivindicar = () => {
const botaoReivindicar = document.querySelector('button.btn.btn-primary.btn-lg.claim-button');
if (botaoReivindicar) {
botaoReivindicar.click();
console.log("Botão 'claim' clicado.");
} else {
console.log("Botão 'claim' não encontrado.");
}
};
const lidarPaginaFaucet = async () => {
await new Promise(resolve => setTimeout(resolve, 3000));
await verificarHcaptcha();
setInterval(function() {
if (verificarAntibotlinks()) {
clicarBotaoReivindicar();
}
}, 3000);
};
const esperarBotaoLogin = async () => {
let tentativas = 0;
const maxTentativas = 30;
const intervalo = 1000;
const detectarBotao = async () => {
const botaoLogin = document.querySelector('button.btn.btn-primary.btn-block.waves-effect.waves-light');
if (botaoLogin) {
botaoLogin.click();
console.log("Botão de login encontrado e clicado.");
} else {
tentativas++;
if (tentativas < maxTentativas) {
console.log("Tentativa " + tentativas + ": Botão de login não encontrado. Tentando novamente em " + intervalo + "ms...");
setTimeout(detectarBotao, intervalo);
} else {
console.log("Limite de tentativas excedido. O botão de login não pôde ser encontrado.");
}
}
};
await detectarBotao();
};
const preencherCampos = async () => {
const [campoEmail, campoSenha] = await Promise.all([esperarElemento('#email'), esperarElemento('#password')]);
if (campoEmail && campoSenha) {
campoEmail.value = email;
campoSenha.value = senha;
await esperarConclusaoHcaptcha();
await esperarBotaoLogin();
}
};
const lidarPaginaFirewall = async () => {
await verificarHcaptcha();
const botaoUnlock = document.querySelector('.btn.btn-primary.w-md');
if (botaoUnlock) {
botaoUnlock.click();
console.log("Botão 'Unlock' clicado.");
} else {
console.log("Botão 'Unlock' não encontrado.");
}
};
const executarScript = async () => {
redirecionarPagina();
if (window.location.href.includes('https://faucetcrypto.net/login')) {
await preencherCampos();
} else if (window.location.href.includes('https://faucetcrypto.net/faucet')) {
await lidarPaginaFaucet();
} else if (window.location.href.includes('https://faucetcrypto.net/firewall')) {
await lidarPaginaFirewall();
}
};
esperarPaginaCarregar(async function() {
await executarScript();
});
setInterval(function() {
location.reload();
}, 600000);
})();