Automatically Login and Click Faucet on Cryptofuture
当前为
// ==UserScript==
// @name Cryptofuture auto faucet
// @namespace bekerja pada tampermonkey maupun violentmonkey
// @version 0.6
// @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);
})();