sABER-Click shortlink helper

Script de uso personal, adicional para pasar acortadores. Contribuciones via FaucetPay User: Crypto4Script. Try to take over the world!

当前为 2023-12-18 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name sABER-Click shortlink helper
  3. // @namespace Violentmonkey Scripts
  4. // @match *://blog.cryptowidgets.net/*
  5. // @match *://blog.insurancegold.in/*
  6. // @match *://blog.wiki-topia.com/*
  7. // @match *://blog.freeoseocheck.com/*
  8. // @match *://blog.coinsvalue.net/*
  9. // @match *://blog.cookinguide.net/*
  10. // @match *://blog.makeupguide.net/*
  11. // @match *://blog.carstopia.net/*
  12. // @match *://blog.carsmania.net/*
  13.  
  14. // @match *://mdn.lol/*
  15. // @match *://awgrow.com/*
  16. // @match *://worldtanr.xyz/*
  17. // @match *://fadedfeet.com/*
  18. // @match *://kenzo-flowertag.com/*
  19. // @match *://homeculina.com/*
  20. // @match *://lawyex.co/*
  21.  
  22. // @match *://rsinsuranceinfo.com/*
  23. // @match *://rssoftwareinfo.com/*
  24. // @match *://rsfinanceinfo.com/*
  25. // @match *://rseducationinfo.com/*
  26. // @match *://rsadnetworkinfo.com/*
  27. // @match *://rshostinginfo.com/*
  28.  
  29. // @grant none
  30. // @version 1.8
  31. // @author sABER (juansi)
  32. // @run-at document-start
  33. // @description Script de uso personal, adicional para pasar acortadores. Contribuciones via FaucetPay User: Crypto4Script. Try to take over the world!
  34. // ==/UserScript==
  35.  
  36. (function() { 'use strict';
  37.  
  38. function getElement(selector) {
  39. return document.querySelector(selector);
  40. }
  41.  
  42. function existElement(selector) {
  43. return getElement(selector) !== null;
  44. }
  45.  
  46. function formSubmit(selector, time) {
  47. window.setTimeout(()=>{
  48. let elem = (typeof selector === 'string') ? getElement(selector).closest('form') : selector;
  49. elem.submit();
  50. }, time*1000);
  51. }
  52.  
  53. function setCaptchaVisible(captcha){
  54. var $div = $(captcha).parents('div');
  55. for (var i = 0; i<$div.length; i++){
  56. if ($div[i].style.display === 'none') { $div[i].style.display = 'block'; }
  57. }
  58. }
  59. function iconCaptcha(selector){
  60. let t = setInterval(()=>{
  61. setCaptchaVisible('.iconcaptcha-modal');
  62. let f = getElement(".iconcaptcha-holder.iconcaptcha-theme-light.iconcaptcha-success");
  63. if (f) { formSubmit(selector, 1);
  64. clearInterval(t);
  65. }
  66. }, 3000);
  67. }
  68.  
  69. function changeTitle(text){
  70. document.title = text;
  71. window.setTimeout(()=>{
  72. changeTitle(text.substr(1) + text.substr(0, 1));
  73. }, 200);
  74. }
  75.  
  76. function invoke(selector, time){
  77. if (existElement('.g-recaptcha')) {
  78. changeTitle(' Solve reCaptcha ');
  79. let t = window.setInterval(()=> {if (window.grecaptcha.getResponse().length !==0) {
  80. formSubmit('.g-recaptcha', 1);
  81. clearInterval(t);
  82. }
  83. }, 1000);
  84. }
  85. else if (existElement('input[name=_iconcaptcha-token]')) {
  86. changeTitle(' Solve iconCaptcha ');
  87. iconCaptcha(selector);
  88. }
  89. else {
  90. formSubmit(selector, time);
  91. }
  92. }
  93.  
  94. function disable_timers(string2find, nameFunc){
  95. var target = window[nameFunc];
  96. window[nameFunc] = function(...args){
  97. const stringFunc = String(args);
  98. if ((new RegExp(string2find)).test(stringFunc)) args[0] = function(){};
  99. return target.call(this, ...args);
  100. }
  101. }
  102.  
  103. function getForm(){
  104. var forms = document.forms;
  105. for (var i = 0; i < forms.length; i++)
  106. { var bait = forms[i].action;
  107. if (/bypass.html|adblock.html/.test(bait)) continue;
  108. return forms[i]; }
  109. }
  110.  
  111. Object.defineProperty(document, 'querySelector', { value: document.querySelector, configurable: false, writable: false });
  112. Object.defineProperty(HTMLFormElement.prototype, 'submit', { writable: false });
  113. disable_timers('(/ad-now.php|/bypass|Solve reCaptcha)', 'setInterval');
  114. disable_timers('(bl0ck3d|Solve reCaptcha|isRequestPresent|repeat)', 'setTimeout');
  115.  
  116. var l = new URL(window.location.href);
  117. switch (l.hostname) {
  118. case 'blog.cryptowidgets.net': case 'blog.insurancegold.in': case 'blog.wiki-topia.com':
  119. case 'blog.freeoseocheck.com': case 'blog.coinsvalue.net': case 'blog.cookinguide.net':
  120. case 'blog.makeupguide.net': case 'blog.carstopia.net': case 'blog.carsmania.net':
  121. document.addEventListener('DOMContentLoaded', function() { document.querySelectorAll('.row.text-center').forEach((dtc) => dtc.parentNode.removeChild(dtc)); invoke('#countdown', 20); });
  122. break;
  123. case 'worldtanr.xyz': case 'awgrow.com': case 'fadedfeet.com':
  124. case 'kenzo-flowertag.com': case 'homeculina.com': case 'lawyex.co':
  125. document.addEventListener('DOMContentLoaded', function() { invoke('form[id]', 10); });
  126. break;
  127. case 'mdn.lol':
  128. document.addEventListener('DOMContentLoaded', function() { invoke('input[style]', 10); });
  129. break;
  130. case 'rsinsuranceinfo.com': case 'rssoftwareinfo.com': case 'rsfinanceinfo.com':
  131. case 'rseducationinfo.com': case 'rsadnetworkinfo.com': case 'rshostinginfo.com':
  132. document.addEventListener('DOMContentLoaded', function() { invoke(getForm(), 5); });
  133. break;
  134. default:
  135. break;
  136. }
  137. })();