// ==UserScript== // @name FreeSMTH Auto ROLL // @namespace freetron.in // @version 1.1 // @description Automatically clicks “ROLL” when the Turnstile Cloudflare CAPTCHA is solved. // @author Coraxdevil // @license MIT // @match *://*.freeeth.in/faucet // @match *://*.freeshib.in/faucet // @match *://*.freetron.in/faucet // @match *://*.freebnb.in/faucet // @match *://*.freebch.in/faucet // @match *://*.freetoncoin.in/faucet // @match *://*.freetrump.in/faucet // @match *://*.usdpick.io/faucet // @match *://*.freebtcco.in/faucet // @match *://*.freearb.in/faucet // @match *://*.freesui.in/faucet // @match *://*.freexrp.in/faucet // @grant none // ==/UserScript== (function () { 'use strict'; const log = (...args) => console.log('[AutoROLL]', ...args); function isCaptchaResolved() { const input = document.querySelector('input[name="cf-turnstile-response"]'); return input && input.value.trim().length > 0; } function tryClickRollButton() { // const container = document.querySelector('.flex.w-full.flex-col.items-center'); // const button = container.querySelector('button:last-child'); const button = document.querySelector('button.bg-primary.w-\\[200px\\]'); if (!button) { log("ROLL! not found."); return; } if (isCaptchaResolved() && !button.disabled && button.offsetParent !== null) { log("CAPTCHA solved. Clicking on ROLL! button"); button.click(); } else { log("Waiting for CAPTCHA..."); } } function observeCaptcha() { const captchaInput = document.querySelector('input[name="cf-turnstile-response"]'); if (!captchaInput) { log("CAPTCHA fiel not detected. Repeating in 2s..."); setTimeout(observeCaptcha, 2000); return; } const observer = new MutationObserver(() => { if (isCaptchaResolved()) { log("CAPTCHA detected!"); tryClickRollButton(); } }); observer.observe(captchaInput, { attributes: true, attributeFilter: ['value'] }); setInterval(() => { if (isCaptchaResolved()) { tryClickRollButton(); } }, 1000); log("Waiting for CAPTCHA to detect a solution..."); } window.addEventListener('load', () => { setTimeout(observeCaptcha, 2000); }); })();