Freebitco.in Auto Roll, Auto WoF (work with tiers Turnstile resolver) 11/2024

Please use my Referal-Link https://freebitco.in/?r=1748546, if you find the script useful and want to donate, please use bc1qwdsgre7gzy4z63ujsev9mfkv68f33jykdzeypj

  1. // ==UserScript==
  2. // @name Freebitco.in Auto Roll, Auto WoF (work with tiers Turnstile resolver) 11/2024
  3. // @namespace
  4. // @version 0.4
  5. // @description Please use my Referal-Link https://freebitco.in/?r=1748546, if you find the script useful and want to donate, please use bc1qwdsgre7gzy4z63ujsev9mfkv68f33jykdzeypj
  6. // @author PredatorBzh & Danik Odze
  7. // @match https://freebitco.in/*
  8. // @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
  9.  
  10. // @namespace http://tampermonkey.net/
  11. // ==/UserScript==
  12.  
  13. (function () {
  14. 'use strict';
  15.  
  16. setTimeout(function () {
  17. if (document.querySelector("#time_remaining").textContent == '') location.reload();
  18. }, 20000);
  19.  
  20. var CaptchaSolverStatus = document.createElement('div');
  21. document.body.appendChild(CaptchaSolverStatus);
  22.  
  23. CaptchaSolverStatus.classList.add('captchasolver-status');
  24. document.body.appendChild(document.createElement('style')).textContent = (`
  25. .captchasolver-status {
  26. position: fixed;
  27. font-size: 20px !important;
  28. top: 140px !important;
  29. right: 20px;
  30. z-index: 9999;
  31. pointer-events: none;
  32. }
  33. `);
  34.  
  35. function setCaptchaSolverStatus(html, color) {
  36. if (color === 'green') {
  37. CaptchaSolverStatus.style.color = 'green';
  38. } else if (color === 'red') {
  39. CaptchaSolverStatus.style.color = 'red';
  40. } else {
  41. CaptchaSolverStatus.style.color = 'black';
  42. }
  43. CaptchaSolverStatus.innerHTML = html;
  44. }
  45.  
  46. setCaptchaSolverStatus('<p><b>Captcha Solver:</b> Activated.</p>', 'green');
  47.  
  48. let url = window.location.href;
  49.  
  50. let buyLottery = false; //По умолчанию false, установите значение true, если вы хотите покупать лотерейный билет после каждого броска
  51. let number_ticket = 1; //Default is 1
  52.  
  53. $(document).ready(function () {
  54. setCaptchaSolverStatus("Состояние: страница загружена.", 'green');
  55. console.log("Status: Page loaded.");
  56.  
  57. let turnstile = document.querySelector('input[name="cf-turnstile-response"]');
  58.  
  59. if (turnstile) {
  60. setCaptchaSolverStatus("капча присутствует на странице.", 'green');
  61. console.log("Turnstile is present on the page.");
  62.  
  63. waitForCaptcha(function () {
  64. setCaptchaSolverStatus("Капча была решена!", 'green');
  65. console.log("Captcha has been resolved!");
  66. setTimeout(() => play(), 5000);
  67. });
  68. } else {
  69. console.log("Turnstile is not present on the page.");
  70. //setTimeout(() => play(), 5000);
  71. }
  72. });
  73.  
  74. function checkTurnstile() {
  75. const turnstileResponse = document.querySelector('input[name="cf-turnstile-response"]');
  76. return turnstileResponse && turnstileResponse.value !== '';
  77. }
  78.  
  79.  
  80. function buy_lottery_ticket(number_of_ticket) {
  81.  
  82. let element = document.querySelector('.lottery_link');
  83.  
  84. if (element) {
  85. element.click();
  86.  
  87. $(document).ready(function () {
  88.  
  89. let inputElement = document.getElementById('lottery_tickets_purchase_count');
  90. if (inputElement) {
  91. inputElement.value = number_of_ticket;
  92. }
  93.  
  94. let buyButton = document.getElementById('purchase_lottery_tickets_button');
  95. if (buyButton) {
  96. buyButton.click();
  97. }
  98. });
  99. } else {
  100. setCaptchaSolverStatus("Элемент не найден.", 'red');
  101. console.log("The element was not found.");
  102. }
  103. }
  104.  
  105. function checkCaptchaResolved() {
  106.  
  107. let hCaptchaResponse = document.querySelector('textarea[id^="h-captcha-response-"]');
  108.  
  109. if (hCaptchaResponse && hCaptchaResponse.value.trim() !== "") {
  110. return true; // Return true if resolved
  111. } else {
  112. return false; // Return false if not resolved
  113. }
  114. }
  115.  
  116. function waitForCaptcha(callback) {
  117. let captchaCheckInterval = setInterval(function () {
  118. if (checkTurnstile()) {
  119. clearInterval(captchaCheckInterval);
  120. callback();
  121. }
  122. }, 1000); // Проверяйте каждые 1 секунду
  123. }
  124.  
  125. function play() {
  126.  
  127. setTimeout(function () {
  128. let timeRemainingDiv = document.getElementById("time_remaining");
  129.  
  130. if (timeRemainingDiv && timeRemainingDiv.innerHTML.trim() !== "") {
  131. setCaptchaSolverStatus("Мы ничего не делаем", 'black');
  132. console.log("We do nothing");
  133. } else {
  134.  
  135. $('#free_play_form_button').click();
  136.  
  137. setTimeout(function () {
  138. if (buyLottery) {
  139. buy_lottery_ticket(number_ticket)
  140. }
  141. }, 5000);
  142. }
  143. }, 2000);
  144.  
  145. setTimeout(function () {
  146.  
  147. if (!sessionStorage.getItem('justReloaded')) {
  148.  
  149. sessionStorage.setItem('justReloaded', 'true');
  150. //location.reload();
  151. } else {
  152.  
  153. sessionStorage.removeItem('justReloaded');
  154. }
  155.  
  156. //let div = document.getElementById("free_wof_spins_msg");
  157. let div = document.querySelector("#fp_bonus_wins > a");
  158.  
  159. if (div) {
  160.  
  161. let link = div.querySelector('a[href="https://freebitco.in/static/html/wof/wof-premium.html"]');
  162.  
  163. if (link) {
  164.  
  165. let clickEvent = document.createEvent('MouseEvents');
  166. clickEvent.initEvent('click', true, true);
  167. link.dispatchEvent(clickEvent);
  168.  
  169. setTimeout(function () {
  170.  
  171. let specificCloseButton = document.querySelector('.close[onclick="CloseAlertMsg(\'free_wof_spins\',1);"]');
  172.  
  173. if (specificCloseButton) {
  174. specificCloseButton.click();
  175. } else {
  176. setCaptchaSolverStatus("Специальная кнопка закрытия не найдена.", 'red');
  177. console.log("The specific close button was not found.");
  178. }
  179. }, 2000);
  180. } else {
  181. setCaptchaSolverStatus("Ссылка 'Play them here!' не найдена.", 'red');
  182. console.log("The 'Play them here!' link was not found.");
  183. }
  184. } else {
  185. setCaptchaSolverStatus("Элемент с идентификатором 'free_wof_spins_msg' не существует.", 'red');
  186. console.log("The div with ID 'free_wof_spins_msg' does not exist.");
  187. }
  188. }, 10000);
  189.  
  190. if (url.includes("https://freebitco.in/static/html/wof/wof-premium.html")) {
  191. $(document).ready(function () {
  192. setTimeout(function () {
  193.  
  194. let buttons = document.querySelectorAll(".play-but");
  195.  
  196. let playAllButton = Array.from(buttons).find(button => button.textContent.trim() === "PLAY ALL");
  197.  
  198. if (playAllButton) {
  199.  
  200. let clickEvent = document.createEvent('MouseEvents');
  201. clickEvent.initEvent('click', true, true);
  202. playAllButton.dispatchEvent(clickEvent);
  203. } else {
  204. setCaptchaSolverStatus("Кнопка с текстом 'PLAY ALL' не найдена.", 'red');
  205. console.log("The button with the text 'PLAY ALL' was not found.");
  206. }
  207.  
  208. setTimeout(function () {
  209. window.close();
  210. }, 5000);
  211. }, 4000);
  212. });
  213. } else {
  214. setCaptchaSolverStatus('Это не та страница, которую мы ищем.', 'green');
  215. console.log("This is not the page we are looking for.");
  216. }
  217. }
  218.  
  219. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址