// ==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
// ==/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);
});
})();