在您安裝前,Greasy Fork希望您了解本腳本包含“可能不受歡迎的功能”,可能幫助腳本的作者獲利,而不能給你帶來任何收益。
作者從這份腳本獲得佣金, 例如透過重寫連結或提供優惠券代碼以加入推薦或附屬代碼
腳本的作者解釋:
Directs to a referral link when not logged in
Greasy Fork is available in English.
Automatically Login and Click Faucet on Cryptofuture
// ==UserScript== // @name Cryptofuture auto faucet (not working) // @namespace bekerja pada tampermonkey maupun violentmonkey // @version 0.7 // @description Automatically Login and Click Faucet on Cryptofuture // @author Ojo Ngono // @grant GM_getValue // @grant GM_setValue // @grant GM_addStyle // @grant GM_registerMenuCommand // @require https://update.greasyfork.org/scripts/439099/1203718/MonkeyConfig%20Modern%20Reloaded.js // @match https://cryptofuture.co.in/* // @license Copyright OjoNgono // @antifeature referral-link Directs to a referral link when not logged in // ==/UserScript== const cfg = new MonkeyConfig({ title: 'Input Email Faucetpay:', menuCommand: true, params: { Email: { label: "Email Faucetpay", type: "text", default: '' }, } }); (function() { 'use strict'; window.addEventListener('load', () => { startProcess(); }); function startProcess() { const email = cfg.get('Email'); if (!email || email.trim() === '') { enforceLogoutWithWarning(); return; } else { enforceReferralUrl(); setTimeout(() => { if (!isLoggedIn()) { clickLoginJoinButton(); } else { fillEmailField(email); rotateUrls(); enforceReferralUrl(); observeTurnstileAndClaim(); } }, 1000); } } function isLoggedIn() { const logoutMenuItem = document.querySelector('a[href="https://cryptofuture.co.in/auth/logout"]'); const alertMessage = document.querySelector('.alert.alert-info.text-center'); return logoutMenuItem !== null || alertMessage !== null; } function enforceLogoutWithWarning() { if (isLoggedIn()) { alert('Please enter your email in the settings menu before using MY SCRIPT.'); const logoutButton = document.querySelector('a[href="https://cryptofuture.co.in/auth/logout"]'); if (logoutButton) { logoutButton.click(); } else { window.location.replace("https://cryptofuture.co.in/auth/logout"); } } } function enforceReferralUrl() { const email = cfg.get('Email'); if (!isLoggedIn() && email) { const currentUrl = window.location.href; const referralUrl = "https://cryptofuture.co.in/?r=43940"; if (currentUrl === "https://cryptofuture.co.in/" && !currentUrl.includes("?r=43940")) { window.location.replace(referralUrl); } } } function clickLoginJoinButton() { const loginButton = document.querySelector('.btn.btn-success.btn-lg[data-bs-target="#claimModal"]'); if (loginButton) { loginButton.click(); } setTimeout(() => { const email = cfg.get('Email'); fillEmailField(email); observeTurnstileAndClaim(); }, 1000); } function fillEmailField(email) { const emailInput = document.querySelector('#InputEmail'); if (emailInput) { emailInput.value = email; emailInput.dispatchEvent(new Event('input', { bubbles: true })); } } function observeTurnstileAndClaim() { const turnstileObserver = new MutationObserver(() => { const turnstileResponse = document.querySelector('input[name="cf-turnstile-response"]'); const claimNowButton = document.querySelector('#subbutt'); const modalSubmitButton = document.querySelector('.btn.btn-primary.btn-user.btn-block'); if (turnstileResponse && turnstileResponse.value !== "") { if (claimNowButton) { claimNowButton.scrollIntoView({ behavior: 'smooth', block: 'center' }); claimNowButton.click(); } if (modalSubmitButton) { modalSubmitButton.scrollIntoView({ behavior: 'smooth', block: 'center' }); modalSubmitButton.click(); } turnstileObserver.disconnect(); } }); const turnstileInput = document.querySelector('input[name="cf-turnstile-response"]'); if (turnstileInput) { turnstileObserver.observe(turnstileInput, { attributes: true, attributeFilter: ['value'] }); } setTimeout(() => { const turnstileResponse = document.querySelector('input[name="cf-turnstile-response"]'); const claimNowButton = document.querySelector('#subbutt'); const modalSubmitButton = document.querySelector('.btn.btn-primary.btn-user.btn-block'); if (turnstileResponse && turnstileResponse.value === "" && claimNowButton && claimNowButton.innerText.includes('Claim Now')) { claimNowButton.click(); } if (modalSubmitButton) { modalSubmitButton.click(); } }, 30000); } const urls = [ "https://cryptofuture.co.in/faucet/currency/ltc", "https://cryptofuture.co.in/faucet/currency/doge", "https://cryptofuture.co.in/faucet/currency/usdt", "https://cryptofuture.co.in/faucet/currency/dgb", "https://cryptofuture.co.in/faucet/currency/sol", "https://cryptofuture.co.in/faucet/currency/trx", "https://cryptofuture.co.in/faucet/currency/bnb", "https://cryptofuture.co.in/faucet/currency/dash", "https://cryptofuture.co.in/faucet/currency/eth", "https://cryptofuture.co.in/faucet/currency/fey", "https://cryptofuture.co.in/faucet/currency/sol", "https://cryptofuture.co.in/faucet/currency/zec" ]; let currentIndex = parseInt(localStorage.getItem('currentIndex')) || 0; const rotateUrls = () => { if (window.location.href === "https://cryptofuture.co.in/dashboard") { window.location.href = urls[currentIndex]; currentIndex = (currentIndex + 1) % urls.length; localStorage.setItem('currentIndex', currentIndex); } }; function checkForMessage() { const swalPopup = document.querySelector('.swal2-popup.swal2-show'); if (swalPopup) { const successMessageContainer = swalPopup.querySelector('.swal2-html-container'); if (successMessageContainer) { const successMessage = successMessageContainer.innerText || ""; const successIndicator = "has been sent to your FaucetPay account!"; const claimSuccessIndicator = "Success!"; const insufficientFundsMessage = "The faucet does not have sufficient funds for this transaction."; if (successMessage.includes(successIndicator) || successMessage.includes(claimSuccessIndicator)) { window.location.href = "https://cryptofuture.co.in/dashboard"; } else if (successMessage.includes(insufficientFundsMessage)) { window.location.href = "https://cryptofuture.co.in/dashboard"; } } } } setInterval(checkForMessage, 1000); })();