Void Coin (autof)

https://autofaucet.org/earn/faucet

  1. // ==UserScript==
  2. // @version 2.0
  3. // @match https://*/recaptcha/*
  4. // @match https://*.hcaptcha.com/*hcaptcha-challenge*
  5. // @match https://*.hcaptcha.com/*checkbox*
  6. // @match https://*.hcaptcha.com/*captcha*
  7. // @grant none
  8. // @license MIT
  9. // @name Void Coin (autof)
  10. // @namespace https://gf.qytechs.cn/en/users/1295753-sr-fox
  11. // @description https://autofaucet.org/earn/faucet
  12. // @description https://voidkiller1.github.io/CriptoVoid/
  13. // @author Sr.Fox
  14. // @match https://autofaucet.org/earn/faucet*
  15. // ==/UserScript==
  16.  
  17. // Função para clicar no botão usando XPath
  18. function clicarBotaoPorXPath(xpath) {
  19. var elemento = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
  20. if (elemento) {
  21. elemento.click();
  22. console.log("Clique realizado no botão usando XPath: " + xpath);
  23. } else {
  24. console.log("Botão não encontrado usando XPath: " + xpath);
  25. }
  26. }
  27.  
  28. // Função para criar o cronômetro
  29. function criarCronometro() {
  30. var cronometro = document.createElement('div');
  31. cronometro.id = 'cronometro';
  32. cronometro.style.position = 'fixed';
  33. cronometro.style.top = '10px';
  34. cronometro.style.left = '50%';
  35. cronometro.style.transform = 'translateX(-50%)';
  36. cronometro.style.padding = '10px';
  37. cronometro.style.backgroundColor = '#222';
  38. cronometro.style.color = '#fff';
  39. cronometro.style.fontSize = '20px';
  40. cronometro.style.borderRadius = '5px';
  41. cronometro.style.zIndex = '9999';
  42. document.body.appendChild(cronometro); // Adicionar ao corpo da página
  43. console.log("Cronômetro criado e adicionado à página.");
  44. return cronometro;
  45. }
  46.  
  47. // Função para atualizar o cronômetro
  48. function atualizarCronometro(tempoRestante) {
  49. var cronometro = document.getElementById('cronometro');
  50. if (cronometro) {
  51. var minutos = Math.floor(tempoRestante / 60000);
  52. var segundos = Math.floor((tempoRestante % 60000) / 1000);
  53. cronometro.textContent = `Recarregando em: ${minutos}m ${segundos}s`;
  54. }
  55. }
  56.  
  57. // Função para forçar o recarregamento da página
  58. function recarregarPagina() {
  59. console.log("Recarregando a página...");
  60. window.location.reload();
  61. }
  62.  
  63. // Função para verificar se o botão já está disponível e clicar nele
  64. function verificarBotaoEClicar(xpath) {
  65. var tentativas = 0;
  66. var intervaloVerificacao = setInterval(function() {
  67. var botao = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
  68. if (botao) {
  69. clearInterval(intervaloVerificacao); // Parar a verificação quando o botão for encontrado
  70. botao.click();
  71. console.log("Botão encontrado e clicado após a recarga.");
  72. } else if (tentativas >= 30) {
  73. clearInterval(intervaloVerificacao); // Parar após 30 tentativas
  74. console.log("Botão não encontrado após 30 tentativas.");
  75. }
  76. tentativas++;
  77. }, 1000); // Verificar a cada 1 segundo
  78. }
  79.  
  80. // Função principal com lógica refinada
  81. (function() {
  82. 'use strict';
  83.  
  84. // Definir o XPath do botão
  85. const XPATH_BOTAO = '/html/body/div[1]/div[9]/div[3]/div[2]/div[3]/div[3]/form/button';
  86. const INTERVALO_RECARREGAMENTO = 300000; // 5 minutos em milissegundos
  87. const TEMPO_CLICAR_APOS_RECARREGAMENTO = 10000; // 10 segundos após a página ser recarregada
  88. const TEMPO_CLICAR_EM_4_49 = 289000; // 4 minutos e 49 segundos em milissegundos
  89.  
  90. // Criar o cronômetro na página
  91. var cronometro = criarCronometro();
  92. var tempoRestante = INTERVALO_RECARREGAMENTO; // Tempo inicial de 5 minutos
  93.  
  94. // Função para realizar a operação de recarregar e clicar no botão
  95. function operacao() {
  96. console.log("Iniciando nova operação...");
  97.  
  98. // Atualizar o cronômetro a cada segundo
  99. var intervaloCronometro = setInterval(function() {
  100. tempoRestante -= 1000;
  101. atualizarCronometro(tempoRestante);
  102.  
  103. // Clicar no botão quando o cronômetro atingir 4:49 (289 segundos restantes)
  104. if (tempoRestante <= TEMPO_CLICAR_EM_4_49 && tempoRestante > (TEMPO_CLICAR_EM_4_49 - 1000)) {
  105. clicarBotaoPorXPath(XPATH_BOTAO);
  106. console.log("Botão clicado porque o cronômetro chegou a 4:49.");
  107. }
  108.  
  109. if (tempoRestante <= 0) {
  110. clearInterval(intervaloCronometro);
  111.  
  112. // Recarregar a página
  113. recarregarPagina();
  114.  
  115. // Após a recarga, esperar 10 segundos e verificar se o botão está presente
  116. setTimeout(function() {
  117. verificarBotaoEClicar(XPATH_BOTAO);
  118. }, TEMPO_CLICAR_APOS_RECARREGAMENTO);
  119. }
  120. }, 1000);
  121. }
  122.  
  123. // Iniciar o ciclo de operação a cada 5 minutos
  124. operacao(); // Executar imediatamente a primeira vez
  125. setInterval(operacao, INTERVALO_RECARREGAMENTO);
  126.  
  127. })();

QingJ © 2025

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