sABER-Click shortlink helper

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

  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. // @match *://yexolo.net/*
  22. // @match *://ineedskin.com/*
  23. // @match *://alightmotionlatest.com/*
  24.  
  25. // @grant none
  26. // @version 2.5
  27. // @author sABER (juansi)
  28. // @description Script de uso personal, adicional para pasar acortadores. Contribuciones via FaucetPay User: Crypto4Script. Try to take over the world!
  29. // @run-at document-start
  30. // ==/UserScript==
  31.  
  32. (function() { 'use strict';
  33.  
  34. function getElement(selector) {
  35. return document.querySelector(selector);
  36. }
  37.  
  38. function existElement(selector) {
  39. return getElement(selector) !== null;
  40. }
  41.  
  42. function formSubmit(selector, time) {
  43. let elem = (typeof selector === 'string') ? getElement(selector).closest('form') : selector;
  44. window.setTimeout(()=>{
  45. elem.submit();
  46. }, time * 1000);
  47. }
  48.  
  49. function setCaptchaVisible(captcha){
  50. var $div = $(captcha).parents('div');
  51. for (var i = 0; i<$div.length; i++){
  52. if ($div[i].style.display === 'none') {
  53. $div[i].style.display = 'block';
  54. }
  55. }
  56. }
  57.  
  58. function iconCaptcha(selector){
  59. window.setTimeout(()=>{ getElement('.iconcaptcha-modal').click(); }, 3000);
  60. setCaptchaVisible('.iconcaptcha-modal');
  61. let t = setInterval(()=>{
  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 (document.getElementsByClassName('g-recaptcha').length !==0) {
  78. changeTitle(' Solve reCaptcha ');
  79. let c = document.getElementsByClassName('g-recaptcha')[0].closest('form');
  80. let t = window.setInterval(()=> {
  81. if (window.grecaptcha.getResponse().length !==0) {
  82. formSubmit(c, 1);
  83. clearInterval(t);
  84. }
  85. }, 1000);
  86. }
  87. else {
  88. formSubmit(selector, time);
  89. }
  90. }
  91.  
  92. function disable_timers(string2find, nameFunc){
  93. var target = window[nameFunc];
  94. window[nameFunc] = function(...args){
  95. const stringFunc = String(args);
  96. if ((new RegExp(string2find)).test(stringFunc)) args[0] = function(){};
  97. return target.call(this, ...args);
  98. }
  99. }
  100.  
  101. function getForm(familyName){
  102. if (familyName === 'clks'){
  103. let forms = document.forms;
  104. var id = forms[0].id;
  105. var length = Math.trunc(id.length/2);
  106. var newid = id.substring(1, length);
  107. var f = document.getElementById(newid);
  108. return f;
  109. }
  110. else {
  111. return;
  112. }
  113. }
  114.  
  115. Object.defineProperty(document, 'querySelector', { value: document.querySelector, configurable: false, writable: false });
  116. Object.defineProperty(HTMLFormElement.prototype, 'submit', { writable: false });
  117. disable_timers('(/Solve reCaptcha|Solve|AdBlocker)', 'setInterval');
  118. disable_timers('(Solve|CryptoWidgets|InsuranceGold|Wiki-Topia|Freeoseocheck|CoinsValue|MakeupGuide|CookinGuide|CarsTopia|CarsMania)', 'setInterval');
  119. disable_timers('(bl0ck3d|Solve reCaptcha)', 'setTimeout');
  120.  
  121. var l = new URL(window.location.href);
  122. switch (l.hostname) {
  123. case 'blog.cryptowidgets.net': case 'blog.insurancegold.in': case 'blog.wiki-topia.com':
  124. case 'blog.freeoseocheck.com': case 'blog.coinsvalue.net': case 'blog.cookinguide.net':
  125. case 'blog.makeupguide.net': case 'blog.carstopia.net': case 'blog.carsmania.net':
  126. document.addEventListener('DOMContentLoaded', function() {
  127. var error = document.querySelector('.error-code');
  128. if (error) { location.href = l.hostname + '?redirect_to=random'; }
  129. var s = document.scripts;
  130. var data;
  131. for (var i = 0; i < s.length; i++) {
  132. var t = s[i].textContent;
  133. if (t.includes('pdata')) {
  134. var reg = new RegExp('pdata = \"([^\"]*)');
  135. data = reg.exec(t)[1];
  136. break;
  137. }
  138. }
  139. $.ajax({
  140. type: "POST",
  141. url: l,
  142. data: { dataCheck: data },
  143. dataType: "json",
  144. success: function(response) {
  145. console.log('checked!');
  146. }
  147. });
  148. document.querySelectorAll('.row.text-center').forEach((dtc) => dtc.parentNode.removeChild(dtc));
  149. invoke('#countdown', 30);
  150. });
  151. break;
  152. case 'awgrow.com': case 'alightmotionlatest.com':
  153. document.addEventListener('DOMContentLoaded', function() {
  154. invoke('form', 10);
  155. });
  156. break;
  157. case 'worldtanr.xyz': case 'fadedfeet.com': case 'yexolo.net':
  158. case 'kenzo-flowertag.com': case 'homeculina.com': case 'lawyex.co':
  159. case 'ineedskin.com': case 'mdn.lol':
  160. document.addEventListener('DOMContentLoaded', function() {
  161. invoke(getForm('clks'), 10);
  162. });
  163. break;
  164. default:
  165. break;
  166. }
  167. })();