// ==UserScript== // @name [Premium] Freebitco.in // @namespace https://greasyfork.org/users/1162863 // @version 3.5 // @description Faucet Roll/1000% BTC Bonus/WoF Spin with Overlay for settings // @author Andrewblood // @icon https://www.google.com/s2/favicons?sz=64&domain=freebitco.in // @match *://*.freebitco.in/* // @grant GM_addStyle // @grant GM_setValue // @grant GM_getValue // @grant window.close // @antifeature referral-link Referral-Link is in this Script integrated. // @license Copyright Andrewblood // @downloadURL none // ==/UserScript== (async function() { 'use strict'; var overlayStyle = ` #overlay { position: fixed !important; left: 10px !important; bottom: 10px !important; width: 300px !important; height: 290px !important; background-color: rgba(0, 0, 0, 0.8) !important; color: white !important; padding: 10px !important; z-index: 9999 !important; font-size: 16px !important; display: flex; flex-direction: column; } #overlay h2 { font-size: 20px; text-align: center; color: white; } .checkbox-container { display: flex; align-items: center; margin-left: 40px; margin-bottom: 5px; } .checkbox-container label { color: white; margin-left: 5px; } #overlay button { margin-top: auto; align-self: center; } #info-overlay { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; height: 80%; background-color: rgba(0, 0, 0, 0.8); color: white; z-index: 99999; padding: 20px; display: none; overflow-y: auto; } #info-overlay h2 { text-align: center; color: white; } #info-overlay ul { text-align: center; item-algin: center; color: white; } #info-overlay a { color: red; } `; GM_addStyle(overlayStyle); var overlay = document.createElement('div'); overlay.id = 'overlay'; overlay.innerHTML = '

Freebitco.in Script

'; var Status = document.createElement('div'); Status.id = 'status'; function setStatus(html) { Status.innerHTML = html; } overlay.appendChild(Status); var wofCheckboxContainer = document.createElement('div'); wofCheckboxContainer.classList.add('checkbox-container'); wofCheckboxContainer.innerHTML = ` `; overlay.appendChild(wofCheckboxContainer); var bonusCheckboxContainer = document.createElement('div'); bonusCheckboxContainer.classList.add('checkbox-container'); bonusCheckboxContainer.innerHTML = ` `; overlay.appendChild(bonusCheckboxContainer); var rollCheckboxContainer = document.createElement('div'); rollCheckboxContainer.classList.add('checkbox-container'); rollCheckboxContainer.innerHTML = ` `; overlay.appendChild(rollCheckboxContainer); var closeCheckboxContainer = document.createElement('div'); closeCheckboxContainer.classList.add('checkbox-container'); closeCheckboxContainer.innerHTML = ` `; overlay.appendChild(closeCheckboxContainer); var moreInfoButton = document.createElement('button'); moreInfoButton.textContent = 'More Info'; moreInfoButton.addEventListener('click', openInfoOverlay); overlay.appendChild(moreInfoButton); document.body.appendChild(overlay); function openInfoOverlay() { var infoOverlay = document.getElementById('info-overlay'); if (!infoOverlay) { infoOverlay = document.createElement('div'); infoOverlay.id = 'info-overlay'; infoOverlay.innerHTML = `

Additional Information

The script looks at first for a message if you have any WoF aviable, if yes it opens a new page and makes the WoF and close the Wof page.
Then it goes to the Reward page and looks how many Reward points you have if you have much enough for 1000% BTC bonus it buy that.
After that it make the Roll with or without Captcha. (Captcha Solving not included)
Then it close the page 10 seconds later or reload after 60 minutes.
You can activate and deactivate the functions in the Overlay as desired.


Download Captcha Solver

HCaptcha + ReCaptcha: NoCoding Data Scraper and CAPTCHA Solver - Install Here
Antibot Words: AB Links Solver - Install Here
Cf-Turnstile: Autopass Cloudflare CAPTCHA - Install Here


Support

If you have any questions or need assistance, don't hesitate to reach out the creator and supporter, Andrewblood.


Privacy Policy

This script stores user data locally within TamperMonkey and is exclusively used for script functionality.
It is not shared with the script creator or third parties.


Changelog

Version v.3.4
New Status showing

Version v.3.3
New waiting for ending of last activated Status before start the next

Version v.3.2
Improved Infos
Improved close function

Version v.3.1
New setting to let the site open
New Button/Overlay with more Infos
Deleted comments

Version v.3.0
New Overlay to chance the functions

`; document.body.appendChild(infoOverlay); } infoOverlay.style.display = 'block'; document.addEventListener('click', function(event) { if (!infoOverlay.contains(event.target) && event.target !== moreInfoButton) { closeInfoOverlay(); } }); } function closeInfoOverlay() { var infoOverlay = document.getElementById('info-overlay'); if (infoOverlay) { infoOverlay.style.display = 'none'; } } var wofCheckbox = document.getElementById('wof-checkbox'); wofCheckbox.addEventListener('change', function() { GM_setValue('wofStatus', wofCheckbox.checked); }); var savedWofStatus = GM_getValue('wofStatus'); if (savedWofStatus !== undefined) { wofCheckbox.checked = savedWofStatus; } var bonusCheckbox = document.getElementById('bonus-checkbox'); bonusCheckbox.addEventListener('change', function() { GM_setValue('bonusStatus', bonusCheckbox.checked); }); var savedBonusStatus = GM_getValue('bonusStatus'); if (savedBonusStatus !== undefined) { bonusCheckbox.checked = savedBonusStatus; } var rollCheckbox = document.getElementById('roll-checkbox'); rollCheckbox.addEventListener('change', function() { GM_setValue('rollStatus', rollCheckbox.checked); }); var savedRollStatus = GM_getValue('rollStatus'); if (savedRollStatus !== undefined) { rollCheckbox.checked = savedRollStatus; } var closeCheckbox = document.getElementById('close-checkbox'); closeCheckbox.addEventListener('change', function() { GM_setValue('closeStatus', closeCheckbox.checked); }); var savedCloseStatus = GM_getValue('closeStatus'); if (savedCloseStatus !== undefined) { closeCheckbox.checked = savedCloseStatus; } function checkReferalCode() { var url = window.location.href; var targetURL = "https://freebitco.in/signup/?op=s&r=3595810"; if (url.includes("signup") && url !== targetURL) { window.location.href = targetURL; } } // Funktion zur Ausführung der WoF-Aktion async function performWoFAction() { if (savedWofStatus) { setStatus('

Status: Looking for WoF and spin.

'); if (window.location.href.includes("wof")) { await new Promise(resolve => { setTimeout(function() { document.querySelector("#wofc-section > div > div.wofc-spins > p > button:nth-child(2)").click(); resolve(); }, 1000 * 5); }); await new Promise(resolve => { setTimeout(function() { window.close(); resolve(); }, 1000 * 10); }); } await new Promise(resolve => { setTimeout(function() { if (document.querySelector("#free_wof_spins_msg")) { window.open('https://freebitco.in/static/html/wof/wof-premium.html', '_blank'); } resolve(); }, 1000 * 3); }); } } // Funktion zur Ausführung der Bonus-Aktion async function performBonusAction() { if (savedBonusStatus) { setStatus('

Status: Looking 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(); await new Promise(resolve => { 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(/,/, '')); 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("Current Reward Points:", yourrwp); console.log("Price for bonus:", bonuscost); if (yourrwp > bonuscost) { document.querySelector("#fp_bonus_rewards > div:nth-child(2) > div:nth-child(2) > div:nth-child(3) > button").click(); } resolve(); }, 1000 * 1); }); document.querySelector("#free_play_link_li > a").click(); } } // Funktion zur Ausführung der Roll-Aktion async function performRollAction() { if (savedRollStatus) { setStatus('

Status: Make the Roll

'); await new Promise(resolve => { setTimeout(function() { if (document.querySelector("#free_play_form_button").style.display == "none") { resolve(); } else { if (document.querySelector(".h-captcha")) { var interval = setInterval(function() { var captchaResponse = document.querySelector('input[name="cf-turnstile-response"]'); if (captchaResponse.length !== 0) { clearInterval(interval); document.querySelector("#free_play_form_button").click(); resolve(); } }, 1000); } else { document.querySelector("#free_play_form_button").click(); resolve(); } } }, 1000 * 3); }); } } // Funktion zur Ausführung der Schließ-Aktion async function performCloseAction() { if (savedCloseStatus) { await new Promise(resolve => { setStatus('

Status: Close the site in 10 seconds.

'); setTimeout(function() { window.close(); resolve(); }, 1000 * 10); }); } else { await new Promise(resolve => { setStatus('

Status: Wait 60 min. for reload.

'); setTimeout(function() { window.location.reload(); resolve(); }, 1000 * 60 * 60); }); } } // Die Aktionen werden nacheinander ausgeführt checkReferalCode(); setStatus('

Status: Started.

'); await performWoFAction(); await performBonusAction(); await performRollAction(); await performCloseAction(); })();