Inferno Star! Freebitco.in VOID Pro! AutoRecaptcha included to run with fresh accounts!

Prepare for the amageddon!!

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         Inferno Star! Freebitco.in VOID Pro! AutoRecaptcha included to run with fresh accounts!
// @namespace    https://greasyfork.org/de/users/444902-dauersendung
// @version      1.4
// @description  Prepare for the amageddon!!
// @description  This script clicks the recaptcha checkbox and checks if captcha has been solved and Freeroll
// @description  It redeems Xtra Rewardpoints and Xtra FreeBonus. You can deactivate by BTC_Bonus//Free_Points
// @description  It checks if VPN is connected before entering freebitco.in - set startpage to example.com
// @description  Works only with my ReSolver
// @description  Buy the whole script with ReSolver and setupguide for 100 accounts / houre for 25 $ in btc !!!
// @description  Twitch to see the script running with recaptcha solver --- https://www.twitch.tv/omegaman447
// @description  Buy here the whole bundle: https://satoshidisk.com/pay/C9DpKd
// @author       Dauersendung
// @match        http://example.com
// @match        https://www.google.com/recaptcha/api2*
// @include      /^https?://www\.google\.com/recaptcha/api2/anchor.*$/
// @require      http://code.jquery.com/jquery-latest.js
// @match        https://freebitco.in/*
// @grant        GM.xmlHttpRequest
// @grant        GM.getValue
// @grant        GM.setValue
// @grant        window.close
// @grant        unsafeWindow
// ==/UserScript==

(function() {
    'use strict';
    /*
    Multiple IPs example:
    var IPS = ["127.0.0.", "127.0.0.", "127.0.0."];
    Single IP example:
    var IPS = ["127.0.0."]
    */
    var IPS = [""];
    var VPN_RETRIES = 2; // How many times should it retry before closing?
    var VPN_WAIT_SECONDS = 15; // How many seconds should it wait between each retry?
    var DISCORD_WEBHOOK = "https://discordapp.com/api/webhooks/696860156247539753/EuzFtaa0u3HNe_VSddinah4eVPzzBAyiJIiifqMxrZL0s6ejp6vXaqrkUxrvzTqxC7v4";

    var Free_Points = "disabled", // Options enabled/disabled Toggles free points on and off
    Points_100 =  1, // use 0 to disable each points level
    Points_50 =   1,
    Points_25 =   1,
    Points_10 =   1,
    BTC_Bonus =   "disabled", // Optins enabled/disabled Toggles BTC bonus on and off
    BTC_1000 =    1, // use 0 to disable each BTC level
    BTC_500 =     1,
    BTC_100 =     1,
    Captcha =     "disabled";  /* options enabled/disabled If "disabled" the script will use RP and click the play_without_captcha button. "enabled" causes the script to loop until the captcha is solved which can take a long time. */

    var reward = {};
       reward.select = function() {
        reward.points = parseInt(unsafeWindow.$('.user_reward_points').text().replace(',',""));
        reward.bonustime = {};
        if (unsafeWindow.$("#bonus_container_free_points").length != 0) {
            reward.bonustime.text = unsafeWindow.$('#bonus_span_free_points').text();
            reward.bonustime.hour = parseInt(reward.bonustime.text.split(":")[0]);
            reward.bonustime.min = parseInt(reward.bonustime.text.split(":")[1]);
            reward.bonustime.sec = parseInt(reward.bonustime.text.split(":")[2]);
            reward.bonustime.current = reward.bonustime.hour * 3600 + reward.bonustime.min * 60 + reward.bonustime.sec;
        } else {
            reward.bonustime.current = 0;
        }
        console.log(reward.bonustime.current);
        if (reward.bonustime.current !== 0) {
            console.log(reward.bonustime.current);
        } else if (Free_Points === "enabled"){
            if (reward.points < 120) {
                console.log("waiting for 120 points");
            }
            else {
                if (Points_100 !== 0){
                unsafeWindow.RedeemRPProduct('free_points_100');}
                if (Points_50 !== 0){
                unsafeWindow.RedeemRPProduct('free_points_50');}
                if (Points_25 !== 0){
                unsafeWindow.RedeemRPProduct('free_points_25');}
                if (Points_10 !== 0){
                unsafeWindow.RedeemRPProduct('free_points_10');}
            }
        }

        if (unsafeWindow.$("#bonus_container_fp_bonus").length != 0) {
            reward.bonustime.text = unsafeWindow.$('#bonus_span_fp_bonus').text();
            reward.bonustime.hour = parseInt(reward.bonustime.text.split(":")[0]);
            reward.bonustime.min = parseInt(reward.bonustime.text.split(":")[1]);
            reward.bonustime.sec = parseInt(reward.bonustime.text.split(":")[2]);
            reward.bonustime.current = reward.bonustime.hour * 3600 + reward.bonustime.min * 60 + reward.bonustime.sec;
        } else {
            reward.bonustime.current = 0;
        }
        console.log(reward.bonustime.current);
        if (reward.bonustime.current !== 0) {
            console.log(reward.bonustime.current);
        } else if (BTC_Bonus === "enabled"){
            if (reward.points < 3200) {
                console.log("waiting for 320 points");
            }
            else {
                if (BTC_1000 !== 0){
                unsafeWindow.RedeemRPProduct('fp_bonus_1000');}
                if (BTC_500 !== 0){
                unsafeWindow.RedeemRPProduct('fp_bonus_500');}
                if (BTC_100 !== 0 ){
                unsafeWindow.RedeemRPProduct('fp_bonus_100');}
            }
        }

        unsafeWindow.$('.close-reveal-modal')[0].click();
        };
    function rand(min, max){
      return Math.floor(Math.random() * (max - min + 1) + min);
    }

    function sendToDiscord(close_it){
        console.log("sending to Discord");
        GM.getValue("profileName", "NoProfileName").then(profileName => {
            console.log("got profile name " + profileName);
            GM.xmlHttpRequest({
                method: "POST",
                url: DISCORD_WEBHOOK + "?wait=false",
                headers: {"Content-Type": "application/json"},
                data: JSON.stringify({"content": "Ship " + profileName + " has sunk"}),
            });
            if(close_it){
                setTimeout(function(){
                    var win = window.open('', '_self', '');
                    window.close();
                }, 2000);
            }
        });
    }

    function vpnCheck() {
        var btnSet = document.createElement("button");
        btnSet.textContent = "Set profile name";
        btnSet.style.position = "absolute";
        btnSet.style.left = "0";
        btnSet.style.top = "0";
        btnSet.style.zIndex = "999";
        btnSet.addEventListener("click", function(){
            var p = prompt("Profile name?");
            GM.setValue("profileName", p);
        });
        document.body.appendChild(btnSet);

        var vpnCount = VPN_RETRIES;
        var vpnInterval = setInterval(function(){
            if(vpnCount === 0){
                sendToDiscord(true);
            }

            GM.xmlHttpRequest({
              method: "GET",
              url: "https://ipecho.net/plain",
              onload: function(response) {
                var ip = response.responseText;
                var ok = false;

                for(var i=0; i<IPS.length; ++i){
                    if (ip.startsWith(IPS[i])){
                        ok = true;
                        break;
                    }
                }
                if (ok){
                    window.location = "https://freebitco.in";
                    clearInterval(vpnInterval);
                    vpnCount = VPN_RETRIES;
                    console.log("VPN is active");
                } else vpnCount--;
              }
            });
        }, VPN_WAIT_SECONDS * 1000);
    }

   (function() {
    'use strict';
    setTimeout(function(){
        console.log("step1");
        $("#rc-anchor-container").click();
 }, 3000);
 })();

    function recaptchaClicker() {
        var z = setInterval(function() {
            var ele = unsafeWindow.$(".recaptcha-checkbox-border");
            if (ele.length > 0) return;

            setTimeout(function() { ele.click(); }, rand(1000, 3000));
            clearInterval(z);
        }, 1000);
    }

    function freebitco() {
        var btnSet = document.createElement("button");
        btnSet.textContent = "Set profile name";
        btnSet.style.position = "absolute";
        btnSet.style.left = "0";
        btnSet.style.top = "0";
        btnSet.style.zIndex = "999";
        btnSet.addEventListener("click", function(){
            var p = prompt("Profile name?");
            GM.setValue("profileName", p);
        });
        document.body.appendChild(btnSet);

        var blocked_recaptcha = 100;
        var rollInterval = setInterval(function(){
            if(unsafeWindow.grecaptcha == undefined) return;
            if (unsafeWindow.$('#free_play_form_button').is(':visible') == false) return;
            if (blocked_recaptcha == 0){
                var withoutCaptcha = unsafeWindow.$('#play_without_captchas_button');
                if(withoutCaptcha.is(':visible')) {
                    withoutCaptcha.click();
                     $('#free_play_form_button').click();
                }
                blocked_recaptcha = 100;
            }
            var resp = unsafeWindow.grecaptcha.getResponse();
            if(resp.length > 0){
                setTimeout(function() {unsafeWindow.$("#free_play_form_button").click();}, rand(1000, 3000));
                blocked_recaptcha = 100;
                clearInterval(rollInterval);
                return;
            }else{
                blocked_recaptcha--;
            }
        }, 1000);
        var rewardInterval = setInterval(function(){
            if(unsafeWindow.RedeemRPProduct == undefined) return;
            reward.select();
        }, 5000);
        var closeModalInterval = setInterval(function(){
            var ele = unsafeWindow.$('.close-reveal-modal');
            if(ele.length > 0) {
                ele.click();
            }
        }, 1000);

        var vpnCount = VPN_RETRIES;

        var checkVpnInterval = setInterval(function(){
            if(vpnCount === 0){
                sendToDiscord(true);
            }

            GM.xmlHttpRequest({
              method: "GET",
              url: "https://ipecho.net/plain",
              onload: function(response) {
                var ip = response.responseText;
                var ok = false;
                for(var i=0; i<IPS.length; ++i){
                    if (ip.startsWith(IPS[i])){
                        ok = true;
                        break;
                    }
                }
                if (ok){
                    vpnCount = VPN_RETRIES;
                } else vpnCount--;
              }
            });
        }, VPN_WAIT_SECONDS * 1000);
    }

    var loc = location.toString();
    if(loc.indexOf("example.com") !== -1) vpnCheck();
    else if(loc.indexOf("google.com/recaptcha/api2") !== -1) recaptchaClicker();
    else if(loc.indexOf("freebitco.in") !== -1) freebitco();

})();