[Premium] Freebitco.in by Andrewblood

Faucet Roll/1000% BTC Bonus/WoF Spin and a overlay for settings

目前为 2024-12-10 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name [Premium] Freebitco.in by Andrewblood
  3. // @namespace https://gf.qytechs.cn/users/1162863
  4. // @version 3.7.1
  5. // @description Faucet Roll/1000% BTC Bonus/WoF Spin and a overlay for settings
  6. // @author Andrewblood
  7. // @match *://*.freebitco.in/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=freebitco.in
  9. // @grant GM_addStyle
  10. // @grant GM_setValue
  11. // @grant GM_getValue
  12. // @grant window.close
  13. // @antifeature referral-link Referral-Link is in this Script integrated.
  14. // @license Copyright Andrewblood
  15. // ==/UserScript==
  16.  
  17. (async function() {
  18. 'use strict';
  19.  
  20. var overlayStyle = `
  21. #overlay {
  22. position: fixed;
  23. right: 10px;
  24. bottom: 10px;
  25. width: 300px;
  26. height: 350px;
  27. background-color: rgba(0, 0, 0, 0.8);
  28. color: white;
  29. padding: 10px;
  30. z-index: 9999;
  31. font-size: 16px;
  32. display: flex;
  33. flex-direction: column;
  34. }
  35.  
  36. #overlay h2 {
  37. font-size: 18px;
  38. font-weight: bold;
  39. text-align: center;
  40. color: white;
  41. }
  42.  
  43. .checkbox-container {
  44. display: flex;
  45. align-items: center;
  46. margin-left: 40px;
  47. margin-bottom: 5px;
  48. }
  49.  
  50. .checkbox-container label {
  51. color: white;
  52. margin-left: 5px;
  53. }
  54.  
  55. #status {
  56. font-size: 16px;
  57. color: #ffa500;
  58. margin-top: -10px;
  59. margin-bottom: 10px;
  60. }
  61.  
  62. #overlay button {
  63. margin-top: 10px;
  64. margin-bottom: 10px;
  65. align-self: center;
  66. background-color: #ffa500;
  67. }
  68.  
  69. #info-overlay {
  70. position: fixed;
  71. top: 50%;
  72. left: 50%;
  73. transform: translate(-50%, -50%);
  74. width: 80%;
  75. height: 80%;
  76. background-color: rgba(0, 0, 0, 0.8);
  77. color: white;
  78. z-index: 99999;
  79. padding: 20px;
  80. display: none;
  81. overflow-y: auto;
  82. }
  83.  
  84. #info-overlay h2 {
  85. text-align: center;
  86. color: white;
  87. }
  88.  
  89. #info-overlay ul {
  90. text-align: center;
  91. item-algin: center;
  92. color: white;
  93. }
  94.  
  95. #info-overlay a {
  96. color: #ffa500;
  97. }
  98. `;
  99.  
  100. GM_addStyle(overlayStyle);
  101.  
  102. var overlay = document.createElement('div');
  103. overlay.id = 'overlay';
  104.  
  105. overlay.innerHTML = '<h2>Freebitcoin Script from Andrewblood</h2>';
  106.  
  107. var Status = document.createElement('div');
  108. Status.id = 'status';
  109. function setStatus(html) {
  110. Status.innerHTML = html;
  111. }
  112. overlay.appendChild(Status);
  113.  
  114. var wofCheckboxContainer = document.createElement('div');
  115. wofCheckboxContainer.classList.add('checkbox-container');
  116. wofCheckboxContainer.innerHTML = `
  117. <input type="checkbox" id="wof-checkbox">
  118. <label for="wof-checkbox">WoF</label>
  119. `;
  120.  
  121. overlay.appendChild(wofCheckboxContainer);
  122.  
  123. var bonusCheckboxContainer = document.createElement('div');
  124. bonusCheckboxContainer.classList.add('checkbox-container');
  125. bonusCheckboxContainer.innerHTML = `
  126. <input type="checkbox" id="bonus-checkbox">
  127. <label for="bonus-checkbox">1000% BTC Bonus</label>
  128. <button id="settings-button" style="margin-left: 10px;">⚙️</button>
  129. `;
  130.  
  131. overlay.appendChild(bonusCheckboxContainer);
  132.  
  133. var rollCheckboxContainer = document.createElement('div');
  134. rollCheckboxContainer.classList.add('checkbox-container');
  135. rollCheckboxContainer.innerHTML = `
  136. <input type="checkbox" id="roll-checkbox">
  137. <label for="roll-checkbox">Roll</label>
  138. `;
  139.  
  140. overlay.appendChild(rollCheckboxContainer);
  141.  
  142. var closeCheckboxContainer = document.createElement('div');
  143. closeCheckboxContainer.classList.add('checkbox-container');
  144. closeCheckboxContainer.innerHTML = `
  145. <input type="checkbox" id="close-checkbox">
  146. <label for="close-checkbox">Close after work</label>
  147. `;
  148. overlay.appendChild(closeCheckboxContainer);
  149.  
  150. var moreInfoButton = document.createElement('button');
  151. moreInfoButton.textContent = 'More Info';
  152. moreInfoButton.addEventListener('click', openInfoOverlay);
  153.  
  154. overlay.appendChild(moreInfoButton);
  155.  
  156. document.body.appendChild(overlay);
  157.  
  158. function openInfoOverlay() {
  159. var infoOverlay = document.getElementById('info-overlay');
  160. if (!infoOverlay) {
  161. infoOverlay = document.createElement('div');
  162. infoOverlay.id = 'info-overlay';
  163. infoOverlay.innerHTML = `
  164. <h2>Additional Information</h2>
  165. <p>
  166. 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.<br>
  167. 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.<br>
  168. After that it make the Roll with or without Captcha. (Captcha Solving not included)<br>
  169. Then it close the page 10 seconds later or reload after 60 minutes.<br>
  170. You can activate and deactivate the functions in the Overlay as desired.<br>
  171. </p>
  172. <br>
  173.  
  174. <h2>Download Captcha Solver</h2>
  175. <p>
  176. <b>HCaptcha + ReCaptcha:</b> NoCoding Data Scraper and CAPTCHA Solver - <a href="https://chromewebstore.google.com/search/minirpa" target="_blank">Install Here</a><br>
  177. <b>Antibot Words:</b> AB Links Solver - <a href="https://gf.qytechs.cn/de/scripts/459453-ab-links-solver" target="_blank">Install Here</a><br>
  178. </p>
  179. <br>
  180.  
  181. <h2>Support</h2>
  182. <p>
  183. If you have any questions or need assistance, don't hesitate to reach out the creator and supporter, <a href="https://gf.qytechs.cn/users/1162863" target="_blank">Andrewblood</a>.<br>
  184. </p>
  185. <br>
  186.  
  187. <h2>Privacy Policy</h2>
  188. <p>
  189. This script stores user data locally within TamperMonkey and is exclusively used for script functionality.<br>
  190. It is not shared with the script creator or third parties.<br>
  191. </p>
  192. `;
  193. document.body.appendChild(infoOverlay);
  194. }
  195. infoOverlay.style.display = 'block';
  196.  
  197. document.addEventListener('click', function(event) {
  198. if (!infoOverlay.contains(event.target) && event.target !== moreInfoButton) {
  199. closeInfoOverlay();
  200. }
  201. });
  202. }
  203.  
  204. function closeInfoOverlay() {
  205. var infoOverlay = document.getElementById('info-overlay');
  206. if (infoOverlay) {
  207. infoOverlay.style.display = 'none';
  208. }
  209. }
  210.  
  211. var wofCheckbox = document.getElementById('wof-checkbox');
  212. wofCheckbox.addEventListener('change', function() {
  213. GM_setValue('wofStatus', wofCheckbox.checked);
  214. });
  215.  
  216. var savedWofStatus = GM_getValue('wofStatus');
  217. if (savedWofStatus !== undefined) {
  218. wofCheckbox.checked = savedWofStatus;
  219. }
  220.  
  221. var bonusCheckbox = document.getElementById('bonus-checkbox');
  222. bonusCheckbox.addEventListener('change', function() {
  223. GM_setValue('bonusStatus', bonusCheckbox.checked);
  224. });
  225.  
  226. var savedBonusStatus = GM_getValue('bonusStatus');
  227. if (savedBonusStatus !== undefined) {
  228. bonusCheckbox.checked = savedBonusStatus;
  229. }
  230.  
  231. var rollCheckbox = document.getElementById('roll-checkbox');
  232. rollCheckbox.addEventListener('change', function() {
  233. GM_setValue('rollStatus', rollCheckbox.checked);
  234. });
  235.  
  236. var savedRollStatus = GM_getValue('rollStatus');
  237. if (savedRollStatus !== undefined) {
  238. rollCheckbox.checked = savedRollStatus;
  239. }
  240.  
  241. var closeCheckbox = document.getElementById('close-checkbox');
  242. closeCheckbox.addEventListener('change', function() {
  243. GM_setValue('closeStatus', closeCheckbox.checked);
  244. });
  245.  
  246. var savedCloseStatus = GM_getValue('closeStatus');
  247. if (savedCloseStatus !== undefined) {
  248. closeCheckbox.checked = savedCloseStatus;
  249. }
  250.  
  251. function checkReferalCode() {
  252. var url = window.location.href;
  253. var targetURL = "https://freebitco.in/signup/?op=s&r=3595810";
  254.  
  255. if (url.includes("signup") && url !== targetURL) {
  256. window.location.href = targetURL;
  257. }
  258. }
  259.  
  260. // Funktion zur Ausführung der WoF-Aktion
  261. async function performWoFAction() {
  262. if (savedWofStatus) {
  263. setStatus('<p>Make WoF spins.</p>');
  264. if (window.location.href.includes("wof")) {
  265. await new Promise(resolve => {
  266. setTimeout(function() {
  267. document.querySelector("#wofc-section > div > div.wofc-spins > p > button:nth-child(2)").click();
  268. resolve();
  269. }, 1000 * 5);
  270. });
  271. await new Promise(resolve => {
  272. setTimeout(function() {
  273. window.close();
  274. resolve();
  275. }, 1000 * 10);
  276. });
  277. }
  278. await new Promise(resolve => {
  279. setTimeout(function() {
  280. if (document.querySelector("#free_wof_spins_msg")) {
  281. window.open('https://freebitco.in/static/html/wof/wof-premium.html', '_blank');
  282. }
  283. resolve();
  284. }, 1000 * 3);
  285. });
  286. }
  287. }
  288.  
  289. // Funktion zur Ausführung der Bonus-Aktion
  290. async function performBonusAction() {
  291. if (savedBonusStatus) {
  292. setStatus('<p>Make the Bonus.</p>');
  293. document.querySelector("body > div.large-12.fixed > div > nav > section > ul > li:nth-child(8) > a").click();
  294. document.querySelector("#rewards_tab > div.row.reward_category_container_main_div > div > div:nth-child(4) > div.reward_category_name").click();
  295. await new Promise(resolve => {
  296. setTimeout(function() {
  297. 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(/,/, ''));
  298. 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(/,/, ''));
  299. console.log("Current Reward Points:", yourrwp);
  300. console.log("Price for bonus:", bonuscost);
  301. if (yourrwp > bonuscost) {
  302. document.querySelector("#fp_bonus_rewards > div:nth-child(2) > div:nth-child(2) > div:nth-child(3) > button").click();
  303. }
  304. resolve();
  305. }, 1000 * 1);
  306. });
  307. document.querySelector("#free_play_link_li > a").click();
  308. }
  309. }
  310.  
  311. // Funktion zur Ausführung der Roll-Aktion
  312. async function performRollAction() {
  313. if (savedRollStatus) {
  314. setStatus('<p>Make the Roll.</p>');
  315. await new Promise(resolve => {
  316. const button = document.querySelector("#free_play_form_button");
  317. const captchaElement = document.querySelector("#freeplay_form_cf_turnstile");
  318. const captchaResponse = document.querySelector('[name="cf-turnstile-response"]');
  319.  
  320. const interval001 = setInterval(function() {
  321.  
  322. if (captchaElement) {
  323. captchaElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
  324. if (captchaResponse && captchaResponse.value.length > 0 && button && button.offsetHeight > 0 && !button.hasAttribute('disabled') && !button.disabled) {
  325. clearInterval(interval001);
  326. button.click();
  327. resolve();
  328. }
  329. } else {
  330. if (button && button.offsetHeight > 0 && !button.hasAttribute('disabled') && !button.disabled) {
  331. clearInterval(interval001);
  332. button.click();
  333. resolve();
  334. }
  335. }
  336. }, 500);
  337. });
  338. }
  339. }
  340.  
  341. // Funktion zur Ausführung der Schließ-Aktion
  342. async function performCloseAction() {
  343. if (savedCloseStatus) {
  344. await new Promise(resolve => {
  345. setStatus('<p>Close the site in 10 seconds.</p>');
  346. setTimeout(function() {
  347. window.close();
  348. resolve();
  349. }, 1000 * 10);
  350. });
  351. } else {
  352. await new Promise(resolve => {
  353. setStatus('<p>Wait 60 min. for reload.</p>');
  354. setTimeout(function() {
  355. window.location.reload();
  356. resolve();
  357. }, 1000 * 60 * 60);
  358. });
  359. }
  360. }
  361.  
  362. // Die Aktionen werden nacheinander ausgeführt
  363. checkReferalCode();
  364. setStatus('<p>Script Started.</p>');
  365. await performWoFAction();
  366. await performBonusAction();
  367. await performRollAction();
  368. await performCloseAction();
  369.  
  370. })();

QingJ © 2025

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