Crypto Faucet Script

Auto-rotator za faucet stranice sa panelom i affiliate linkovima + Automatizira faucet-e s Turnstile-om i ROLL! gumbom

// ==UserScript==
// @name         Crypto Faucet Script
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  Auto-rotator za faucet stranice sa panelom i affiliate linkovima + Automatizira faucet-e s Turnstile-om i ROLL! gumbom
// @author       Peckovic
// @license      MIT
// @match        https://suipick.io/faucet.php
// @match        https://tonpick.game/faucet.php
// @match        https://polpick.io/faucet.php
// @match        https://solpick.io/faucet.php
// @match        https://tronpick.io/faucet.php
// @match        https://dogepick.io/faucet.php
// @match        https://freebitco.in/?op=home
// @match        https://bnbpick.io/faucet.php
// @match        https://litepick.io/faucet.php
// @match        https://freetoncoin.in/faucet
// @match        https://freebnb.in/faucet
// @match        https://freexrp.in/faucet
// @match        https://freetron.in/faucet
// @match        https://usdpick.io/faucet
// @match        https://freeshib.in/faucet
// @match        https://freetoncoin.in
// @match        https://tonpick.game/*
// @match        https://dogepick.io/*
// @match        https://bnbpick.io/*
// @match        https://litepick.io/*
// @match        https://solpick.io/*
// @match        https://tronpick.io/*
// @match        https://polpick.io/*
// @match        https://freetron.in/*
// @match        https://freebnb.in/*
// @match        https://freexrp.in/*
// @match        https://usdpick.io/*
// @match        https://freeshib.in/*
// @grant        none
// ==/UserScript==

// PRVA SKRIPTA - Auto-rotator
(function () {
  if (window.self !== window.top || window.tabRotatorInitialized) return;
  window.tabRotatorInitialized = true;

  const directUrls = [

    "https://suipick.io/faucet.php",
    "https://tonpick.game/faucet.php",
    "https://polpick.io/faucet.php",
    "https://solpick.io/faucet.php",
    "https://tronpick.io/faucet.php",
    "https://dogepick.io/faucet.php",
    "https://freebitco.in/?op=home#",
    "https://bnbpick.io/faucet.php",
    "https://litepick.io/faucet.php",
    "https://freetron.in/faucet",
    "https://freebnb.in/faucet",
    "https://freexrp.in/faucet",
    "https://freetoncoin.in/faucet",
    "https://usdpick.io/faucet",
    "https://freeshib.in/faucet"
  ];

  const affiliateLinks = [
    { name: "suipick.game", url: "https://suipick.io/?ref=peckovic" },
    { name: "tonpick.game", url: "https://tonpick.game/?ref=ba1tazar666" },
    { name: "POLPick", url: "https://polpick.io/?ref=ba1tazar666" },
    { name: "SOLPick", url: "https://solpick.io/?ref=ba1tazar666" },
    { name: "TonPick", url: "https://tronpick.io/?ref=ba1tazar666" },
    { name: "DOGEPick", url: "https://dogepick.io/?ref=ba1tazar666" },
    { name: "FreeBitco.in", url: "https://freebitco.in/?r=54837207" },
    { name: "BNBPick", url: "https://bnbpick.io/?ref=ba1tazar666" },
    { name: "LitePick", url: "https://litepick.io/?ref=ba1tazar666" },
    { name: "FreeTron", url: "https://freetron.in?ref=mCruF_Qzrh" },
    { name: "FreeBNB", url: "https://freebnb.in?ref=TTQhvRQ9z3" },
    { name: "FreeXRP", url: "https://freexrp.in?ref=yv2cGGfwvT" },
    { name: "FreeTON", url: "https://freetoncoin.in?ref=rq1RNg8yxi" },
    { name: "USDPick", url: "https://usdpick.io?ref=YxHDTufaGP" },
    { name: "FreeSHIB", url: "https://freeshib.in?ref=7Q6HRizLFu" }
  ];

  const ROTATION_INTERVAL = 60;
  let index = parseInt(localStorage.getItem("rotatorIndex")) || 0;
  let countdown = ROTATION_INTERVAL;

  function rotate() {
    index = (index + 1) % directUrls.length;
    localStorage.setItem("rotatorIndex", index);
    window.location.href = directUrls[index];
  }

  function setupPanel() {
    const panel = document.createElement("div");
    panel.id = "rotatorPanel";
    panel.style = `
      position: fixed;
      bottom: 10px;
      right: 10px;
      z-index: 9999;
      background-color: rgba(20,20,20,0.95);
      color: #fff;
      padding: 12px;
      border-radius: 12px;
      font-family: sans-serif;
      font-size: 13px;
      width: 240px;
      box-shadow: 0 0 10px rgba(0,0,0,0.5);
    `;

    const header = document.createElement("div");
    header.innerHTML = `<strong>Crypto Faucet Panel</strong><br>Auto-rotate in <span id="countdown">${countdown}</span>s`;
    header.style.marginBottom = "10px";
    panel.appendChild(header);

    affiliateLinks.forEach((site) => {
      const container = document.createElement("div");
      container.style = `margin-bottom: 6px; display: flex; justify-content: space-between; align-items: center;`;

      const name = document.createElement("span");
      name.textContent = site.name;
      name.style = "flex: 1";

      const btn = document.createElement("button");
      btn.textContent = "Registracija";
      btn.onclick = () => window.open(site.url, "_blank");
      btn.style = `
        background: #4CAF50;
        color: white;
        border: none;
        padding: 3px 6px;
        font-size: 11px;
        border-radius: 6px;
        cursor: pointer;
      `;

      container.appendChild(name);
      container.appendChild(btn);
      panel.appendChild(container);
    });

    document.body.appendChild(panel);
  }

  function startCountdown() {
    const interval = setInterval(() => {
      countdown--;
      const el = document.getElementById("countdown");
      if (el) el.textContent = countdown;

      if (countdown <= 0) {
        clearInterval(interval);
        rotate();
      }
    }, 1000);
  }

  setupPanel();
  startCountdown();
})();

// DRUGA SKRIPTA - Automatizacija claimanja
(function() {
    'use strict';

    const TURNSTILE_RESPONSE_SELECTOR = 'input[name="cf-turnstile-response"]';
    const CLAIM_BUTTON_TEXT = 'Claim';
    const ROLL_BUTTON_SELECTOR = '#free_play_form_button';
    const CHECK_INTERVAL = 2000;
    let isButtonClicked = false;
    let rollButtonClicked = false;

    function isVerificationComplete() {
        const turnstileInput = document.querySelector(TURNSTILE_RESPONSE_SELECTOR);
        return turnstileInput && turnstileInput.value.trim() !== '';
    }

    function clickClaimButton() {
        if (isButtonClicked) {
            console.log('Gumb je već kliknut, preskačem...');
            return;
        }

        const buttons = document.querySelectorAll('button');
        for (const button of buttons) {
            if (button.textContent.trim().toUpperCase() === CLAIM_BUTTON_TEXT.toUpperCase()) {
                console.log('Verifikacija uspješna! Klikam na "Claim" gumb...');
                button.click();
                isButtonClicked = true;
                return;
            }
        }

        console.log('Gumb "Claim" nije pronađen, pokušavam ponovo...');
    }

    function clickRollButton() {
        if (rollButtonClicked) {
            console.log('ROLL! gumb je već kliknut, preskačem...');
            return;
        }

        const rollButton = document.querySelector(ROLL_BUTTON_SELECTOR);
        if (rollButton) {
            console.log('Pronađen ROLL! gumb, klikam nakon 20 sekundi...');
            setTimeout(() => {
                rollButton.click();
                rollButtonClicked = true;
                console.log('ROLL! gumb kliknut');
            }, 20000);
        } else {
            console.log('ROLL! gumb nije pronađen');
        }
    }

    function checkVerificationAndClick() {
        if (isVerificationComplete()) {
            console.log('Verifikacija završena! Pokrećem klik...');
            clickClaimButton();
        } else {
            console.log('Verifikacija još nije završena, čekam...');
        }

        clickRollButton();
    }

    window.addEventListener('load', function() {
        console.log('Stranica je učitana, pokrećem skriptu...');
        clickRollButton();
        setInterval(checkVerificationAndClick, CHECK_INTERVAL);
    });
})();