99faucet

Faucet claim

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         99faucet
// @namespace    http://tampermonkey.net/
// @version      1.5
// @description  Faucet claim
// @author       Gysof
// @match        https://99faucet.com/*
// @icon         https://99faucet.com/matic.png
// @grant        none
// ==/UserScript==

// Register here - https://99faucet.com/?r=3396
// You will need Recaptcha solver - link - https://chromewebstore.google.com/detail/rektcaptcha-recaptcha-sol/bbdhfoclddncoaomddgkaaphcnddbpdh
// Editar email e pass nas linhas 23 - 24
// Reivindicar faucet a cada 1 minuto em (Free Faucet) ou sem tempo em (Unlimited Faucet)

(function() {
    'use strict';

    // Editar email e senha
    const email = "Your@Email"; // Substitua com seu email
    const senha = "YouPassword"; // Substitua com sua senha

    function GyVr() {
        return !!document.querySelector('iframe[title="reCAPTCHA"]');
    }

    function GyRcCp() {
        const GyRcInput = document.querySelector('.g-recaptcha-response');
        return GyRcInput && GyRcInput.value.trim() !== '';
    }

    function GyClBt() {
        const GyBt = document.querySelector('button[type="submit"]');
        if (GyBt) {
            GyBt.click();
        }
    }

    async function GyEsRcEClBt() {
        while (true) {
            if (GyVr() && GyRcCp()) {
                GyClBt();
                break;
            }
            await new Promise(resolve => setTimeout(resolve, 1000));
        }
    }

    function GyPeEs() {
        const GyEm = document.querySelector('#email');
        const GyPs = document.querySelector('#password');
        if (GyEm && GyPs) {
            GyEm.value = email;
            GyPs.value = senha;
        }
    }

    function GyRf() {
        if (location.href === 'https://99faucet.com/dashboard') {
            location.href = 'https://99faucet.com/faucet';
        }
    }

    function GyCc() {
        const GyClaimBtn = document.querySelector('button.claim-button');
        if (GyClaimBtn) {
            GyClaimBtn.click();
        }
    }

    async function GyEsRcCc() {
        while (true) {
            if (GyVr() && GyRcCp()) {
                GyCc();
                break;
            }
            await new Promise(resolve => setTimeout(resolve, 1000));
        }
    }

    function GyWa5s() {
        setTimeout(() => {
            GyEsRcCc().then(() => GyVrClBt());
        }, 5000);
    }

    async function GyVrClBt() {
        while (true) {
            const GyClaimBtn = document.querySelector('button.claim-button');
            if (!GyClaimBtn) {
                await new Promise(resolve => setTimeout(resolve, 180000));
                location.reload();
                break;
            }
            await new Promise(resolve => setTimeout(resolve, 1000));
        }
    }

    function GyRl() {
        setInterval(() => {
            location.reload();
        }, 180000);
    }

    function GyEs() {
        if (location.href === 'https://99faucet.com/') {
            location.href = 'https://99faucet.com/login';
        } else if (location.href === 'https://99faucet.com/login') {
            GyPeEs();
            GyEsRcEClBt();
        } else if (location.href === 'https://99faucet.com/dashboard') {
            GyRf();
        } else if (location.href === 'https://99faucet.com/faucet' || location.href === 'https://99faucet.com/notimer') {
            GyWa5s();
        }
    }

    function GyEns() {
        if (document.visibilityState === 'visible') {
            GyEs();
        } else {
            GyEs();
        }
    }

    document.addEventListener('visibilitychange', GyEns);
    window.addEventListener('load', GyEns);

    GyEs();
})();