Advertisement
lotocamion

Claimfreecoins ROTATOR 7.0

May 7th, 2023 (edited)
2,266
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 21.47 KB | Cryptocurrency | 0 0
  1. // ==UserScript==
  2. // @name         Claimfreecoins  ROTATOR 7.0
  3. // @namespace    Earn Free Coin Instantly
  4. // @version      7.0
  5. // @description  Earn Free Coin Instantly
  6. // @author       lotocamion
  7. // @match        https://claimfreecoins.io/*
  8. // @connect      claimfreecoins.io
  9. // @grant        GM_setValue
  10. // @grant        GM_getValue
  11. // @grant        GM_xmlhttpRequest
  12. // @antifeature  referral-link
  13. // ==/UserScript==
  14.  
  15.  
  16.  
  17.  
  18. // INSTALL THE SCRIPT AND EDIT LINE 36 WITH YOUR FAUCETPAY EMAIL
  19. // INSTALL RECAPTCHA SOLVER
  20. // INSTALL BYPASS SHORTLINK
  21. // THEN GOTO https://claimfreecoins.io/bitcoin-faucet/[email protected] AND LEAVE THE TAB OPEN
  22.  
  23.  
  24.  
  25. (function() {
  26.     'use strict';
  27.  
  28.  
  29.  
  30.  
  31.  
  32.      
  33.  
  34.     //EDIT WITH YOUR FAUCETPAY EMAIL BELOW
  35.    
  36.     var fpayemail ="YOUR_FAUCETPAY_EMAIL";
  37.  
  38.  
  39.  
  40.  
  41.         var websiteData = [
  42.  
  43.  
  44.  
  45.  
  46.         {url : "https://claimfreecoins.io/bitcoin-faucet/[email protected]", coin: "bitcoin-faucet", address: fpayemail},
  47.         {url : "https://claimfreecoins.io/dogecoin-faucet/[email protected]", coin: "dogecoin-faucet", address: fpayemail},
  48.         {url : "https://claimfreecoins.io/litecoin-faucet/[email protected]", coin: "litecoin-faucet", address: fpayemail},
  49.         {url : "https://claimfreecoins.io/tron-faucet/[email protected]", coin: "tron-faucet", address: fpayemail},
  50.         {url : "https://claimfreecoins.io/bnb-faucet/[email protected]", coin: "bnb-faucet", address: fpayemail},
  51.         {url : "https://claimfreecoins.io/solana-faucet/[email protected]", coin: "solana-faucet", address: fpayemail},
  52.         {url : "https://claimfreecoins.io/dash-faucet/[email protected]", coin: "dash-faucet", address: fpayemail},
  53.         {url : "https://claimfreecoins.io/tether-faucet/[email protected]", coin: "tether-faucet", address: fpayemail},
  54.         {url : "https://claimfreecoins.io/zcash-faucet/[email protected]", coin: "zcash-faucet", address: fpayemail},
  55.         {url : "https://claimfreecoins.io/digibyte-faucet/[email protected]", coin: "digibyte-faucet", address: fpayemail},
  56.         {url : "https://claimfreecoins.io/ethereum-faucet/[email protected]", coin: "ethereum-faucet", address: fpayemail},
  57.         {url : "https://claimfreecoins.io/feyorra-faucet/[email protected]", coin: "feyorra-faucet", address: fpayemail},
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.         ];
  65.  
  66.  
  67.  
  68.  
  69.  
  70.       var websiteMap = [
  71.                        {website : ["claimfreecoins.io"],
  72.                        inputTextSelector: ["#address"],
  73.                        defaultButtonSelectors: ["button[class='btn btn-block my-2']",".btn.btn-block.btn-primary.my-2","a.btn.btn-block.my-2"],
  74.                        captchaButtonSubmitSelector: "#login",
  75.                        allMessageSelectors: [".alert.alert-warning",".alert.alert-success",".alert.alert-danger","#cf-error-details"],
  76.                        successMessageSelectors: [".alert.alert-success"],
  77.                        messagesToCheckBeforeMovingToNextUrl: ["The send limit set","sufficient","insufficient","you have reached","tomorrow","wrong order", "locked", "was sent to your", "You have to wait","Login not valid","You have already claimed","claimed successfully","Claim not Valid","rate limited"],
  78.                        ablinks: true
  79.                        },
  80.  
  81.  
  82.                        ];
  83.  
  84.  
  85.  
  86.  
  87.     var ablinksSolved = false;
  88.  
  89.     function triggerEvent(el, type) {
  90.     try{
  91.             var e = document.createEvent('HTMLEvents');
  92.             e.initEvent(type, false, true);
  93.             el.dispatchEvent(e);
  94.            }catch(exception){
  95.             console.log(exception);
  96.            }
  97.            }
  98.  
  99.  
  100.         String.prototype.includesOneOf = function(arrayOfStrings) {
  101.  
  102.  
  103.         if (!Array.isArray(arrayOfStrings)) {
  104.             return this.toLowerCase().includes(arrayOfStrings.toLowerCase());
  105.         }
  106.  
  107.         for (var i = 0; i < arrayOfStrings.length; i++) {
  108.         if (this.toLowerCase().includes(arrayOfStrings[i].toLowerCase())) {
  109.          return true;
  110.         }
  111.         }
  112.         return false;
  113.         }
  114.  
  115.         var websiteDataValues = {};
  116.  
  117.  
  118.             for (let value of Object.values(websiteMap)) {
  119.             if(window.location.href.includesOneOf(value.website)){
  120.             websiteDataValues.inputTextSelector= value.inputTextSelector;
  121.             websiteDataValues.inputTextSelectorButton = value.inputTextSelectorButton;
  122.             websiteDataValues.defaultButtonSelectors = value.defaultButtonSelectors;
  123.             websiteDataValues.claimButtonSelectors = value.claimButtonSelectors;
  124.             websiteDataValues.captchaButtonSubmitSelector = value.captchaButtonSubmitSelector;
  125.             websiteDataValues.allMessageSelectors = value.allMessageSelectors;
  126.             websiteDataValues.messagesToCheckBeforeMovingToNextUrl = value.messagesToCheckBeforeMovingToNextUrl;
  127.             websiteDataValues.withdrawPageUrl = value.withdrawPageUrl;
  128.             websiteDataValues.withdrawEnabled = value.withdrawEnabled;
  129.             websiteDataValues.balanceSelector = value.balanceSelector;
  130.             websiteDataValues.withdrawMinAmount = value.withdrawMinAmount;
  131.             websiteDataValues.successMessageSelectors = value.successMessageSelectors;
  132.             websiteDataValues.additionalFunctions = value.additionalFunctions;
  133.             websiteDataValues.timeoutbeforeMovingToNextUrl = value.timeoutbeforeMovingToNextUrl;
  134.             websiteDataValues.formSubmit = value.formSubmit;
  135.             websiteDataValues.ablinks = value.ablinks;
  136.             break;
  137.             }
  138.             }
  139.  
  140.     var count = 0;
  141.     var addressAssigned = false;
  142.     for (let value of Object.values(websiteData)){
  143.         count = count + 1;
  144.         if(value.url.includes(window.location.hostname) && (window.location.href.includes("/" + value.coin + "/") ||
  145.                                                             window.location.href.includes("/" + value.coin + "-") ||
  146.                                                             window.location.href.endsWith("/" + value.coin))){
  147.             websiteDataValues.address = value.address;
  148.             addressAssigned = true;
  149.             break;
  150.         }
  151.         }
  152.  
  153.  
  154.     if(!addressAssigned){
  155.         count = 0;
  156.         for (let value of Object.values(websiteData)) {
  157.             count = count + 1;
  158.  
  159.             if(value.url.includes(window.location.hostname)){
  160.                 if(value.regex){
  161.                     if(GM_getValue("UrlRegex")){
  162.                         if(GM_getValue("UrlRegex") == value.regex){
  163.                             websiteDataValues.address = value.address;
  164.                             break;
  165.                         }
  166.                         }else{
  167.                         GM_setValue("UrlRegex",value.regex);
  168.                         websiteDataValues.address = value.address;
  169.                         break;
  170.                         }
  171.                         }else{
  172.                     websiteDataValues.address = value.address;
  173.                     break;
  174.                     }
  175.                     }
  176.                     }
  177.                     }
  178.  
  179.  
  180.  
  181.  
  182.         async function getNextUrl(){
  183.  
  184.         if(count >= websiteData.length){
  185.             count = 0;
  186.         }
  187.  
  188.         websiteDataValues.nextUrl = websiteData[count].url;
  189.         websiteDataValues.regex = websiteData[count].regex;
  190.  
  191.  
  192.         pingTest(websiteDataValues.nextUrl);
  193.         }
  194. //////////////////
  195.     var isNextUrlReachable = true;
  196.  
  197.     function pingTest(websiteUrl) {
  198.         console.log(websiteUrl);
  199.         GM_xmlhttpRequest({
  200.             method: "GET",
  201.             url: websiteUrl,
  202.             headers: {
  203.                 "Content-Type": "application/x-www-form-urlencoded"
  204.             },
  205.             timeout: 5000,
  206.             onload: function(response) {
  207.  
  208.                 if(response && response.status == 200){
  209.                     isNextUrlReachable = true;
  210.                 }else{
  211.                     count=count+1;
  212.                     getNextUrl();
  213.                 }
  214.                },
  215.             onerror: function(e) {
  216.                 count=count+1;
  217.                 getNextUrl();
  218.             },
  219.             ontimeout: function() {
  220.                 count=count+1;
  221.                 getNextUrl();
  222.             },
  223.             });
  224.  
  225.             }
  226.  
  227.     async function delay(ms) {
  228.         return new Promise(resolve => setTimeout(resolve, ms))
  229.     }
  230.  
  231.  
  232.     var movingToNextUrl = false;
  233.     async function goToNextUrl() {
  234.         if(!movingToNextUrl){
  235.             movingToNextUrl = true;
  236.             getNextUrl();
  237.             while (!isNextUrlReachable) {
  238.                 await delay(5000);
  239.             }
  240.  
  241.             if( websiteDataValues.regex){
  242.                 GM_setValue("UrlRegex", websiteDataValues.regex);
  243.             }
  244.             window.location.href = websiteDataValues.nextUrl;
  245.             movingToNextUrl = true;
  246.            }
  247.            }
  248.  
  249.     async function goToWithdrawPage() {
  250.         if(!movingToNextUrl){
  251.             movingToNextUrl = true;
  252.             window.location.href = websiteDataValues.withdrawPageUrl;
  253.         }
  254.  
  255.     }
  256.  
  257.  
  258.  
  259.     var delayBeforeMovingToNextUrl = 115000;
  260.     if(websiteDataValues.timeoutbeforeMovingToNextUrl){
  261.         delayBeforeMovingToNextUrl = websiteDataValues.timeoutbeforeMovingToNextUrl;
  262.     }
  263.  
  264.     setTimeout(function(){
  265.         movingToNextUrl = false;
  266.         goToNextUrl();
  267.     },delayBeforeMovingToNextUrl);
  268.  
  269.  
  270.  
  271.     if (window.location.href.includes("to=FaucetPay") || (websiteDataValues.address) && (websiteDataValues.address.length < 5 || websiteDataValues.address.includes("YOUR_"))){
  272.         goToNextUrl();
  273.     }
  274.  
  275.  
  276.     function messageSelectorsPresent(){
  277.         if(websiteDataValues.allMessageSelectors){
  278.             for(var j=0;j<websiteDataValues.allMessageSelectors.length;j++){
  279.                 for(var k=0; k< document.querySelectorAll(websiteDataValues.allMessageSelectors[j]).length;k++){
  280.                     if(document.querySelectorAll(websiteDataValues.allMessageSelectors[j])[k] &&
  281.                        (document.querySelectorAll(websiteDataValues.allMessageSelectors[j])[k].innerText.includesOneOf(websiteDataValues.messagesToCheckBeforeMovingToNextUrl) ||
  282.                         (document.querySelectorAll(websiteDataValues.allMessageSelectors[j])[k].value &&
  283.                          document.querySelectorAll(websiteDataValues.allMessageSelectors[j])[k].value.includesOneOf(websiteDataValues.messagesToCheckBeforeMovingToNextUrl)))){
  284.                         return true;
  285.                     }
  286.                 }
  287.             }
  288.         }
  289.         return false;
  290.     }
  291.  
  292.  
  293.     function checkMessageSelectorsLength(){
  294.         if(websiteDataValues.allMessageSelectors){
  295.             for(var j=0;j<websiteDataValues.allMessageSelectors.length;j++){
  296.                 for(var k=0; k< document.querySelectorAll(websiteDataValues.allMessageSelectors[j]).length;k++){
  297.                     if(document.querySelectorAll(websiteDataValues.allMessageSelectors[j])[k] &&
  298.                        (document.querySelectorAll(websiteDataValues.allMessageSelectors[j])[k].innerText.length > 0) ||
  299.                        (document.querySelectorAll(websiteDataValues.allMessageSelectors[j])[k].value &&
  300.                         document.querySelectorAll(websiteDataValues.allMessageSelectors[j])[k].value.length > 0)){
  301.                         return true;
  302.                     }
  303.                     }
  304.                     }
  305.                     }
  306.                     return false;
  307.                     }
  308.  
  309.     function successMessageSelectorsPresent(){
  310.         if(websiteDataValues.successMessageSelectors){
  311.             for(var j=0;j<websiteDataValues.successMessageSelectors.length;j++){
  312.                 for(var k=0; k< document.querySelectorAll(websiteDataValues.successMessageSelectors[j]).length;k++){
  313.                     if(document.querySelectorAll(websiteDataValues.successMessageSelectors[j])[k] && document.querySelectorAll(websiteDataValues.successMessageSelectors[j])[k].innerText.includesOneOf(websiteDataValues.messagesToCheckBeforeMovingToNextUrl)){
  314.                         return true;
  315.                     }
  316.                     }
  317.                     }
  318.                     }
  319.                     return false;
  320.                     }
  321.  
  322.  
  323.          function ablinksCaptcha() {
  324.  
  325.         setInterval(function(){
  326.  
  327.             if(document.querySelector("#switch") && document.querySelector("#switch").innerText.toLowerCase().includes("hcaptcha")){
  328.                 document.querySelector("#switch").click();
  329.             } else if(document.querySelector("#switch") && document.querySelector("#switch").innerText.toLowerCase().includes("recaptcha")){
  330.                 document.querySelector("#switch").click();
  331.             }
  332.             var count = 0;
  333.  
  334.             var abModels = [ ".modal-content [href='/']", ".modal-body [href='/']", ".antibotlinks [href='/']"];
  335.             var abModelsImg = [ ".modal-content [href='/'] img", ".modal-body [href='/'] img", ".antibotlinks [href='/'] img"];
  336.             for(let j=0; j< abModelsImg.length;j++){
  337.                 if (document.querySelector(abModelsImg[j]) &&
  338.                     document.querySelector(abModelsImg[j]).value == "####"){
  339.                     goToNextUrl();
  340.                     break;
  341.                 }
  342.                 }
  343.  
  344.             for(let i=0;i< 4;i++){
  345.                 for(let j=0; j< abModels.length;j++){
  346.                     if (document.querySelectorAll(abModelsImg[j]).length ==4 &&
  347.                         document.querySelectorAll(abModels[j])[i] &&
  348.                         document.querySelectorAll(abModels[j])[i].style &&
  349.                         document.querySelectorAll(abModels[j])[i].style.display == 'none') {
  350.                         count ++;
  351.                         break;
  352.                        }
  353.                        }
  354.             }
  355.             if(count == 4){
  356.                 ablinksSolved = true;
  357.             }
  358.             },5000);
  359.  
  360.             }
  361.  
  362.         setTimeout(function(){
  363.         if(document.querySelector("#invisibleCaptchaShortlink")){
  364.             document.querySelector("#invisibleCaptchaShortlink").click();
  365.         }
  366.         setInterval(function() {
  367.         if(document.querySelector(".btn.btn-success.btn-lg.get-link")){
  368.         document.querySelector(".btn.btn-success.btn-lg.get-link").click();
  369.         }
  370.  
  371.         //if(window.location.href.includes("starcoins.ws") || window.location.href.includes("hosting4lifetime.com")){
  372.             //websiteDataValues.captchaButtonSubmitSelector = "#btn-before";
  373.             //let clicked = false;
  374.             //unsafeWindow.open = function(url){window.location.href = url};
  375.             //setInterval(function(){
  376.                 //if(!clicked && document.querySelector("#btn6") && !document.querySelector("#btn6").disabled){
  377.                     //document.querySelector("#btn6").click();
  378.                     //clicked = true;
  379.                     //}
  380.                     //},7000)
  381.  
  382.             setTimeout(function(){
  383.                 window.location.href= websiteData[0].url;
  384.             },120000)
  385.             //}
  386.  
  387.             },5000)
  388.  
  389.             },5000)
  390.  
  391.          function herafaucet(){
  392.         if(document.querySelector("div.daily-claims.alert-info > div.text-right p") && Number(document.querySelector("div.daily-claims.alert-info > div.text-right p").innerText.split(" ")[0]) <= 0){
  393.         goToNextUrl();
  394.         }
  395.         }
  396.  
  397.     function diamondfaucet() {
  398.         if(document.querySelector("#first > p.alert.a-info") && Number(document.querySelector("#first > p.alert.a-info").innerText.split(".")[1].split(" ")[0]) <= 0) {
  399.             goToNextUrl();
  400.         }
  401.          }
  402.  
  403.  
  404.  
  405.     setTimeout(function(){
  406.  
  407.         ablinksCaptcha();
  408.  
  409.  
  410.         if(window.name == "nextWindowUrl"){
  411.             window.name = "";
  412.             goToNextUrl();
  413.             return;
  414.         }else{
  415.             window.name = window.location.href;
  416.         }
  417.  
  418.  
  419.         if( websiteDataValues.additionalFunctions){
  420.             websiteDataValues.additionalFunctions();
  421.         }
  422.  
  423.         if(websiteDataValues.withdrawEnabled){
  424.             if(websiteDataValues.balanceSelector && document.querySelector(websiteDataValues.balanceSelector)){
  425.                 var currentBalance = document.querySelector(websiteDataValues.balanceSelector).innerText;
  426.                 if(currentBalance > websiteDataValues.withdrawMinAmount && !window.location.href.includes(websiteDataValues.withdrawPageUrl)) {
  427.                     goToWithdrawPage();
  428.                 }
  429.  
  430.             }else{
  431.                 if(successMessageSelectorsPresent()){
  432.                     goToWithdrawPage();
  433.                 }
  434.                 }
  435.                 }
  436.  
  437.  
  438.         if(!movingToNextUrl && messageSelectorsPresent()){
  439.             goToNextUrl();
  440.         }
  441.  
  442.  
  443.  
  444.         if(!movingToNextUrl && document.querySelector(websiteDataValues.inputTextSelector)){
  445.             document.querySelector(websiteDataValues.inputTextSelector).value = websiteDataValues.address;
  446.             triggerEvent(document.querySelector(websiteDataValues.inputTextSelector), 'keypress');
  447.             triggerEvent(document.querySelector(websiteDataValues.inputTextSelector), 'change');
  448.             setTimeout(function(){
  449.                 if(websiteDataValues.inputTextSelectorButton && document.querySelector(websiteDataValues.inputTextSelectorButton)){
  450.                     document.querySelector(websiteDataValues.inputTextSelectorButton).click();
  451.                 }
  452.  
  453.             },5000);
  454.         }
  455.  
  456.  
  457.         if(!movingToNextUrl && websiteDataValues.defaultButtonSelectors){
  458.             for(let i=0;i<websiteDataValues.defaultButtonSelectors.length ;i++){
  459.                 if(document.querySelector(websiteDataValues.defaultButtonSelectors[i])){
  460.                     triggerEvent(document.querySelector(websiteDataValues.defaultButtonSelectors[i]), 'mousedown');
  461.                     triggerEvent(document.querySelector(websiteDataValues.defaultButtonSelectors[i]), 'mouseup');
  462.                     document.querySelector(websiteDataValues.defaultButtonSelectors[i]).click();
  463.                     break;
  464.                 }
  465.                 }
  466.                 }
  467.  
  468.             setTimeout(function(){
  469.             if(!movingToNextUrl && websiteDataValues.claimButtonSelectors){
  470.                 for(let i=0;i<websiteDataValues.claimButtonSelectors.length ;i++){
  471.                     if(document.querySelector(websiteDataValues.claimButtonSelectors[i])){
  472.                         triggerEvent(document.querySelector(websiteDataValues.claimButtonSelectors[i]), 'mousedown');
  473.                         triggerEvent(document.querySelector(websiteDataValues.claimButtonSelectors[i]), 'mouseup');
  474.                         document.querySelector(websiteDataValues.claimButtonSelectors[i]).click();
  475.                         break;
  476.                     }
  477.                     }
  478.                     }
  479.                     },5000);
  480.  
  481.  
  482.  
  483.  
  484.         var clicked = false;
  485.         var captchaInterval = setInterval(function(){
  486.  
  487.             if(websiteDataValues.ablinks && !ablinksSolved){
  488.                 return;
  489.             }
  490.  
  491.             try{
  492.                if(!clicked && unsafeWindow.grecaptcha && unsafeWindow.grecaptcha.getResponse().length > 0 &&
  493.                    websiteDataValues.captchaButtonSubmitSelector && document.querySelector(websiteDataValues.captchaButtonSubmitSelector) &&
  494.                    document.querySelector(websiteDataValues.captchaButtonSubmitSelector).style.display != 'none' &&
  495.  
  496.                    !document.querySelector(websiteDataValues.captchaButtonSubmitSelector).disabled) {
  497.                     if(websiteDataValues.formSubmit){
  498.                         document.querySelector(websiteDataValues.captchaButtonSubmitSelector).submit();
  499.                     }else{
  500.                         document.querySelector(websiteDataValues.captchaButtonSubmitSelector).click();
  501.                     }
  502.                     clicked = true;
  503.  
  504.                     clearInterval(captchaInterval);
  505.                     setTimeout(function(){
  506.                     if(messageSelectorsPresent()){
  507.                     goToNextUrl();
  508.                     }
  509.                     },5000);
  510.                     }
  511.                     }catch(e){
  512.  
  513.                     }
  514.  
  515.             for(var hc=0; hc < document.querySelectorAll("iframe").length; hc++){
  516.                 if(! clicked && document.querySelectorAll("iframe")[hc] &&
  517.                    document.querySelectorAll("iframe")[hc].hasAttribute("data-hcaptcha-response") &&
  518.                    document.querySelectorAll("iframe")[hc].getAttribute("data-hcaptcha-response").length > 0 &&
  519.                    websiteDataValues.captchaButtonSubmitSelector && document.querySelector(websiteDataValues.captchaButtonSubmitSelector) &&
  520.                    document.querySelector(websiteDataValues.captchaButtonSubmitSelector).style.display != 'none' &&
  521.                    !document.querySelector(websiteDataValues.captchaButtonSubmitSelector).disabled) {
  522.                     if(websiteDataValues.formSubmit){
  523.                     document.querySelector(websiteDataValues.captchaButtonSubmitSelector).submit();
  524.                     }else{
  525.                     document.querySelector(websiteDataValues.captchaButtonSubmitSelector).click();
  526.                     }
  527.                     clicked = true;
  528.                     clearInterval(captchaInterval);
  529.                     setTimeout(function(){
  530.                     if(messageSelectorsPresent()){
  531.                     goToNextUrl();
  532.                     }
  533.                     },5000);
  534.                     }
  535.                     }
  536.                     },5000);
  537.                     },5000);
  538.  
  539. })();
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement