// ==UserScript==
// @name [Premium] Faucet Monitor with Faucetpay ReCaptcha/Antibot Rotator
// @namespace https://greasyfork.org/users/1162863
// @version 2.7
// @description Elevate your Faucet claiming experience with advanced automation, seamlessly handling form filling, button clicks, and ReCaptcha/Antibot challenges. Boost your efficiency and maximize earnings.
// @author Andrewblood
// @match https://*.coinfinity.top/*
// @match https://*.sollcrypto.com/*
// @match https://*.cryptoclaps.com/*
// @match https://*.baltoniearn.com/claim/tron/*
// @match https://*.vptron.online/TRX/*
// @match https://*.claimcoins.site/reward/*
// @match https://*.bnbminers.site/earns/*
// @match https://*.ltcmines.site/earns/*
// @match https://*.tronxminer.com/rewards/*
// @match https://*.etcoin.site/earn/*
// @match https://*.autofaucet.dutchycorp.space/*
// @match https://*.freebitco.in/*
// @match https://*.freebitcoin.io/*
// @match https://*.freebinancecoin.com/*
// @match https://*.free-doge.com/*
// @match https://*.freetether.com/*
// @match https://*.freecardano.com/*
// @match https://*.freedash.io/*
// @match https://*.freeethereum.com/*
// @match https://*.freebfg.com/*
// @match https://*.freebittorrent.com/*
// @match https://*.freepancake.com/*
// @match https://*.freematic.com/*
// @match https://*.freeshibainu.com/*
// @match https://*.coinfaucet.io/*
// @match https://*.freenem.com/*
// @match https://*.freeusdcoin.com/*
// @match https://*.free-tron.com/*
// @match https://*.freesteam.io/*
// @match https://*.freeneo.io/*
// @match https://*.free-ltc.com/*
// @match https://*.freecryptom.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=faucetpay.io
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// @grant GM_listValues
// @grant window.close
// @antifeature referral-link Referral-Link is in this Script integrated.
// @antifeature ads Advertisment Button with sites from friends.
// @license Copyright Andrewblood
// ==/UserScript==
/*
Experience the next level of Faucet claiming with unparalleled features:
- User Interface: You can use coinfinity.top for the interface for managing websites, installing requirements, saving Faucetpay email address, and handling stored URLs
- Requirements Integration: Provides extension and script recommendations with install buttons for enhanced functionality.
- ReCaptcha/Antibot Handling: Intelligently tackles security challenges, ensuring a smooth claiming process.
- Advanced Automation: Seamlessly fills forms and clicks buttons on Faucetpay Faucet sites, reducing manual effort.
- Efficient Navigation: Automatically moves through supported Faucet URLs, preventing revisits site until next day if it is empty or dayli limit reached for strategic claiming.
- Error Handling: Reloads pages, ensuring up-to-date claiming and avoiding downtime.
Unstable ReCaptcha sites that can add advnced users to the var urls list:
"https://cryptoclaps.com/earn/dogecoin/",
"https://cryptoclaps.com/earn/tron/",
"https://cryptoclaps.com/earn/litecoin/",
"https://cryptoclaps.com/earn/binance/",
"https://cryptoclaps.com/earn/solana/",
"https://cryptoclaps.com/earn/ethereum/",
"https://cryptoclaps.com/earn/bch/",
"https://cryptoclaps.com/earn/xrp/",
"https://cryptoclaps.com/earn/dash/",
"https://cryptoclaps.com/earn/polygon/",
"https://cryptoclaps.com/earn/usdt/",
"https://cryptoclaps.com/earn/zcash/",
"https://etcoin.site/earn/tron/",
"https://etcoin.site/earn/doge/",
"https://etcoin.site/earn/litecoin/",
"https://etcoin.site/earn/binance/",
"https://etcoin.site/earn/ripple/",
"https://etcoin.site/earn/ethereum/",
"https://etcoin.site/earn/bitcoin/",
"https://sollcrypto.com/home/page/bitcoin/",
"https://sollcrypto.com/home/page/doge/",
"https://sollcrypto.com/home/page/tron/",
"https://sollcrypto.com/home/page/digibyte/",
"https://sollcrypto.com/home/page/litecoin/",
"https://sollcrypto.com/home/page/binance/",
"https://sollcrypto.com/home/page/solana/",
"https://sollcrypto.com/home/page/ethereum/",
"https://sollcrypto.com/home/page/bch/",
"https://sollcrypto.com/home/page/xrp/",
"https://sollcrypto.com/home/page/dash/",
"https://sollcrypto.com/home/page/zcash/",
*/
(function() {
'use strict';
var urls = [
"https://baltoniearn.com/claim/tron/",
"https://vptron.online/TRX/",
"https://claimcoins.site/reward/tron/",
"https://claimcoins.site/reward/doge/",
"https://claimcoins.site/reward/litecoin/",
"https://claimcoins.site/reward/binance/",
"https://claimcoins.site/reward/ripple/",
"https://claimcoins.site/reward/bitcoin/",
"https://bnbminers.site/earns/tron/",
"https://bnbminers.site/earns/litecoin/",
"https://bnbminers.site/earns/feyorra/",
"https://bnbminers.site/earns/binance/",
"https://bnbminers.site/earns/ripple/",
"https://bnbminers.site/earns/ethereum/",
"https://bnbminers.site/earns/bitcoin/",
"https://ltcmines.site/earns/tron/",
"https://ltcmines.site/earns/doge/",
"https://ltcmines.site/earns/litecoin/",
"https://ltcmines.site/earns/binance/",
"https://ltcmines.site/earns/ripple/",
"https://ltcmines.site/earns/ethereum/",
"https://ltcmines.site/earns/bitcoin/",
"https://tronxminer.com/rewards/tron/",
"https://tronxminer.com/rewards/doge/",
"https://tronxminer.com/rewards/feyorra/",
"https://tronxminer.com/rewards/binance/",
"https://tronxminer.com/rewards/ripple/",
"https://tronxminer.com/rewards/bitcoin/",
];
// Function to click a button
function clickButton(selector) {
var button = document.querySelector(selector);
if (button) {
button.click();
}
}
// Function to check if the captcha is activated
function isCaptchaChecked() {
return grecaptcha && grecaptcha.getResponse().length !== 0;
}
function visibleCheck(elm) {
if (!elm.offsetHeight && !elm.offsetWidth) { return false; }
if (getComputedStyle(elm).visibility === 'hidden') { return false; }
return true;
}
// Function to check if an element is visible
function isElementVisible(selector) {
var element = document.querySelector(selector);
return element && element.offsetWidth > 0 && element.offsetHeight > 0;
}
// Function to open a website
function openWebsite(url) {
window.open(url, '_blank');
}
// Email overlay creation
var overlay = document.createElement('div');
overlay.id = 'emailInputOverlay';
overlay.style.position = 'fixed';
overlay.style.bottom = '10px';
overlay.style.right = '10px';
overlay.style.zIndex = '10000';
// Create a button for other requirements
var otherRequirementsButton = document.createElement('button');
otherRequirementsButton.id = 'otherRequirementsButton';
otherRequirementsButton.style.padding = '5px';
otherRequirementsButton.style.marginLeft = '5px';
otherRequirementsButton.textContent = 'Requirements';
var isRequirementsOverlayOpen = false;
var isStoredUrlsOverlayOpen = false;
// Event listener for otherRequirementsButton
otherRequirementsButton.addEventListener('click', function() {
// Check if requirements overlay is already open
if (isRequirementsOverlayOpen) {
// Close the overlay
closeOverlay(otherRequirementsOverlay);
isRequirementsOverlayOpen = false;
return;
}
// Create an overlay for other requirements
var otherRequirementsOverlay = document.createElement('div');
otherRequirementsOverlay.style.position = 'fixed';
otherRequirementsOverlay.style.top = '50%';
otherRequirementsOverlay.style.left = '50%';
otherRequirementsOverlay.style.transform = 'translate(-50%, -50%)';
otherRequirementsOverlay.style.zIndex = '10001';
otherRequirementsOverlay.style.backgroundColor = '#fff';
otherRequirementsOverlay.style.border = '1px solid #ddd';
otherRequirementsOverlay.style.padding = '20px';
otherRequirementsOverlay.style.maxHeight = '80%';
otherRequirementsOverlay.style.overflowY = 'auto';
// Add the heading
var heading = document.createElement('h2');
heading.textContent = 'Requirements';
heading.style.textAlign = 'center';
heading.style.marginBottom = '15px';
otherRequirementsOverlay.appendChild(heading);
// Define the list of extensions and scripts with install buttons
var requirementsList = [
{ name: '<b>ReCaptcha:</b> hektCaptcha: hCaptcha Solver', installUrl: 'https://github.com/Wikidepia/hektCaptcha-extension' },
{ name: '<b>Antibot Words:</b> AB Links Solver', installUrl: 'https://greasyfork.org/de/scripts/459453-ab-links-solver' }
];
// Create a list element
var list = document.createElement('ul');
list.style.listStyleType = 'none';
list.style.padding = '0';
// Populate the list with requirements and install buttons
requirementsList.forEach(function(requirement) {
var listItem = document.createElement('li');
var installButton = document.createElement('button');
installButton.textContent = 'Install';
installButton.addEventListener('click', function() {
// Open a new tab with the install URL
window.open(requirement.installUrl, '_blank');
});
// Create a span element for styling
var styledText = document.createElement('span');
styledText.innerHTML = requirement.name; // Use innerHTML to interpret HTML tags
// Append the span and install button to the list item
listItem.appendChild(styledText);
listItem.appendChild(installButton);
list.appendChild(listItem);
});
// Create a close button for the overlay
var closeRequirementsButton = document.createElement('button');
closeRequirementsButton.textContent = 'Close';
closeRequirementsButton.style.padding = '8px';
closeRequirementsButton.style.marginTop = '10px';
closeRequirementsButton.addEventListener('click', function() {
// Close the overlay when the close button is clicked
document.body.removeChild(otherRequirementsOverlay);
});
// Function to save Faucetpay email
function saveFaucetpayEmail() {
// Save entered email address
var newEmail = emailInput.value;
GM_setValue('storedEmail', newEmail);
// Success notification (can be customized)
alert('Faucetpay email address saved successfully!');
}
// Add input field and label for Faucetpay email to the requirements overlay
var emailInputLabel = document.createElement('label');
emailInputLabel.textContent = 'Enter Faucetpay Email:';
emailInputLabel.style.display = 'block';
emailInputLabel.style.marginTop = '10px';
var emailInput = document.createElement('input');
emailInput.type = 'text';
emailInput.id = 'emailInput';
emailInput.placeholder = 'Faucetpay Email';
emailInput.style.padding = '5px';
emailInput.style.width = '100%';
// Abrufen und Einsetzen des gespeicherten Werts
var storedEmail = GM_getValue('storedEmail', '');
emailInput.value = storedEmail;
// Add "Save Faucetpay email" button to the requirements overlay
var saveFaucetpayEmailButton = document.createElement('button');
saveFaucetpayEmailButton.id = 'saveFaucetpayEmailButton';
saveFaucetpayEmailButton.style.padding = '5px';
saveFaucetpayEmailButton.style.marginTop = '5px';
saveFaucetpayEmailButton.style.width = '100%';
saveFaucetpayEmailButton.textContent = 'Save Faucetpay Email';
// Add event listener for saveFaucetpayEmailButton
saveFaucetpayEmailButton.addEventListener('click', saveFaucetpayEmail);
// Append the list and close button to the overlay
otherRequirementsOverlay.appendChild(list);
// Append the input field, label, and "Save Faucetpay email" button to the requirements overlay
otherRequirementsOverlay.appendChild(emailInputLabel);
otherRequirementsOverlay.appendChild(emailInput);
otherRequirementsOverlay.appendChild(saveFaucetpayEmailButton);
otherRequirementsOverlay.appendChild(closeRequirementsButton);
var closeButton = createCloseButton(otherRequirementsOverlay);
otherRequirementsOverlay.appendChild(closeButton);
// Set flag to indicate that requirements overlay is open
isRequirementsOverlayOpen = true;
// Add the overlay to the body
document.body.appendChild(otherRequirementsOverlay);
// Add an event listener to reset the flag when the overlay is closed
otherRequirementsOverlay.addEventListener('click', function() {
isRequirementsOverlayOpen = false;
});
});
// Create a button to show stored URLs
var showStoredUrlsButton = document.createElement('button');
showStoredUrlsButton.id = 'showStoredUrlsButton';
showStoredUrlsButton.style.padding = '5px';
showStoredUrlsButton.style.marginLeft = '5px';
showStoredUrlsButton.textContent = 'Faucetpay Rotator Sites';
showStoredUrlsButton.addEventListener('click', function() {
// Check if stored URLs overlay is already open
if (isStoredUrlsOverlayOpen) {
// Close the overlay
closeOverlay(overlayTable);
isStoredUrlsOverlayOpen = false;
return;
}
// Display stored pages in an overlay
var storedUrls = GM_getValue('storedUrls', []);
// Combine stored URLs with the original URLs
var allUrls = urls.map(function(url) {
var storedUrlEntry = storedUrls.find(function(storedUrl) {
return storedUrl.url === url;
});
return {
url: url,
timestamp: storedUrlEntry ? storedUrlEntry.timestamp : null
};
});
// Create an overlay for the table
var overlayTable = document.createElement('div');
overlayTable.style.position = 'fixed';
overlayTable.style.top = '50%';
overlayTable.style.left = '50%';
overlayTable.style.transform = 'translate(-50%, -50%)';
overlayTable.style.zIndex = '10001';
overlayTable.style.backgroundColor = '#fff';
overlayTable.style.border = '1px solid #ddd';
overlayTable.style.padding = '20px';
overlayTable.style.maxHeight = '80%';
overlayTable.style.overflowY = 'auto';
// Add the heading for Faucetpay Rotator Sites
var heading = document.createElement('h2');
heading.textContent = 'Faucetpay Rotator Sites';
heading.style.textAlign = 'center';
heading.style.marginBottom = '15px';
overlayTable.appendChild(heading);
// Create a close button for the overlay
var closeButton = document.createElement('button');
closeButton.textContent = 'Close';
closeButton.style.padding = '8px';
closeButton.style.marginTop = '10px';
closeButton.addEventListener('click', function() {
// Close the overlay when the close button is clicked
document.body.removeChild(overlayTable);
});
// Create a button to delete all stored URLs
var deleteAllButton = document.createElement('button');
deleteAllButton.id = 'deleteAllButton';
deleteAllButton.style.padding = '5px';
deleteAllButton.style.marginLeft = '5px';
deleteAllButton.style.float = 'right'; // Align the button to the right
deleteAllButton.textContent = 'Set All Active';
// Add an event listener for the deleteAllButton
deleteAllButton.addEventListener('click', function() {
// Clear all stored URLs
GM_deleteValue('storedUrls');
// Refresh the table
showStoredUrlsButton.click();
});
// Create a table element
var table = document.createElement('table');
table.style.borderCollapse = 'collapse';
table.style.width = '100%';
// Create table headers
var headers = ['Connect', 'URL', 'Status', 'Delete'];
var headerRow = table.insertRow();
for (var i = 0; i < headers.length; i++) {
var headerCell = headerRow.insertCell(i);
headerCell.style.border = '1px solid #ddd';
headerCell.style.padding = '8px';
headerCell.style.textAlign = 'left';
headerCell.textContent = headers[i];
// Add click event for sorting
if (i === 1 || i === 2) {
headerCell.addEventListener('click', function() {
sortTable(table, this.cellIndex);
});
}
}
// Populate table with all URLs, timestamps, and delete buttons
for (var j = 0; j < allUrls.length; j++) {
var urlEntry = allUrls[j];
var row = table.insertRow();
// Add "Connect" button to each row
var connectCell = row.insertCell(0);
connectCell.style.border = '1px solid #ddd';
connectCell.style.padding = '8px';
var connectButton = document.createElement('button');
connectButton.textContent = 'Connect';
connectButton.addEventListener('click', createConnectHandler(urlEntry.url)); // Attach a handler with the URL
connectCell.appendChild(connectButton);
var urlCell = row.insertCell(1);
urlCell.style.border = '1px solid #ddd';
urlCell.style.padding = '8px';
urlCell.textContent = urlEntry.url;
var statusCell = row.insertCell(2);
statusCell.style.border = '1px solid #ddd';
statusCell.style.padding = '8px';
statusCell.style.color = getStatusColor(urlEntry);
statusCell.textContent = getStatusText(urlEntry);
var deleteCell = row.insertCell(3);
deleteCell.style.border = '1px solid #ddd';
deleteCell.style.padding = '8px';
// Create delete button for each row
var deleteButton = document.createElement('button');
deleteButton.textContent = 'Set Active';
deleteButton.addEventListener('click', createDeleteHandler(urlEntry));
deleteCell.appendChild(deleteButton);
}
// Append the table and close button to the overlay
overlayTable.appendChild(table);
overlayTable.appendChild(closeButton);
overlayTable.appendChild(deleteAllButton);
var closeButtontop = createCloseButton(overlayTable);
overlayTable.appendChild(closeButtontop);
// Set flag to indicate that stored URLs overlay is open
isStoredUrlsOverlayOpen = true;
// Add the overlay to the body
document.body.appendChild(overlayTable);
// Add an event listener to reset the flag when the overlay is closed
overlayTable.addEventListener('click', function() {
isStoredUrlsOverlayOpen = false;
});
});
// Function to close the overlay
function closeOverlay(overlay) {
// Close the overlay when the close button is clicked
document.body.removeChild(overlay);
}
// Funktion zum Erstellen des "X"-Buttons
function createCloseButton(overlay) {
var closeButton = document.createElement('button');
closeButton.innerHTML = 'X';
closeButton.style.position = 'absolute';
closeButton.style.top = '5px';
closeButton.style.right = '5px';
closeButton.style.padding = '5px';
closeButton.style.cursor = 'pointer';
closeButton.addEventListener('click', function() {
// Rufe die Funktion zum Schließen des Overlays auf
closeOverlay(overlay);
});
return closeButton;
}
// Function to get the status text based on the urlEntry
function getStatusText(urlEntry) {
var currentTime = Date.now();
if (urlEntry.timestamp) {
var timestamp = Date.parse(urlEntry.timestamp.replace(/-/g, '/'));
if (timestamp > currentTime) {
// Not Active Until
return 'Not Active Until ' + urlEntry.timestamp;
} else {
// Active
return 'Active';
}
} else {
return 'Active';
}
}
// Function to get the status color based on the urlEntry
function getStatusColor(urlEntry) {
var currentTime = Date.now();
if (urlEntry.timestamp) {
var timestamp = Date.parse(urlEntry.timestamp.replace(/-/g, '/'));
return (timestamp > currentTime) ? 'red' : 'green';
} else {
return 'green'; // Assuming 'Active' state when timestamp is not present
}
}
// Function to create a delete handler with a specific urlEntry
function createDeleteHandler(urlEntry) {
return function() {
// Find the corresponding URL and delete it from stored pages
var urlToDelete = urlEntry.url;
var storedUrls = GM_getValue('storedUrls', []);
storedUrls = storedUrls.filter(function(storedUrl) {
return storedUrl.url !== urlToDelete;
});
// Update stored pages
GM_setValue('storedUrls', storedUrls);
// Refresh the table
showStoredUrlsButton.click();
};
}
// Function to create a connect handler with a specific URL
function createConnectHandler(url) {
return function() {
// Redirect to the selected URL
window.open(url, '_blank');
};
}
// Function to sort the table by column index
function sortTable(table, columnIndex) {
var rows = Array.from(table.rows).slice(1); // Exclude header row
var sortOrder = 1;
// Determine sorting order based on the current order of the column
if (table.rows[0].cells[columnIndex].classList.contains('ascending')) {
sortOrder = -1;
}
// Remove sorting classes from all columns
for (var i = 0; i < table.rows[0].cells.length; i++) {
table.rows[0].cells[i].classList.remove('ascending', 'descending');
}
// Sort the rows based on the content of the selected column
rows.sort(function(a, b) {
var textA = a.cells[columnIndex].textContent.trim().toUpperCase();
var textB = b.cells[columnIndex].textContent.trim().toUpperCase();
if (textA < textB) {
return -1 * sortOrder;
} else if (textA > textB) {
return 1 * sortOrder;
} else {
return 0;
}
});
// Clear and rebuild the table with the sorted rows
while (table.rows.length > 1) {
table.deleteRow(1);
}
for (var j = 0; j < rows.length; j++) {
table.appendChild(rows[j]);
}
// Add sorting class to the header cell
if (sortOrder === 1) {
table.rows[0].cells[columnIndex].classList.add('ascending');
} else {
table.rows[0].cells[columnIndex].classList.add('descending');
}
}
const websites = [
{ name: 'Freebitco.in - Claim/1000% BTC Bonus/WoF', url: 'https://freebitco.in', active: GM_getValue('Freebitco.in', true), script: freebitcoScript },
{ name: 'Dutchycorp - Claim/PTC', url: 'https://autofaucet.dutchycorp.space', active: GM_getValue('Dutchycorp', true), script: dutchycorpScript },
{ name: 'CF Freebitcoin - Shortlinks', url: 'https://app.freebitcoin.io', active: GM_getValue('CF Freebitcoin', true), script: CFfaucetsScript },
{ name: 'CF Freebinancecoin - Shortlinks', url: 'https://app.freebinancecoin.com', active: GM_getValue('CF Freebinancecoin', true), script: CFfaucetsScript },
{ name: 'CF Freedoge - Shortlinks', url: 'https://app.free-doge.com', active: GM_getValue('CF Freedoge', true), script: CFfaucetsScript },
{ name: 'CF Freetether - Shortlinks', url: 'https://app.freetether.com', active: GM_getValue('CF Freetether', true), script: CFfaucetsScript },
{ name: 'CF Freecardano - Shortlinks', url: 'https://app.freecardano.com', active: GM_getValue('CF Freecardano', true), script: CFfaucetsScript },
{ name: 'CF Freedash - Shortlinks', url: 'https://app.freedash.io', active: GM_getValue('CF Freedash', true), script: CFfaucetsScript },
{ name: 'CF Freeethereum - Shortlinks', url: 'https://app.freeethereum.com', active: GM_getValue('CF Freeethereum', true), script: CFfaucetsScript },
{ name: 'CF Freebfg - Shortlinks', url: 'https://app.freebfg.com', active: GM_getValue('CF Freebfg', true), script: CFfaucetsScript },
{ name: 'CF Freebittorrent - Shortlinks', url: 'https://app.freebittorrent.com', active: GM_getValue('CF Freebittorrent', true), script: CFfaucetsScript },
{ name: 'CF Freepancake - Shortlinks', url: 'https://app.freepancake.com', active: GM_getValue('CF Freepancake', true), script: CFfaucetsScript },
{ name: 'CF Freematic - Shortlinks', url: 'https://app.freematic.com', active: GM_getValue('CF Freematic', true), script: CFfaucetsScript },
{ name: 'CF Freeshibainu - Shortlinks', url: 'https://app.freeshibainu.com', active: GM_getValue('CF Freeshibainu', true), script: CFfaucetsScript },
{ name: 'CF Coinfaucet - Shortlinks', url: 'https://app.coinfaucet.io', active: GM_getValue('CF Coinfaucet', true), script: CFfaucetsScript },
{ name: 'CF Freenem - Shortlinks', url: 'https://app.freenem.com', active: GM_getValue('CF Freenem', true), script: CFfaucetsScript },
{ name: 'CF Freeusdcoin - Shortlinks', url: 'https://app.freeusdcoin.com', active: GM_getValue('CF Freeusdcoin', true), script: CFfaucetsScript },
{ name: 'CF Free-tron - Shortlinks', url: 'https://app.free-tron.com', active: GM_getValue('CF Free-tron', true), script: CFfaucetsScript },
{ name: 'CF Freesteam - Shortlinks', url: 'https://app.freesteam.io', active: GM_getValue('CF Freesteam', true), script: CFfaucetsScript },
{ name: 'CF Freeneo - Shortlinks', url: 'https://app.freeneo.io', active: GM_getValue('CF Freeneo', true), script: CFfaucetsScript },
{ name: 'CF Free-ltc - Shortlinks', url: 'https://app.free-ltc.com', active: GM_getValue('CF Free-ltc', true), script: CFfaucetsScript },
{ name: 'CF Freecryptom - Shortlinks', url: 'https://app.freecryptom.com', active: GM_getValue('CF Freecryptom', true), script: CFfaucetsScript }
// Add more websites if needed
];
// Create the menu
const menu = document.createElement('div');
menu.style.position = 'fixed';
menu.style.bottom = '50px';
menu.style.left = '50%'; // Setze den linken Rand auf 50%
menu.style.transform = 'translateX(-50%)'; // Zentriere das Menü
menu.style.backgroundColor = '#fff';
menu.style.padding = '10px';
menu.style.border = '1px solid #ccc';
menu.style.display = 'none';
menu.style.zIndex = '9999';
menu.style.maxHeight = '300px'; // Zum Beispiel, setze die maximale Höhe auf 300px
menu.style.overflowY = 'auto'; // Aktiviere das vertikale Scrollen, falls benötigt
// Create buttons for each website with activation status
websites.forEach(website => {
const button = document.createElement('button');
button.textContent = website.name + (website.active ? ' (Activated)' : ' (Deactivated)');
button.style.display = 'block';
button.style.marginBottom = '5px';
button.style.zIndex = '9999';
// Click event for left-click (opens the URL)
button.addEventListener('click', (event) => {
if (event.button === 0) {
openWebsite(website.url);
}
});
// Context menu for right-click (activates/deactivates)
button.addEventListener('contextmenu', (event) => {
event.preventDefault();
website.active = !website.active;
GM_setValue(website.name, website.active);
button.textContent = website.name + (website.active ? ' (Activated)' : ' (Deactivated)');
});
menu.appendChild(button);
});
// Create the main button
const mainButton = document.createElement('button');
mainButton.textContent = "Faucet Monitor";
mainButton.style.position = 'fixed';
mainButton.style.bottom = '10px';
mainButton.style.left = '50%'; // Setze den linken Rand auf 50%
mainButton.style.transform = 'translateX(-50%)'; // Zentriere den Button
mainButton.style.padding = '10px';
mainButton.style.zIndex = '9999';
// Show/hide the dropdown menu when the advertisement button is clicked
mainButton.addEventListener('click', () => {
if (menu.style.display === 'none') {
menu.style.display = 'block';
} else {
menu.style.display = 'none';
}
});
// Close the menu when a link is clicked
menu.addEventListener('click', (event) => {
if (event.target.tagName === 'BUTTON') {
menu.style.display = 'none';
}
});
// Create the advertisement button
const advertisementButton = document.createElement('button');
advertisementButton.textContent = 'Advertisement';
advertisementButton.style.position = 'fixed';
advertisementButton.style.bottom = '10px';
advertisementButton.style.left = '10px';
advertisementButton.style.padding = '7px'; // Kleinerer Padding-Wert für einen kleineren Button
advertisementButton.style.fontSize = '14px'; // Kleinerer Schriftgröße für den kleineren Button
advertisementButton.style.zIndex = '9999';
// Create the dropdown menu for the advertisement
const advertisementDropdown = document.createElement('div');
advertisementDropdown.style.position = 'absolute';
advertisementDropdown.style.display = 'none';
advertisementDropdown.style.bottom = '50px'; // Anpassung der Position des Dropdown-Menüs
advertisementDropdown.style.left = '10px';
advertisementDropdown.style.backgroundColor = '#fff';
advertisementDropdown.style.border = '1px solid #ccc';
advertisementDropdown.style.padding = '5px'; // Anpassung des Padding-Werts für das Dropdown-Menü
advertisementDropdown.style.fontSize = '14px'; // Anpassung der Schriftgröße für das Dropdown-Menü
advertisementDropdown.style.zIndex = '9999';
// Define the advertisement links
const advertisementLinks = [
{ name: 'Free Cash', url: 'https://freecash.com/r/91a3b4d34b' },
// Add more advertisement links as needed
];
// Populate the dropdown menu with advertisement links
advertisementLinks.forEach(advertisement => {
const linkItem = document.createElement('div');
linkItem.textContent = advertisement.name;
linkItem.style.cursor = 'pointer';
linkItem.addEventListener('click', () => {
openWebsite(advertisement.url);
advertisementDropdown.style.display = 'none'; // Hide the dropdown after clicking a link
});
advertisementDropdown.appendChild(linkItem);
});
// Show/hide the dropdown menu when the advertisement button is clicked
advertisementButton.addEventListener('click', () => {
if (advertisementDropdown.style.display === 'none') {
advertisementDropdown.style.display = 'block';
} else {
advertisementDropdown.style.display = 'none';
}
});
// About overlay content
var aboutContent = `
<h2>About Faucet Monitor with Faucetpay Rotator</h2>
<p>This Faucet Monitor is a tool designed to help users manage and monitor various faucets and rotator sites efficiently.</p>
<p>Developed by Andrewblood.</p>
`;
// Create About button
var aboutButton = document.createElement('button');
aboutButton.textContent = 'About';
aboutButton.style.padding = '5px';
aboutButton.style.marginLeft = '5px';
// Event listener for About button
aboutButton.addEventListener('click', function() {
// Create overlay for About
var aboutOverlay = document.createElement('div');
aboutOverlay.style.position = 'fixed';
aboutOverlay.style.top = '50%';
aboutOverlay.style.left = '50%';
aboutOverlay.style.transform = 'translate(-50%, -50%)';
aboutOverlay.style.zIndex = '10001';
aboutOverlay.style.backgroundColor = '#fff';
aboutOverlay.style.border = '1px solid #ddd';
aboutOverlay.style.padding = '20px';
aboutOverlay.style.maxHeight = '80%';
aboutOverlay.style.overflowY = 'auto';
// Add content to About overlay
aboutOverlay.innerHTML = aboutContent;
// Create close button for About overlay
var closeButton = createCloseButton(aboutOverlay);
aboutOverlay.appendChild(closeButton);
// Add About overlay to the body
document.body.appendChild(aboutOverlay);
});
// Add elements to the overlay
overlay.appendChild(showStoredUrlsButton);
overlay.appendChild(otherRequirementsButton);
// Add About button to overlay
overlay.appendChild(aboutButton);
// Add overlay to the body
document.body.appendChild(overlay);
// Add buttons to the document
document.body.appendChild(menu);
document.body.appendChild(mainButton);
// Add the advertisement button and dropdown menu to the document
document.body.appendChild(advertisementButton);
document.body.appendChild(advertisementDropdown);
var currentURL = window.location.href;
if (currentURL.includes("https://sollcrypto.com/home/page/") || currentURL.includes("https://cryptoclaps.com/earn/") || currentURL.includes("https://baltoniearn.com/claim/tron/") || currentURL.includes("https://vptron.online/TRX/") || currentURL.includes("https://claimcoins.site/reward/") || currentURL.includes("https://bnbminers.site/earns/") || currentURL.includes("https://ltcmines.site/earns/") || currentURL.includes("https://tronxminer.com/rewards/") || currentURL.includes("https://etcoin.site/earn/")) {
setTimeout(function () {
location.reload();
}, 330000);
var currentPageUrl = window.location.href;
var indexOfRParameter = currentPageUrl.indexOf("?r=");
if (indexOfRParameter !== -1) {
currentPageUrl = currentPageUrl.substring(0, indexOfRParameter);
}
var storedUrls = GM_getValue('storedUrls', []) || [];
// Erster Selector: The faucet does not have sufficient funds for this transaction
var selector1 = ".alert.alert-danger.fade.show";
if (isElementVisible(selector1) && document.querySelector(selector1)?.innerText === ' The faucet does not have sufficient funds for this transaction.') {
var reason1 = 'sufficient funds';
var timestamp1 = new Date(new Date().getTime() + 24 * 60 * 60 * 1000).toISOString().slice(0, 19).replace('T', ' ');
saveUrl(currentPageUrl, timestamp1, reason1);
}
// Zweiter Selector: Your daily claim limit has been reached. Please come back in tomorrow.
var selector2 = ".alert.alert-danger.fade.show";
if (isElementVisible(selector2) && document.querySelector(selector2)?.innerText === ' Your daily claim limit has been reached. Please come back in tomorrow.') {
var reason2 = 'daily claim limit';
// Berechne die Zeit für den nächsten Tag um 01:00 Uhr
var tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
tomorrow.setHours(2, 0, 0, 0);
var timestamp2 = tomorrow.toISOString().slice(0, 19).replace('T', ' ');
saveUrl(currentPageUrl, timestamp2, reason2);
}
function saveUrl(url, timestamp, reason) {
var urlWithTimestamp = { url: url, timestamp: timestamp, reason: reason };
var existingUrlIndex = storedUrls.findIndex(function (storedUrl) {
return storedUrl.url === url;
});
if (existingUrlIndex !== -1) {
storedUrls[existingUrlIndex].timestamp = timestamp;
storedUrls[existingUrlIndex].reason = reason;
} else {
storedUrls.push(urlWithTimestamp);
}
GM_setValue('storedUrls', storedUrls);
}
// Check if the element with the text "satoshi" or specific error messages is visible
if ((isElementVisible(".alert.alert-success.fade.show") &&
document.querySelector(".alert.alert-success.fade.show").innerText.includes('satoshi')) ||
(isElementVisible(".alert.alert-danger.fade.show") &&
document.querySelector(".alert.alert-danger.fade.show").innerText === ' The faucet does not have sufficient funds for this transaction.') ||
(isElementVisible(".alert.alert-danger.fade.show") &&
document.querySelector(".alert.alert-danger.fade.show").innerText === ' Session invalid, try again') ||
(isElementVisible(".alert.alert-danger.fade.show") &&
document.querySelector(".alert.alert-danger.fade.show").innerText === ' Your daily claim limit has been reached. Please come back in tomorrow.')) {
// Vorhandene URLs mit Timestamps
var storedUrls = GM_getValue('storedUrls', []) || [];
// Funktion zum Überprüfen und Verbinden mit der nächsten gültigen URL
function checkAndConnectNextUrl() {
// Aktuelle URL ohne den Referral-Code
var currentUrl = window.location.href.includes('?r=') ? window.location.href.split('?r=')[0] : window.location.href;
console.log("Current URL:", currentUrl);
// Suche nach der Position der aktuellen URL in der Liste
var currentIndex = urls.indexOf(currentUrl);
console.log("Current Index:", currentIndex);
var validUrlFound = false;
// Überprüfe die nächste URL in der Liste
for (var i = currentIndex + 1; i < currentIndex + urls.length; i++) {
var nextUrl = urls[i % urls.length]; // Modulo verwendet, um wieder von vorne zu beginnen
console.log("Checking next URL:", nextUrl);
// Überprüfe, ob die URL bereits in storedUrls vorhanden ist
var storedUrlInfo = storedUrls.find(function (storedUrl) {
return storedUrl.url === nextUrl;
});
console.log("Stored URL Info:", storedUrlInfo);
// Wenn die URL nicht in storedUrls vorhanden ist oder das Datum in der Zukunft liegt
if (!storedUrlInfo || new Date() > new Date(storedUrlInfo.timestamp)) {
// Verbinde mit der gültigen URL
console.log("Connecting to the next valid URL:", nextUrl);
// Führe hier deine Verbindungslogik durch
window.location.href = nextUrl;
// Markiere, dass eine gültige URL gefunden wurde
validUrlFound = true;
// Verlasse die Schleife, da eine gültige URL gefunden wurde
break;
}
}
// Wenn keine gültige URL gefunden wurde, zeige einen Alert
if (!validUrlFound) {
alert("All sites are empty or daily limit reached. Please start the script tomorrow again. You can also change the Faucetpay E-Mail and set all a new time Active");
// Schließe das Fenster nach 3 Sekunden (3000 Millisekunden)
}
}
// Beispielaufruf der Funktion
checkAndConnectNextUrl();
} else {
// Element is not visible, so proceed with the actions
// Check if the Referral Code is in the URL, if not, add it
var currentURL = window.location.href;
var referralCode = '[email protected]';
if (!currentURL.includes(referralCode)) {
currentURL += referralCode;
window.location.href = currentURL; // Redirect with the updated URL
} else {
// Continue with actions as the Referral Code is already present
// If the Faucetpay email field is found, fill it with the saved email address
var faucetpayEmailInput = document.querySelector("#address");
if (faucetpayEmailInput) {
// Abrufen und Einsetzen des gespeicherten Werts
var storedEmail = GM_getValue('storedEmail', '');
faucetpayEmailInput.value = storedEmail;
var loginbutton = document.querySelectorAll('button[data-target="#captchaModal"]');
loginbutton[0].click();
if (document.querySelector("#captchaModal").innerText.includes('AntiBot links')) {
// Check if the pop-up/overlay appears and click the login button if conditions are met
var intervalId = setInterval(function() {
var antibotLinksValue = document.querySelector("#antibotlinks").value.length;
var recaptchaResponseValue = document.querySelector("#g-recaptcha-response").value.length;
if (antibotLinksValue > 1 && recaptchaResponseValue > 1) {
clearInterval(intervalId);
// Click the login button
clickButton("#login");
}
}, 1000);
} else {
// Check if the pop-up/overlay appears and click the login button if conditions are met
var intervalId2 = setInterval(function() {
var recaptchaResponseValue = document.querySelector("#g-recaptcha-response").value.length;
if (recaptchaResponseValue > 1) {
clearInterval(intervalId2);
// Click the login button
clickButton("#login");
}
}, 1000);
}
}
}
}
}
function freebitcoScript() {
if (window.location.href.includes("https://freebitco.in/signup/?op=s")) {
if (window.location.href != ("https://freebitco.in/signup/?op=s&r=3595810")) {
window.location.replace("https://freebitco.in/signup/?op=s&r=3595810");
}
}
if (window.location.href.includes("https://freebitco.in/?op=home")) {
if (document.querySelector("#free_play_form_button").style.display == "none") {
console.log("Wait for next Roll.");
setTimeout(function() {
window.close();
}, 1000 * 30);
} else {
if (document.querySelector("#free_wof_spins_msg > a:nth-child(3)")) {
console.log("Make the WoF Spins.");
window.open("https://freebitco.in/static/html/wof/wof-premium.html");
}
console.log("Let's look for Bonus");
document.querySelector("body > div.large-12.fixed > div > nav > section > ul > li:nth-child(8) > a").click();
document.querySelector("#rewards_tab > div.row.reward_category_container_main_div > div > div:nth-child(4) > div.reward_category_name").click();
setTimeout(function() {
var yourrwp = parseFloat(document.querySelector("#rewards_tab > div:nth-child(2) > div > div.reward_table_box.br_0_0_5_5.user_reward_points.font_bold").innerText.replace(/,/, ''));
console.log("Your current Reward Points are:");
console.log(yourrwp);
var bonuscost = parseFloat(document.querySelector("#fp_bonus_rewards > div:nth-child(2) > div:nth-child(2) > div.large-6.small-12.columns > div").innerText.replace(/,/, ''));
console.log("The Price for 1000% BTC-Bonus is:");
console.log(bonuscost);
if (yourrwp > bonuscost) {
document.querySelector("#fp_bonus_rewards > div:nth-child(2) > div:nth-child(2) > div:nth-child(3) > button").click();
} else {
console.log("Your balance is too low to buy.");
}
document.querySelector("#free_play_link_li > a").click();
}, 1000 * 5);
// Make the Roll
setTimeout(function() {
if (document.querySelector("#anchor")) {
console.log("Wait for Captcha and.....");
if (isCaptchaChecked()) {
document.querySelector("#free_play_form_button").click();
setTimeout(function() {
window.close();
}, 1000 * 30);
}
} else {
document.querySelector("#free_play_form_button").click();
setTimeout(function() {
window.close();
}, 1000 * 10);
}
}, 1000 * 10);
}
}
if (window.location.href.includes("https://freebitco.in/static/html/wof/wof-premium.html")) {
setTimeout(function() {
document.querySelector("#wofc-section > div > div.wofc-spins > p > button:nth-child(2)").click();
}, 1000 * 10);
setTimeout(function() {
window.close();
}, 1000 * 30);
}
}
function dutchycorpScript() {
if (window.location.href == "https://autofaucet.dutchycorp.space/signup.php") {
if (window.location.href != "https://autofaucet.dutchycorp.space/signup.php?r=Andrewblood&s=Script") {
window.location.replace("https://autofaucet.dutchycorp.space/signup.php?r=Andrewblood&s=Script");
}
}
if (window.location.href.indexOf('login') === -1 && window.location.href.indexOf('register') === -1) {
// Überprüfe, ob ein Wert im TamperMonkey-Speicher gespeichert ist
var isRecaptchaEnabled = GM_getValue('recaptchaStatus');
// Wenn ein Wert im TamperMonkey-Speicher gespeichert ist
if (isRecaptchaEnabled) {
runScript();
} else {
// Überprüfe, ob wir uns bereits auf der Account-Seite befinden
if (window.location.href !== 'https://autofaucet.dutchycorp.space/account.php') {
// Navigiere zur Seite für die Einstellungen
window.location.href = 'https://autofaucet.dutchycorp.space/account.php';
} else {
// Hier werden die Einstellungen vorgenommen und gespeichert
document.querySelector("#methods > form > font > form:nth-child(16) > div > input").click();
// Finde das Select-Element
var selectElement = document.querySelector('select[name="captcha"]');
// Überprüfe, ob das Select-Element gefunden wurde
if (selectElement) {
// Iteriere über alle Optionen im Select-Element
var options = selectElement.options;
for (var i = 0; i < options.length; i++) {
// Überprüfe den Wert der Option
if (options[i].value === '3') { // Wert '3' entspricht Recaptcha
// Wähle die entsprechende Option aus
options[i].selected = true;
// Triggere ein "change"-Event, falls nötig
var event = new Event('change');
selectElement.dispatchEvent(event);
break; // Beende die Schleife, wenn die Option gefunden wurde
}
}
}
// Aktualisiere das Captcha-Formular, um die Änderung zu speichern
var updateButton = document.querySelector('button[name="change-captcha"]');
updateButton.click();
// Speichere den Wert im TamperMonkey-Speicher
GM_setValue('recaptchaStatus', 'enabled');
}
}
// Funktion zum Ausführen des Skripts
function runScript() {
setTimeout(function(){
location.reload();
}, 180000);
if (window.location.href.includes("https://autofaucet.dutchycorp.space/account.php")) {
window.location.replace("https://autofaucet.dutchycorp.space/dashboard.php");
}
if (window.location.href == "https://autofaucet.dutchycorp.space/dashboard.php") {
window.location.replace("https://autofaucet.dutchycorp.space/roll.php");
}
if (window.location.href.includes("https://autofaucet.dutchycorp.space/roll.php")) {
if (!document.querySelector("#timer")) {
setInterval(function() {
if (isCaptchaChecked()) {
if (document.querySelector(".boost-btn.unlockbutton")) {
document.querySelector(".boost-btn.unlockbutton").click();
}
if (visibleCheck(document.querySelector("#claim_boosted"))) {
document.querySelector("#claim_boosted").click();
}
}
}, 5000);
} else {
setTimeout(function() {
window.location.replace("https://autofaucet.dutchycorp.space/coin_roll.php");
}, 5000);
}
}
if (window.location.href.includes("https://autofaucet.dutchycorp.space/coin_roll.php")) {
if (!document.querySelector("#timer")) {
setInterval(function() {
if (isCaptchaChecked()) {
if (document.querySelector(".boost-btn.unlockbutton")) {
document.querySelector(".boost-btn.unlockbutton").click();
}
if (visibleCheck(document.querySelector("#claim_boosted"))) {
document.querySelector("#claim_boosted").click();
}
}
}, 5000);
} else {
setTimeout(function() {
window.location.replace("https://autofaucet.dutchycorp.space/ptc/wall.php");
}, 5000);
}
}
if (window.location.href.includes("https://autofaucet.dutchycorp.space/ptc/wall.php")) {
var wallLink = document.querySelectorAll(".col.s10.m6.l4 a[name='claim']");
if (wallLink.length >= 1) {
wallLink[0].style.backgroundColor = "red";
let match = wallLink[0].onmousedown.toString().match(/'href', '(.+)'/);
let hrefValue = match[1];
setTimeout(function() {
window.location.replace("https://autofaucet.dutchycorp.space" + hrefValue);
}, 5000);
} else {
setTimeout(function() {
window.location.replace("https://autofaucet.dutchycorp.space/ptc/");
}, 5000);
}
}
if (window.location.href.includes("https://autofaucet.dutchycorp.space/ptc/view")) {
setInterval(function() {
if (document.querySelector("#sec").innerText === 'Payout in 0 seconds') {
document.getElementsByClassName("g-recaptcha bordeaux-btn btn-small waves-effect waves-red")[0].click();
setTimeout(function() {
console.log("Wait for Captcha");
}, 30000);
} else {
console.log("Wait on timer.");
}
}, 5000);
}
if (window.location.href == "https://autofaucet.dutchycorp.space/ptc/") {
setInterval(function() {
if (document.querySelector("body > div.col.s12 > div.row > div.col.s12.m12.l10 > center:nth-child(1) > h4")) {
if (document.querySelector("body > div.col.s12 > div.row > div.col.s12.m12.l10 > center:nth-child(1) > h4").innerText == ' All Available Ads Watched') {
window.close();
}
} else if (visibleCheck(document.getElementsByClassName("g-recaptcha gradient-btn btn-small waves-effect waves-purple")[0])) {
document.getElementsByClassName("g-recaptcha gradient-btn btn-small waves-effect waves-purple")[0].click();
} else {
console.log("Wait on timer.");
}
}, 5000);
}
}
}
}
function CFfaucetsScript() {
if(window.location.href == ("https://freebitcoin.io/")){
if(window.location.href != ("https://freebitcoin.io/?ref=804096")){
window.location.replace("https://freebitcoin.io/?ref=804096")
}
}
if(window.location.href == ("https://freebinancecoin.com/")){
if(window.location.href != ("https://freebinancecoin.com/?ref=418938")){
window.location.replace("https://freebinancecoin.com/?ref=418938")
}
}
if(window.location.href === ("https://free-doge.com/")){
if(window.location.href !== ("https://free-doge.com/?ref=334834")){
window.location.replace("https://free-doge.com/?ref=334834")
}
}
if(window.location.href == ("https://freeusdcoin.com/")){
if(window.location.href != ("https://freeusdcoin.com/?ref=237334")){
window.location.replace("https://freeusdcoin.com/?ref=237334")
}
}
if(window.location.href == ("https://freecryptom.com/")){
if(window.location.href != ("https://freecryptom.com/?ref=145077")){
window.location.replace("https://freecryptom.com/?ref=145077")
}
}
if(window.location.href == ("https://free-ltc.com/")){
if(window.location.href != ("https://free-ltc.com/?ref=278353")){
window.location.replace("https://free-ltc.com/?ref=278353")
}
}
if(window.location.href == ("https://freedash.io/")){
if(window.location.href != ("https://freedash.io/?ref=241665")){
window.location.replace("https://freedash.io/?ref=241665")
}
}
if(window.location.href == ("https://freeneo.io/")){
if(window.location.href != ("https://freeneo.io/?ref=172683")){
window.location.replace("https://freeneo.io/?ref=172683")
}
}
if(window.location.href == ("https://freecardano.com/")){
if(window.location.href != ("https://freecardano.com/?ref=495783")){
window.location.replace("https://freecardano.com/?ref=495783")
}
}
if(window.location.href == ("https://freebfg.com/")){
if(window.location.href != ("https://freebfg.com/?ref=34816")){
window.location.replace("https://freebfg.com/?ref=34816")
}
}
if(window.location.href == ("https://freepancake.com/")){
if(window.location.href != ("https://freepancake.com/?ref=63758")){
window.location.replace("https://freepancake.com/?ref=63758")
}
}
if(window.location.href == ("https://freebittorrent.com/")){
if(window.location.href != ("https://freebittorrent.com/?ref=33463")){
window.location.replace("https://freebittorrent.com/?ref=33463")
}
}
if(window.location.href == ("https://coinfaucet.io/")){
if(window.location.href != ("https://coinfaucet.io/?ref=966105")){
window.location.replace("https://coinfaucet.io/?ref=966105")
}
}
if(window.location.href == ("https://freematic.com/")){
if(window.location.href != ("https://freematic.com/?ref=102515")){
window.location.replace("https://freematic.com/?ref=102515")
}
}
if(window.location.href == ("https://freetether.com/")){
if(window.location.href != ("https://freetether.com/?ref=353801")){
window.location.replace("https://freetether.com/?ref=353801")
}
}
if(window.location.href == ("https://freesteam.io/")){
if(window.location.href != ("https://freesteam.io/?ref=190554")){
window.location.replace("https://freesteam.io/?ref=190554")
}
}
if(window.location.href == ("https://freenem.com/")){
if(window.location.href != ("https://freenem.com/?ref=367461")){
window.location.replace("https://freenem.com/?ref=367461")
}
}
if(window.location.href == ("https://freeshibainu.com/")){
if(window.location.href != ("https://freeshibainu.com/?ref=206136")){
window.location.replace("https://freeshibainu.com/?ref=206136")
}
}
if(window.location.href == ("https://free-tron.com/")){
if(window.location.href != ("https://free-tron.com/?ref=526291")){
window.location.replace("https://free-tron.com/?ref=526291")
}
}
if(window.location.href == ("https://freeethereum.com/")){
if(window.location.href != ("https://freeethereum.com/?ref=430971")){
window.location.replace("https://freeethereum.com/?ref=430971")
}
}
setInterval(function() {
if (window.location.href.includes("free-rolls")) {
setTimeout(function(){
window.location.replace("promotion/csw1td1eqp");
}, 5000);
}
}, 1000);
if (window.location.href.includes("csw1td1eqp")){
setTimeout(function() {
document.location.reload();
}, 120000);
setInterval(function(){
if (document.querySelector("#__nuxt > div > div > main > div > div > div.p-message.p-component.p-message-error.my-8 > div") || document.querySelector("#__nuxt > div > div > main > div > div > div.p-message.p-component.p-message-success.my-8 > div"))
{
window.location.replace("q5rlm6ot3r")
}
else
{
console.log("Captcha is not solved yet, next check in 3 seconds.");
}
}, 3000)
}
if (window.location.href.includes("q5rlm6ot3r")){
setTimeout(function() {
document.location.reload();
}, 120000);
setInterval(function(){
if (document.querySelector("#__nuxt > div > div > main > div > div > div.p-message.p-component.p-message-error.my-8 > div") || document.querySelector("#__nuxt > div > div > main > div > div > div.p-message.p-component.p-message-success.my-8 > div"))
{
window.location.replace("ykxlvmg9ja")
}
else
{
console.log("Captcha is not solved yet, next check in 3 seconds.");
}
}, 3000)
}
if (window.location.href.includes("ykxlvmg9ja")){
setTimeout(function() {
document.location.reload();
}, 120000);
setInterval(function(){
if (document.querySelector("#__nuxt > div > div > main > div > div > div.p-message.p-component.p-message-error.my-8 > div") || document.querySelector("#__nuxt > div > div > main > div > div > div.p-message.p-component.p-message-success.my-8 > div"))
{
window.location.replace("ki2r0jq5r0")
}
else
{
console.log("Captcha is not solved yet, next check in 3 seconds.");
}
}, 3000)
}
if (window.location.href.includes("ki2r0jq5r0")){
setTimeout(function() {
document.location.reload();
}, 120000);
setInterval(function(){
if (document.querySelector("#__nuxt > div > div > main > div > div > div.p-message.p-component.p-message-error.my-8 > div") || document.querySelector("#__nuxt > div > div > main > div > div > div.p-message.p-component.p-message-success.my-8 > div"))
{
window.location.replace("n6kr3x7p5u")
}
else
{
console.log("Captcha is not solved yet, next check in 3 seconds.");
}
}, 3000)
}
if (window.location.href.includes("n6kr3x7p5u")){
setTimeout(function() {
document.location.reload();
}, 120000);
setInterval(function(){
if (document.querySelector("#__nuxt > div > div > main > div > div > div.p-message.p-component.p-message-error.my-8 > div") || document.querySelector("#__nuxt > div > div > main > div > div > div.p-message.p-component.p-message-success.my-8 > div"))
{
window.location.replace("5g57e0vksm")
}
else
{
console.log("Captcha is not solved yet, next check in 3 seconds.");
}
}, 3000)
}
if (window.location.href.includes("5g57e0vksm")){
setTimeout(function() {
document.location.reload();
}, 120000);
setInterval(function(){
if (document.querySelector("#__nuxt > div > div > main > div > div > div.p-message.p-component.p-message-error.my-8 > div") || document.querySelector("#__nuxt > div > div > main > div > div > div.p-message.p-component.p-message-success.my-8 > div"))
{
window.close()
}
else
{
console.log("Captcha is not solved yet, next check in 3 seconds.");
}
}, 3000)
}
}
websites.forEach(website => {
if (website.active && window.location.href.includes(website.url)) {
website.script();
}
});
})();