freebitco.in autoplayer m13-test1 v1.1.1

autoplay tool for freebitcoin.com

  1. // ==UserScript==
  2. // @name freebitco.in autoplayer m13-test1 v1.1.1
  3. // @author m13
  4. // @description autoplay tool for freebitcoin.com
  5. // @version 1.1.0
  6. // @match https://freebitco.in/*
  7. // @grant none
  8. // @license MIT
  9. // @namespace https://greasyfork.org/users/1267452
  10. // ==/UserScript==
  11.  
  12. var seed;
  13. (function () {
  14. 'use strict';
  15. function changeSeed(){
  16. document.getElementById('next_client_seed').value=getNewSeed();
  17. }
  18. function getNewSeed(){
  19. var result = '';
  20. var length = 16;
  21. var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
  22. for (var i = length; i > 0; --i) {
  23. result += chars[Math.floor(Math.random() * chars.length)];
  24. }
  25. return result;
  26. }
  27. function createCSS() {
  28. var head = document.head || document.getElementsByTagName('head')[0];
  29. var warn = document.createElement('style');
  30. warn.innerHTML = "#align_right,#align_left,#clocktimestart{text-align:center}#popBet{background:#606060;border:1pxsolid;border-radius:10px;position:relative;padding:13px;margin:5px}#xclosed{position:absolute;border-radius:40%;font-size:16px;color:#787878;cursor:pointer;font-weight:700;padding:10px 10px;top:0;right:0;}#align_left{color:#d6f83d;border:0;margin:10px;}.h5atas{color:#d6ff5c;border-bottom:1pxsolid;background:#606060;border-radius:-20px;padding-bottom:5px;margin-top:0}.ptab{color:#d6ff5c;font-size:12px;-webkit-transition:all1sease;-moz-transition:all1sease;-o-transition:all1sease;-ms-transition:all1sease}#start{margin:10px;width:90px}#stop{width:90px;color:#ff3893;}#clocktimestart{border-radius:50%;font-weight:700;border:5pxsolid;background:#ff3893;text-shadow:5px5px3px#000;display:block;margin:0auto;width:100px;height:100px;font-size:50px;padding-top:18px;box-shadow:0010px#000inset}";
  31. head.appendChild(warn);
  32. }
  33. function btc() {
  34. var betMin = "0.00000004";
  35. var newDiv1 = document.createElement("div");
  36. newDiv1.setAttribute("id", "popBet");
  37. newDiv1.innerHTML = '<span id="xclosed">X</span>' +
  38. '<div id="align_left">' +
  39. '<div class="h5atas" style="display: block; width: 100%; padding: .375rem .75rem 0; font-size: 1rem; line-height: 1.5; color: #495057; background-color: #999999; background-clip: padding-box; border: 1px solid #ced4da; border-radius: .25rem; transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; ">'+
  40. 'Target Profit <input type="number" id="target" name="stopGain" placeholder="20" value=10 class="input field">'+
  41. 'Repeat <input type="checkbox" name="repeat" id="repeat-target"> </div>' +
  42. '<h5 style="color:#ccc">Start Balance: <span id="opening_balance"></span></h5>' +
  43. '<span id="start_balance" style="display:none !important;"></span>'+
  44. '<h5 style="color:#fff">Current Balance : <span id="end_balance"></span></h5>' +
  45. '<hr/>' +
  46. '<h5 style="color:#bfe05d">Active Bet: <span id="min_bet">0.00000005</span></h5>' +
  47. '<h5 style="color:#00a5ff">Series Balance: <span id="profit">0.00000000</span></h5>' +
  48. '<p class="ptab">Net Gain: <span id="net_balance">0.00000000</span></p>' +
  49. '</div><div id="align_left">' +
  50. '<button id="start" class="button medium success">START</button>' +
  51. '<button id="stop" class="button medium success">STOP</button>' +
  52. '<br/>' +
  53. '<div class="container" style="display:flex">' +
  54. '<button style="display:inline-flex;float:left;margin:20px;" class="button tiny" id="reset">RESET</button>' +
  55. '<button style="display:inline-flex;float:right;margin:20px;" class="button tiny alert" id="toggleJackpot">Toggle Jackpot</button>' +
  56. '</div>' +
  57. '<br/>' +
  58. '<br><p style="color:#bfe05d">Bet Unit Size: <span id="unit_size">0.00000004</span></p>' +
  59. '<div style="display:block">' +
  60. '<button style="display:inline-flex;margin:5px;" class="button tiny success unit-size" id="four" value="0.00000004" >4 satoshi</button>' +
  61. '<button style="display:inline-flex;margin:5px;" id="ten" value="0.00000008" class="button tiny success unit-size">8 satoshi</button>' +
  62. '</div>' +
  63. '<div style="display:block">' +
  64. '<button style="display:inline-flex;margin:5px;" id="twentyfive" value="0.00000012" class="button tiny success unit-size">12 satoshi</button>' +
  65. '<button style="display:inline-flex;margin:5px;" id="twentyfive" value="0.00000025" class="button tiny success unit-size">25 satoshi</button>' +
  66. '</div>' +
  67. '</div>';
  68. document.getElementById('double_your_btc_right_section').firstChild.style.display = "none";
  69. document.getElementById("double_your_btc_right_section").appendChild(newDiv1);
  70. document.getElementById('double_your_btc_right_section').scrollIntoView();
  71. /*EventListener*/
  72. function eventAdd(e, eventName, handler) {
  73. if (e.addEventListener) e.addEventListener(eventName, handler, false);
  74. else e.attachEvent('on' + eventName, handler);
  75. }
  76. /* Close */
  77. eventAdd(document.getElementById('xclosed'), 'click', function () {
  78. document.getElementById('double_your_btc_right_section').firstChild.style.display = "block";
  79. document.getElementById('xclosed').parentNode.remove();
  80. });
  81. document.querySelectorAll('.unit-size').forEach(function (el) {
  82. return eventAdd(el, 'click', function () {
  83. document.getElementById('stop').click();
  84. betMin = el.value;
  85. document.getElementById('unit_size').textContent = betMin;
  86. document.getElementById('min_bet').textContent = betMin;
  87. document.getElementById('double_your_btc_stake').value = betMin;
  88. })
  89. });
  90. var running = false;
  91. /* reset */
  92. function reset() {
  93. document.getElementById("profit").style.color = "#00a5ff";
  94. document.getElementById("net_balance").textContent = "0.00000000";
  95. document.getElementById("profit").textContent = "0.00000000";
  96. document.getElementById('start_balance').textContent = document.getElementById('balance').textContent;
  97. document.getElementById('opening_balance').textContent = document.getElementById('balance').textContent;
  98. document.getElementById('end_balance').textContent = document.getElementById('balance').textContent;
  99. document.getElementById('double_your_btc_min').click();
  100. document.getElementById('double_your_btc_payout_multiplier').value = "2";
  101. document.getElementById('min_bet').textContent = document.getElementById('double_your_btc_stake').value = betMin;
  102. running = false;
  103. }
  104. reset();
  105. eventAdd(document.getElementById('reset'), 'click', function () {
  106. reset();
  107. });
  108. /* warn Profit */
  109. function warn() {
  110. var wtab = Number(document.getElementById("profit").innerHTML);
  111. if (wtab < 0) {
  112. document.getElementById("profit").style.color = "#ff3893";
  113. }
  114. else document.getElementById("profit").style.color = "#bfe05d";
  115. }
  116. /* randomize */
  117. function betRandom(multiplier) {
  118. var guess = Math.floor((Math.random() * 3) - 1);
  119. if (guess > 0) {
  120. document.getElementById("double_your_btc_bet_hi_button").click();
  121. }
  122. else {
  123. document.getElementById("double_your_btc_bet_lo_button").click();
  124. }
  125. }
  126. /* Bet */
  127. var nextBet,seed;
  128. eventAdd(document.getElementById('start'), 'click', function () {
  129. /*Time Counter*/
  130. var countDiv = document.createElement("div");
  131. countDiv.setAttribute("id", "clocktimestart");
  132. countDiv.setAttribute("style", "display:none;");
  133. document.getElementById("double_your_btc_middle_section").appendChild(countDiv);
  134. var balance = document.getElementById('balance').innerHTML;
  135. var netBalance = document.getElementById('net_balance').innerHTML;
  136. if (Number(balance) <= Number(netBalance)) {
  137. clearInterval(nextBet);
  138. }
  139. nextBet = setInterval(function () {
  140. var min_win = 0.0000001;
  141. var min_raise = Number(betMin);
  142. var unit = Number(betMin);
  143. var doubleDown = Number(unit * 2).toFixed(8);
  144. warn();
  145. setTimeout(function () {
  146. changeSeed();
  147. var startBalance = document.getElementById('start_balance').innerHTML;
  148. var balance = document.getElementById('balance').innerHTML;
  149. var change = Number(Number(balance) - Number(startBalance)).toFixed(8);
  150. document.getElementById('end_balance').textContent = balance;
  151. var netBalance = document.getElementById('net_balance').innerHTML;
  152. var idmin_bet = document.getElementById('min_bet');
  153. var netChange = Number(Number(change) + Number(netBalance)).toFixed(8);
  154. var maxBet = (Number(document.getElementById('end_balance').textContent) * 0.03);
  155. var currentStake = Number(document.getElementById('double_your_btc_stake').value);
  156. var winElement = document.getElementById('double_your_btc_bet_win');
  157. document.getElementById("profit").textContent = change;
  158. document.getElementById('end_balance').textContent = balance;
  159. if (Number(change) >= Number(min_win)) {
  160. document.getElementById('net_balance').textContent = netChange;
  161. document.getElementById('net_balance').style["font-size"] = "24px";
  162. document.getElementById('start_balance').textContent = balance;
  163. document.getElementById('end_balance').textContent = balance;
  164. if(running && (nextBet * 1.3) >= ( balance / 5 )){
  165. running = confirm("warning large bet size! keep betting?");
  166. }
  167. if ((nextBet + min_raise) > (nextBet *= 1.2)) {
  168. nextBet += min_raise;
  169. } else {
  170. nextBet *= 1.1;
  171. }
  172. idmin_bet.textContent = document.getElementById('double_your_btc_stake').value = betMin;
  173. document.getElementById('double_your_btc_stake').value = betMin;
  174. idmin_bet.textContent = document.getElementById('double_your_btc_stake').value;
  175. idmin_bet.style.color = "#bfe05d";
  176. }
  177. else if (Number(change) < min_win) {
  178. maxBet = (Number(document.getElementById('end_balance').textContent) * 0.03);
  179. currentStake = Number(document.getElementById('double_your_btc_stake').value);
  180. document.getElementById("profit").style.color = "#ff3893";
  181. if (winElement.innerText != "") {
  182. nextBet = currentStake;
  183. if(running && (nextBet * 1.3) >= ( balance / 5 )){
  184. running = confirm("warning large bet size! keep betting?");
  185. }
  186. if ((nextBet + min_raise) > (nextBet *= 1.2)) {
  187. nextBet += min_raise;
  188. } else {
  189. nextBet *= 1.1;
  190. }
  191. document.getElementById('double_your_btc_stake').value = nextBet.toFixed(8);
  192. }
  193. idmin_bet.textContent = document.getElementById('double_your_btc_stake').value;
  194. idmin_bet.style.color = "#ff3893";
  195. }
  196. else {
  197. document.getElementById("profit").style.color = "#bfe05d";
  198. document.getElementById('double_your_btc_min').click();
  199. document.getElementById('double_your_btc_stake').value = betMin;
  200. idmin_bet.textContent = document.getElementById('double_your_btc_stake').value = betMin;
  201. idmin_bet.style.color = "#bfe05d";
  202. }
  203. if(
  204. (
  205. Number(document.getElementById('opening_balance').innerText) >= Number(document.getElementById('end_balance').innerText))
  206. &&
  207. (Number(document.getElementById('end_balance').innerText) >= (Number(document.getElementById('target').value))
  208. ) || Number(document.getElementById('net_balance').innerText)*100000000 >= 10) {
  209. document.getElementById('stop').click();
  210. if(document.getElementById('repeat-target').checked && (Number(document.getElementById('time_remaining').innerText.split(/\D/g)[0]) > 7)) {
  211. setTimeout(function(){ return document.getElementById('start').click();},1500000);
  212. }
  213. return reset();
  214. }else{
  215. return betRandom();
  216. }
  217. }, 100);
  218. }, 120);
  219. });
  220. eventAdd(document.getElementById('toggleJackpot'), 'click', function () {
  221. var toggle = $(".play_jackpot:checkbox[value='1']").prop('checked');
  222. $(".play_jackpot:checkbox[value='1']").prop('checked',!toggle);
  223. });
  224. /*Stop Bet*/
  225. eventAdd(document.getElementById('stop'), 'click', function () {
  226. clearInterval(nextBet);
  227. });
  228. }
  229. if (document.getElementById('double_your_btc_right_section') !== null) {
  230. createCSS();
  231. btc();
  232. }
  233. })();
  234. if(typeof jQuery =='undefined') {
  235. var headTag = document.getElementsByTagName("head")[0];
  236. var jqTag = document.createElement('script');
  237. jqTag.type = 'text/javascript';
  238. jqTag.src = 'https://code.jquery.com/jquery-1.9.1.min.js';
  239. jqTag.onload = function(){
  240. if (document.getElementById('double_your_btc_right_section') !== null) {
  241. createCSS();
  242. btc();
  243. }
  244. };
  245. headTag.appendChild(jqTag);
  246. } else {
  247. $(document).ready(function () {
  248. setInterval(function () {
  249. if ($('#free_play_form_button').is(':visible')) {
  250. $('#free_play_form_button').trigger('click');
  251. }
  252. }, 500000);
  253. });
  254. }