Auto reload stake

Auto reload on stake!

当前为 2024-02-20 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Auto reload stake
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.1.0
  5. // @description Auto reload on stake!
  6. // @author FCFC
  7. // @icon https://www.google.com/s2/favicons?sz=64&domain=stake.com
  8. // @match https://stake.com/zh?tab=reload&modal=vip*
  9. // @match https://stake.com/*?tab=reload&modal=vip*
  10. // @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js
  11. // @grant GM_getValue
  12. // @grant GM.setValue
  13. // @grant GM_setClipboard
  14. // @grant GM_addValueChangeListener
  15. // @grant GM_deleteValue
  16. // @grant GM_log
  17. // ==/UserScript==
  18.  
  19. (function() {
  20. 'use strict';
  21. var $ = $ || window.$;
  22. $(function(){
  23. var version = '1.0.0'
  24. // 获取网站域名
  25. var websiteOrigin = window.location.origin
  26. console.log('获取网站域名', websiteOrigin)
  27. setInterval(function() {
  28. window.location.replace(websiteOrigin + "/zh?tab=reload&modal=vip&currency=trx")
  29. }, 5*60*1000)
  30.  
  31. setInterval(function() {
  32. document.querySelectorAll("button[type='submit']")[0].click()
  33. }, 15000)
  34.  
  35. /**
  36. * 添加插件UI到页面的方法
  37. */
  38. function controlAction() {
  39. var html = `<div id="drop-status" style="position:fixed;right: 10px;top:508px;width:50px;height:30px;text-align:center;line-height:30px;border-radius:2px;background:green;color:#fff;font-size:12px;cursor:pointer;z-index:10000">日志</div>
  40. <div id="autoDropwrap" style="position:fixed;top:205px;left:60px;z-index:1000000;background:rgba(0,0,0,.5);border-radius:5px;">
  41. <div style="padding:10px;background:#213743;margin:0 auto;border-radius:5px;border:1px solid #000;">
  42. <div style="display:flex;align-items:center;justify-content: space-between;">
  43. <div style="font-size:14px;font-weight:bold;color:#fff">Auto claim reload<span class="version"></span></div>
  44. </div>
  45. <div style="font-size:12px;margin-top:10px;">累计领取:<span class="totle-reload" style="color:#0D8A1C;margin-right:20px">0</span>未结算:<span class="nosettle-reload" style="color:red;">0</span></div>
  46. <textarea class="log scrollY" cols="50" rows="20" readonly value="" style="padding:5px;margin-top:10px;font-size:12px;background:#0F212E;border-radius:4px;outline: none;font-family:auto;"></textarea>
  47. <div style="margin-top:15px;display: flex;justify-content: space-between;font-size:12px">
  48. <button class="clear-log" style="background:red;color:#fff;width:90px;border-radius:5px;padding:4px 10px;">删除日志</button>
  49. <button class="clear-total" style="background:red;color:#fff;width:90px;border-radius:5px;padding:4px 10px;">删除总额</button>
  50. <button class="clear-nosettle" style="background:red;color:#fff;width:90px;border-radius:5px;padding:4px 10px;">删除未结算</button>
  51. </div>
  52. </div>
  53. </div>
  54. `
  55. $('body').append(html)
  56. $('#drop-status').click(function(){
  57. $('#autoDropwrap').toggle()
  58. })
  59. $('#autoDropwrap .version').text('V' + version)
  60. logger('init')
  61. countReload(0)
  62. // 删除数据
  63. $('#autoDropwrap .clear-log').click(function(){
  64. GM_deleteValue('Relod_log_text')
  65. $('#autoDropwrap .log').val('')
  66. })
  67. $('#autoDropwrap .clear-total').click(function(){
  68. GM_deleteValue('Reload_count')
  69. $('#autoDropwrap .totle-reload').text(0)
  70. })
  71. $('#autoDropwrap .clear-nosettle').click(function(){
  72. GM_deleteValue('Reload_count_no_settle')
  73. $('#autoDropwrap .nosettle-reload').text(0)
  74. })
  75. }
  76. controlAction()
  77. /**
  78. * 更新日志方法
  79. */
  80. function logger(text){
  81. let date = new Date()
  82. let year = date.getFullYear()
  83. let month = date.getMonth() + 1
  84. let day = date.getDate()
  85. let hour = date.getHours() >=10 ? date.getHours() : `0${date.getHours()}`
  86. let min = date.getMinutes() >=10 ? date.getMinutes() : `0${date.getMinutes()}`
  87. let second = date.getSeconds() >=10 ? date.getSeconds() : `0${date.getSeconds()}`
  88. /*
  89. let timeStr = date.getTime()
  90. let timeStr1 = new Date(`${year}-${month}-${day} ${hour}:${min}:${second}`).getTime()
  91. let haomiao = timeStr - timeStr1 >= 100 ? timeStr - timeStr1 : `0${timeStr - timeStr1}`
  92. */
  93. let time = `${month}-${day} ${hour}:${min}:${second}`
  94. let mark = `${time} | `
  95. if (text == 'init') {
  96. let gm_text = GM_getValue('Relod_log_text')
  97. if (gm_text) {
  98. GM_setValue('Relod_log_text',gm_text)
  99. $('#autoDropwrap .log').val(gm_text)
  100. $('#autoDropwrap .log').scrollTop(100000)
  101. }
  102. } else {
  103. let gm_text = GM_getValue('Relod_log_text')
  104. if (gm_text) {
  105. gm_text+= `${mark}${text}\n`
  106. } else {
  107. gm_text = `${mark}${text}\n`
  108. }
  109. GM_setValue('Relod_log_text',gm_text)
  110. $('#autoDropwrap .log').val(gm_text)
  111. $('#autoDropwrap .log').scrollTop(100000)
  112. }
  113. }
  114. function countReload(amount) {
  115. console.log('数据统计')
  116. let gm_amount = GM_getValue('Reload_count')
  117. if (gm_amount) {
  118. gm_amount = Number(gm_amount) + Number(amount)
  119. } else {
  120. gm_amount = amount
  121. }
  122. gm_amount = gm_amount.toFixed(8)
  123. console.log('总金额:' + gm_amount)
  124. GM_setValue('Reload_count', gm_amount)
  125. $('#autoDropwrap .totle-reload').text(gm_amount)
  126. // 未结算
  127. let gm_amount_no_settle = GM_getValue('Reload_count_no_settle')
  128. if (gm_amount_no_settle) {
  129. gm_amount_no_settle = Number(gm_amount_no_settle) + Number(amount)
  130. } else {
  131. gm_amount_no_settle = amount
  132. }
  133. gm_amount_no_settle = gm_amount_no_settle.toFixed(8)
  134. console.log('未结算金额:' + gm_amount_no_settle)
  135. GM_setValue('Reload_count_no_settle', gm_amount_no_settle)
  136. $('#autoDropwrap .nosettle-reload').text(gm_amount_no_settle)
  137. }
  138. /**
  139. * 重载fetch,用于拦截网页发送的fetch请求
  140. reload": {
  141. "id": "b10e4aa9-dcfb-4214-82ab-ffed1879ec9a",
  142. "amount": 0.16028000275361046,
  143. "active": true,
  144. "claimInterval": 600000,
  145. "lastClaim": "Sun, 11 Feb 2024 13:53:56 GMT",
  146. "expireAt": "Tue, 13 Feb 2024 06:15:00 GMT",
  147. "createdAt": "Tue, 06 Feb 2024 06:15:47 GMT",
  148. "updatedAt": "Tue, 06 Feb 2024 06:15:47 GMT",
  149. "__typename": "Faucet"
  150. },
  151. */
  152. let originFetch = fetch;
  153. window.unsafeWindow.fetch = async function (...args) {
  154. const url = args[0]
  155. const response = await originFetch(...args);
  156. if (args[1].body) {
  157. let requestBody = JSON.parse(args[1].body)
  158. if (url.indexOf('_api/graphql') > -1 && requestBody.query && requestBody.query.indexOf('ClaimFaucet')){
  159. let currency = requestBody.variables.currency
  160. await response.clone().json().then(res => {
  161. console.log('日奖金结果', res)
  162. if (res.data) {
  163. let reload = res.data.claimReload.reload.user.reload
  164. let amount = reload.amount.toFixed(8)
  165. console.log(`成功领取 ${amount} ${currency}`)
  166. logger(`成功领取 ${amount} ${currency}`)
  167. countReload(amount)
  168. }
  169. }).catch(e=> {
  170. console.log('处理返回数据出错:', e)
  171. });
  172. }
  173. }
  174. return response;
  175. }
  176. })
  177. // Your code here...
  178. })();

QingJ © 2025

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