sABER-Click shortlink helper test

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

当前为 2023-11-15 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name sABER-Click shortlink helper test
  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. // @match *://mdn.lol/*
  14. // @match *://rsinsuranceinfo.com/*
  15. // @match *://rssoftwareinfo.com/*
  16. // @match *://rsfinanceinfo.com/*
  17. // @match *://rseducationinfo.com/*
  18. // @match *://rsadnetworkinfo.com/*
  19. // @match *://rshostinginfo.com/*
  20. // @grant none
  21. // @run-at document-end
  22. // @version 1.4.0.1
  23. // @author sABER (juansi)
  24. // @description Script de uso personal, adicional para pasar acortadores. Contribuciones via FaucetPay User: Crypto4Script. Try to take over the world!
  25. // ==/UserScript==
  26.  
  27. (function() { 'use strict';
  28.  
  29. function getElement(selector) {
  30. return document.querySelector(selector);
  31. }
  32.  
  33. function existElement(selector) {
  34. return getElement(selector) !== null;
  35. }
  36.  
  37. function formSubmit(selector, time) {
  38. window.setTimeout(()=>{
  39. let elem = typeof selector === 'string' ? getElement(selector).closest('form') : selector;
  40. elem.requestSubmit();
  41. }, time*1000);
  42. }
  43.  
  44. function iconCaptcha(selector){
  45. let t = setInterval(()=>{
  46. let f = getElement(".iconcaptcha-holder.iconcaptcha-theme-light.iconcaptcha-success");
  47. if (f) { formSubmit(selector, 1);
  48. clearInterval(t);
  49. }
  50. }, 3000);
  51. }
  52.  
  53. function changeTitle(text){
  54. document.title = text;
  55. window.setTimeout(()=>{
  56. changeTitle(text.substr(1) + text.substr(0, 1));
  57. }, 200);
  58. }
  59.  
  60. function invoke(selector, time){
  61. if (existElement('.g-recaptcha')) {
  62. changeTitle(' Solve reCaptcha ');
  63. let t = window.setInterval(()=> {if (window.grecaptcha.getResponse().length !==0) {
  64. formSubmit('.g-recaptcha', 3);
  65. clearInterval(t);
  66. }
  67. }, 1000);
  68. }
  69. else if (existElement('input[name=_iconcaptcha-token]')) {
  70. changeTitle(' Solve iconCaptcha ');
  71. iconCaptcha(selector);
  72. }
  73. else {
  74. formSubmit(selector, time);
  75. }
  76. }
  77.  
  78. function undetectable(string2find, nameFunc){ //. Implementación en fase experimental;
  79. var target = window[nameFunc]; //. Desactiva esta función si experimentas redirecciones debido a adblock u otro sistema de protección;
  80. window[nameFunc] = function(...args){
  81. const stringFunc = String(args);
  82. if (stringFunc.includes(string2find)) args[0] = function(){};
  83. return target.call(this, ...args);
  84. };
  85. }
  86.  
  87. function getForm(){ //. Se puede mejorar pero por ahora es lo que hay;
  88. var forms = document.forms;
  89. for (var i = 0; i < forms.length; i++)
  90. { var bait = forms[i].action;
  91. if (/bypass.html|adblock.html/.test(bait)) { continue; }
  92. return forms[i]; }
  93. }
  94.  
  95. var l = new URL(window.location.href);
  96. switch (l.hostname) {
  97. case 'blog.cryptowidgets.net': case 'blog.insurancegold.in': case 'blog.wiki-topia.com':
  98. case 'blog.freeoseocheck.com': case 'blog.coinsvalue.net': case 'blog.cookinguide.net':
  99. case 'blog.makeupguide.net': case 'blog.carstopia.net': case 'blog.carsmania.net':
  100. invoke('#abb', 20);
  101. break;
  102. case 'mdn.lol':
  103. undetectable('/bypass', 'setInterval');
  104. undetectable('Please disable', 'setTimeout');
  105. invoke('input[type=hidden]', 15);
  106. break;
  107. case 'rsinsuranceinfo.com': case 'rssoftwareinfo.com': case 'rsfinanceinfo.com':
  108. case 'rseducationinfo.com': case 'rsadnetworkinfo.com': case 'rshostinginfo.com':
  109. invoke(getForm(), 10);
  110. break;
  111. default:
  112. break;
  113. }
  114. })();