// ==UserScript== // @name Shortlink Dodger // @namespace Shortlink Dodger // @version 0.1 // @description Quickly bypasses short links to enhance your browsing experience. This script automatically navigates through common URL shorteners, saving you time and hassle with every click. // @author AmineDev // @license All Rights Reserved // @icon https://i.ibb.co/N3cwK3X/shortlink-dodger.png // @match *://*/recaptcha/* // @match *://tpi.li/* // @match *://blogmystt.com/* // @match *://cety.app/* // @match *://fc-lc.xyz/* // @match *://gamezizo.com/* // @match *://forex-trnd.com/* // @match *://falpus.com/* // @match *://oii.la/* // @match *://wp2hostt.com/* // @match *://expertvn.com/* // @match *://ielts-isa.edu.vn/* // @match *://handydecor.com.vn/* // @match *://top10cafe.se/* // @match *://*.mega*.in/* // @match *://mitly.us/* // @match *://*.sonjuegosgratis.com/* // @match *://autodime.com/* // @match *://linx.cc/* // @match *://surflink.tech/* // @match *://coincroco.com/* // @match *://sox.link/* // @match *://shrinkme.ink/* // @match *://themezon.net/* // @match *://en.mrproblogger.com/* // @run-at document-end // @downloadURL none // ==/UserScript== (function() { 'use strict'; const buttonSelectors = [ { type: 'a', value: ['btn.btn-hover.color-2.get-link'], interval: 1000 }, { type: 'class', value: ['getmylink', 'btn.btn-success', 'g-recaptcha.btn.btn-primary', 'btn.btn-primary.btn-lg.get-link', 'button.link-button', 'yu-btn.yu-blue', 'btn.btn-danger.btn-lg.get-link', 'btnBgRed.get-link', 'btn.btn-success.btn-lg.get-link'], interval: 5000 }, { type: 'class', value: ['btn-hover.color-1.btn-captcha', 'ni.ni-check-bold'], interval: 15000 }, { type: 'class', value: ['btn-hover.color-1.btn-captcha'], interval: 20000 }, { type: 'class', value: ['yu-btn.yu-blue', 'btn.btn-primary'], interval: 30000 }, { type: 'id', value: ['continue', 'submit-button', 'invisibleCaptchaShortlink', 'next', 'scroll', 'overlay', 'glink', 'shortContainer', 'button1', 'btn2', 'tp-snp2'], interval: 5000 }, { type: 'id', value: ['monetiza'], interval: 30000 } ]; function clickButtons(selector) { if (selector.type === 'class') { selector.value.forEach(className => { const elements = document.querySelectorAll(`.${className}`); elements.forEach(element => { if (element) { if (element.tagName === 'A' && element.target === '_blank') { element.target = '_self'; } element.click(); } }); }); } else if (selector.type === 'id') { selector.value.forEach(id => { const element = document.getElementById(id); if (element) { if (element.tagName === 'A' && element.target === '_blank') { element.target = '_self'; } element.click(); } }); } else if (selector.type === 'a') { selector.value.forEach(linkClass => { const elements = document.querySelectorAll(`a.${linkClass}`); elements.forEach(element => { if (element) { if (element.target === '_blank') { element.target = '_self'; } element.click(); } }); }); } } buttonSelectors.forEach(selector => { setInterval(() => { clickButtons(selector); }, selector.interval); }); const textClicks = [ { texts: ["Click here to continue"], delay: 5000 }, { texts: ["Show Captcha Verification"], delay: 10000 } ]; function clickByText(targetText) { const elements = document.querySelectorAll('*'); elements.forEach(element => { if (element.textContent.trim() === targetText) { element.click(); } }); } textClicks.forEach(item => { setTimeout(() => { item.texts.forEach(text => { clickByText(text); }); }, item.delay); }); })(); (function() { 'use strict'; const hiddenInputIDs = ['shortShort']; function useHiddenInputValues() { hiddenInputIDs.forEach(id => { const hiddenInput = document.getElementById(id); if (hiddenInput) { const value = hiddenInput.value; window.location.href = value; } }); } setTimeout(useHiddenInputValues, 5000); })(); (function() { 'use strict'; window.addEventListener('load', function() { setTimeout(() => { const button = document.querySelector('.recaptcha-checkbox-border'); if (button) { button.click(); } }, 3000); }); })();