- // ==UserScript==
- // @name Auto BTC Rotator with PTC Support
- // @namespace http://tampermonkey.net/
- // @version 0.5
- // @description auto faucets
- // @author vikiweb
- // @match https://btcadspace.com/*
- // @match https://easysatoshi.com/*
- // @match https://firefaucet.win/*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=btcadspace.com
- // @grant GM_xmlhttpRequest
- // @grant GM_setValue
- // @grant GM_getValue
- // @license MIT
- // ==/UserScript==
-
- (function() {
- 'use strict';
-
- let sites = [
- {faucetUrl: "https://btcadspace.com/faucet", username: "", password: "", enableFaucet:true, faucetCaptcha:false},
- {faucetUrl: "https://easysatoshi.com/faucet", username: "", password: "", enableFaucet:true, faucetCaptcha:false},
- {faucetUrl: "https://firefaucet.win/faucet/", username: "", password: "",},
- ];
-
- let sitesMap = [
- {
- websiteUrl:"https://btcadspace.com",
- homePageCheck : "body section.slider",
- claimPopupOpen : ".btn-primary.btn-lg",
- loginCaptchaCheck : true,
- surfSelectors:".card:not(.visited-link)",
- surfStartBtn:".card-body #box .start-btn",
- },
- {
- websiteUrl:"https://easysatoshi.com",
- homePageCheck : "body h1.display-5.fw-bold",
- claimPopupOpen : ".btn-primary.btn-lg",
- loginCaptchaCheck : true,
- surfSelectors:".container .row .col-lg-4 a:not(.opacity-50)",
- surfStartBtn:".container .row .start-btn",
- },
- {
- websiteUrl:"https://firefaucet.win",
- homePageCheck : "form[action='/login']",
- claimPopupOpen : "",
- loginCaptchaCheck : true,
- surfSelectors:".card.ptc-advert-card .watch-btn",
- surfStartBtn:".card-body #box .start-btn",
- additionalFunction : fireFaucet,
- },
- ]
-
-
- let check_address = window.location.origin;
- let currentFaucetUrl = new URL(window.location.href);
- let currentOrigin = currentFaucetUrl.origin;
- let currentIndex = sites.findIndex(site => site.faucetUrl.includes(currentOrigin));
- let websiteIndex = sitesMap.findIndex(website => website.websiteUrl.includes(currentOrigin));
- let oldfunction = unsafeWindow.open;
- let windowName = "";
- let interval = 1;
-
- function movetonext() {
- if (currentIndex === sites.length - 1) {
- currentIndex = 0;
- console.log("All sites visited. Starting from 0 again.");
- } else {
- currentIndex++;
- }
- window.location.href = sites[currentIndex].faucetUrl;
- }
-
- function checkWindow(params1, params2) {
- console.log(params1 + params2);
- if (!params2 || params2 == "_blank") {
- windowName = "popUpWindow";
- } else {
- windowName = params2;
- }
- console.log("WindowName is::" + windowName);
- return oldfunction(params1, windowName);
- };
-
- function movetosurf() {
- window.location.href = check_address +'/surf'
- }
-
- // Check if captcha is checked
- function isCaptchaChecked() {
- return grecaptcha && grecaptcha.getResponse().length !== 0;
- }
-
- // Check if on faucet page and claim button is disabled
- function isFaucetClaimButtonDisabled(claimPopup) {
- return document.querySelector(claimPopup) && document.querySelector(claimPopup).disabled;
- }
-
- // Check if on faucet page is fully claimed
- function isFaucetFullyClaimed() {
- return document.querySelector(".notyf-announcer") && document.querySelector(".notyf-announcer").innerText.includes('You reached the maximum')
- }
-
- function visibleCheck(elm) {
- if(!elm.offsetHeight && !elm.offsetWidth) { return false; }
- if(getComputedStyle(elm).visibility === 'hidden') { return false; }
- return true;
- }
-
- function websiteLogin(site){
- setInterval(function() {
- if (document.querySelector("#username")) {
- document.querySelector("#username").value = site.username;
- }
- if (document.querySelector("#password")) {
- document.querySelector("#password").value = site.password;
- }
- if (sitesMap[websiteIndex].loginCaptchaCheck){
- if (isCaptchaChecked()) {
- if (document.querySelector("button[type='submit']")) {
- document.querySelector("button[type='submit']").click();
- }
- }
- }else{
- if (document.querySelector("button[type='submit']")) {
- document.querySelector("button[type='submit']").click();
- }
- }
-
- }, 6000);
- }
-
- function fireFaucet(site) {
- if (document.querySelector(sitesMap[websiteIndex].homePageCheck)) {
- websiteLogin(site)
- }
-
- if(document.querySelector(".dashboard-action-btns")){
- if(document.querySelector("[href='/daily']") && !document.querySelector("[href='/daily']").classList.contains('disabled')){
- document.querySelector("[href='/daily']").click();
- }else if(document.querySelector(".dashboard-action-btns [href='/faucet/']") && !document.querySelector(".dashboard-action-btns [href='/faucet/']").classList.contains('disabled')){
- document.querySelector(".dashboard-action-btns [href='/faucet/']").click();
- }else{
- movetonext()
- }
- }
-
- if (window.location.href.includes(check_address +'/daily') || window.location.href.includes(check_address +'/faucet/')) {
- setInterval(function() {
- if (document.querySelector("button[type='submit']")) {
- if (isCaptchaChecked()) {
- document.querySelector("button[type='submit']").click();
- }
- }
- if(document.querySelector(".btn.earn-btns") && document.querySelector(".btn.earn-btns").innerText.includes("Continue") || document.querySelector(".btn.earn-btns").innerText.includes("Go Home")){
- document.querySelector(".btn.earn-btns").click();
- }
- }, 6000);
- }
- }
-
- // Process current site
- function processSite(site) {
- if (sitesMap[websiteIndex].additionalFunction) {
- sitesMap[websiteIndex].additionalFunction(site);
- }else{
- if(document.querySelector(sitesMap[websiteIndex].homePageCheck) && (window.location.href.includes(check_address))) {
- window.location.replace(check_address + "/login");
- }
-
- if (window.location.href.includes(check_address +'/login')) {
- console.log(sitesMap[websiteIndex], websiteIndex)
- websiteLogin(site)
- }
-
- if(window.location.href.includes(check_address +'/account')) {
- if(site.enableFaucet){
- window.location.replace(check_address +'/faucet');
- }
- }
-
-
- if (window.location.href.includes(check_address +'/faucet')) {
-
- let fauceClick = false;
-
- setInterval(function() {
- if (document.querySelector(sitesMap[websiteIndex].claimPopupOpen) && fauceClick === false) {
- document.querySelector(sitesMap[websiteIndex].claimPopupOpen).click();
- fauceClick = true;
- }
- }, 5000);
-
- setInterval(function() {
- if(document.querySelector("button[type='submit']")){
- if(site.faucetCaptcha == true){
- if (isCaptchaChecked()) {
- document.querySelector("button[type='submit']").click();
- }
- }else{
- document.querySelector("button[type='submit']").click();
- }
- }
- if(isFaucetFullyClaimed()){
- movetonext();
- }
- }, 5000);
- setInterval(function() {
- if (isFaucetClaimButtonDisabled(sitesMap[websiteIndex].claimPopupOpen) && site.enableSurf == true) {
- movetosurf()
- }else if(isFaucetClaimButtonDisabled(sitesMap[websiteIndex].claimPopupOpen)){
- movetonext()
- }
- }, interval * 60000);
- }
- }
- }
-
- // Start processing the first site
- processSite(sites[currentIndex]);
- })();