Greasy Fork is available in English.

[Premium] Shortlink Maker

Automatic click the buttons on for much Shortlinker (list coming soon...)

// ==UserScript==
// @name         [Premium] Shortlink Maker
// @namespace    https://greasyfork.org/users/1162863
// @version      1.6.2
// @description  Automatic click the buttons on for much Shortlinker (list coming soon...)
// @author       Andrewblood
// @match        *://*/*
// @exclude      challenges.cloudflare.com/*
// @require      https://cdn.jsdelivr.net/npm/tesseract.js@4.0.2/dist/tesseract.min.js
// @icon         https://coinfinity.top/favicon.ico
// @license      Copyright Andrewblood
// ==/UserScript==

(function() {
    'use strict';

    // Functions for REAL Click
    function triggerMouseEvent(elm, eventType) {
        let clickEvent = document.createEvent('MouseEvents');
        clickEvent.initEvent(eventType, true, true);
        elm.dispatchEvent(clickEvent);
    }

    function alternativeClick(elm) {
        triggerMouseEvent(elm, "mouseover");
        triggerMouseEvent(elm, "mousedown");
        triggerMouseEvent(elm, "mouseup");
        triggerMouseEvent(elm, "click");
    }

    function specialClick(selector) {
        var interval001 = setInterval(function() {
            var button = document.querySelector(selector);


            /*
            if (button){
                button.style.display = "block";
                button.removeAttribute("disabled");
            }
            */


            var captchaElement = document.querySelector(".captcha-modal, .g-recaptcha, .h-captcha, #captcha_container");
            var captchaResponse = document.querySelector("#g-recaptcha-response, #fform > center > div > div > input[type=hidden]");

            if (captchaElement) {
                if (captchaResponse && captchaResponse.value.length > 0 && button && button.offsetHeight > 0 && !button.hasAttribute('disabled')) {
                    alternativeClick(button);
                    console.log("Element is clicked.");
                    clearInterval(interval001);
                }
            } else {
                // Falls kein CAPTCHA vorhanden ist, überprüfe nur die Sichtbarkeit des Buttons
                if (button && button.offsetHeight > 0 && !button.hasAttribute('disabled')) {
                    alternativeClick(button);
                    console.log("Element is clicked.");
                    clearInterval(interval001);
                }
            }
        }, 500);
    }

    function searchFirstButtonWithInnerText(text) {
        let interval = setInterval(function() {
            // Suche nur nach Button-Elementen
            let buttons = document.querySelectorAll('button');

            for (let button of buttons) {
                if (button.innerText.includes(text) && button.offsetHeight > 0) {
                    button.removeAttribute('disabled');
                    //  button.style.display = "block";
                    button.click();
                    alternativeClick(button);
                    console.log("Element is clicked.");
                    clearInterval(interval); // Intervall stoppen
                }
            }
        }, 500);
    }



    // All
    if (window.location.href.includes("adlink.click") ||
        window.location.href.includes("linx.cc") ||
        window.location.href.includes("mitly.us") ||
        window.location.href.includes("linkpay.top") ||
        window.location.href.includes("mrproblogger.com") ||
        window.location.href.includes("urlspay.com") ||
        window.location.href.includes("wordcounter.icu")){
        specialClick(".btn.get-link:not(.disabled)"); // Get Link
    }

    // Ouo
    if (window.location.href.includes("ouo.press") ||
        window.location.href.includes("ouo.io")){
        specialClick("#btn-main:not(.disabled)");
    }

    // ClksPro
    if (window.location.href.includes("financewrapper.net") ||
        window.location.href.includes("fishingbreeze.com") ||
        window.location.href.includes("recipes4all.net")){
        setInterval(function () {
            if (document.querySelector("#click") && document.querySelector("#click").offsetHeight > 0 && document.querySelector("#click").innerText.includes("Ad")){
                location.reload();
            }
        }, 500);
        searchFirstButtonWithInnerText("Continue ");
    }

    // Clicksfly
    if (window.location.href.includes("mythvista.com") ||
        window.location.href.includes("ss7.info") ||
        window.location.href.includes("vocalley.com") ||
        window.location.href.includes("yogablogfit.com") ||
        window.location.href.includes("healthfirstweb.com") ||
        window.location.href.includes("howifx.com")){
        specialClick("#scroll > a > p");
        specialClick("#getlink");
    }
    if (window.location.href.includes("clk.kim")){
        setTimeout(function () {
            document.querySelector(".btn:not(.disabled)").click();
        }, 25000);
        specialClick(".btn.btn-primary.btn-captcha");
    }

    // Cuty
    if (window.location.href.includes("cety.app")){
        specialClick("#submit-button");
        let interval = setInterval(function() {
            let element = document.querySelector("#submit-button:not(.disabled)");
            if (element) {
                element.click();
                clearInterval(interval);
            }
        }, 500);
    }

    // CBShort/UrlsPay
    if (window.location.href.includes("crazyblog.in") ||
        window.location.href.includes("tensailab.com") ||
        window.location.href.includes("videolyrics.in") ||
        window.location.href.includes("droplink") ||
        window.location.href.includes("game5s.com") ||
        window.location.href.includes("ez4short") ||
        window.location.href.includes("tech5s.co") ||
        window.location.href.includes("wp2hostt.com") ||
        window.location.href.includes("famousdokan.com")){
        specialClick(".py-2.px-4");
        specialClick(".btn-success:not(.disabled)");
        specialClick("#go_d");
        specialClick("#go_d2");
        specialClick(".btn-primary.btn.submitBtn:not(.disabled)");
        specialClick("#t_modal_close_x");
        let interval = setInterval(function() {
            let element = document.querySelectorAll(".py-2.px-4")[1];
            if (element) {
                element.click();
                clearInterval(interval);
            }
        }, 500);
    }

    // Magnet + 1bitSpace
    if (window.location.href.includes("mgnet.xyz") ||
        window.location.href.includes("1bitspace.com") ||
        window.location.href.includes("1bit.space")){
        specialClick("#continue-button");
        specialClick(".button.is-rounded.is-fullwidth.is-outlined.is-link.rubberBand.animated.button-element-verification");
        specialClick("#container-element-verification > div > button");
    }

    // FcLc
    if (window.location.href.includes("fc-lc.xyz") ||
        window.location.href.includes("fitdynamos.com") ||
        window.location.href.includes("gamezizo.com")){
        specialClick("#invisibleCaptchaShortlink");
        specialClick("#next");
        specialClick("#scroll");
        specialClick("#glink");
        specialClick(".btn.btn-sm.btn-success.m-2:not(.disabled)");
    }

    // Cut-Urls
    if (window.location.href.includes("exego.app") ||
        window.location.href.includes("falpus.com")){
        specialClick(".button.link-button:not(.disabled)");
    }

    // ClkSh/LinkPay
    if (window.location.href.includes("oii.la") ||
        window.location.href.includes("blogtechh.com") ||
        window.location.href.includes("wptohost.com")||
        window.location.href.includes("blogsward.com") ||
        window.location.href.includes("linkpay.top") ||
        window.location.href.includes("raiseinfo.top")){
        specialClick(".btn.btn-primary.btn-captcha");
        specialClick("#scroll > a > p");
        specialClick("#begin-button");
        specialClick("#continueBtn");
        specialClick(".btn.btn-success:not(.disabled)");
    }

    // DutchyCorp2
    if (window.location.href.includes("movies.dutchycorp.space") ||
        window.location.href.includes("anime.dutchycorp.space") ||
        window.location.href.includes("tech.dutchycorp.space") ||
        window.location.href.includes("dutchycorp.ovh") ||
        window.location.href.includes("dutchycorp.space/shp2/") ||
        window.location.href.includes("dutchycorp.space/shp-smart/")){
        specialClick("#proceed > font > b"); // first site Link 1
        specialClick("#cl1 > center > a > font > b"); // first site Link 2
        specialClick(".btn:not(.disabled)"); // Skip Ad
        specialClick("#invisibleCaptchaShortlink"); // After Captcha
        setTimeout(function () {
            document.querySelector(".btn:not(.disabled)").click(); // Skip Ad
        }, 25000);
        specialClick("#click-btn > font"); // second site Link 1
        let interval = setInterval(function() {
            let element = document.querySelectorAll("#click-btn > font")[1]; // second site Link 2
            if (element) {
                element.click();
                clearInterval(interval);
            }
        }, 500);
    }

    // Fly
    if (window.location.href.includes("documentaryplanet.xyz") ||
        window.location.href.includes("substitutefor.com") ||
        window.location.href.includes("englishwritingsite.xyz") ||
        window.location.href.includes("sleeptube.xyz") ||
        window.location.href.includes("1side.xyz") ||
        window.location.href.includes("pulse3d.xyz") ||
        window.location.href.includes("vibe21.xyz") ||
        window.location.href.includes("deskmir.com") ||
        window.location.href.includes("bikerlynn.com")){
        setInterval(function () {
            if (document.querySelector("#click") && document.querySelector("#click").offsetHeight > 0){
                location.reload();
            }
        }, 500);
        searchFirstButtonWithInnerText("Step ");
    }
    if (window.location.href.includes("/bypass.html") ||
        window.location.href.includes("/bypass.php")){
        // window.close();
    }

    // Clik.pw
    if (window.location.href.includes("pwrpa.cc") ||
        window.location.href.includes("wordcounter.icu")){
        specialClick("#invisibleCaptchaShortlink");
        specialClick("body > div.container > div > div > div > div:nth-child(10) > a:not(.disabled)");
    }

    // ShrkEarn
    if (window.location.href.includes("pi.li") ||
        window.location.href.includes("blogmystt.com") ||
        window.location.href.includes("policiesreview.com")){
        specialClick("#scroll > a > p:not(.disabled)");
        specialClick("#continue:not(.disabled)");
        specialClick(".btn.btn-success:not(.disabled)");
    }

    // LinkRex
    if (window.location.href.includes("autodime.com") ||
        window.location.href.includes("blogmystt.com")){
        specialClick("#button1");
        specialClick("body > div.container > div > div > div > div:nth-child(5) > a:not(.disabled)");
        specialClick(".btn-hover.color-1.btn-captcha");
    }

    // ShrinkMe/UrlsPay
    if (window.location.href.includes("shrinkme.ink") ||
        window.location.href.includes("themezon.net") ||
        window.location.href.includes("mrproblogger.com") ||
        window.location.href.includes("sharphindi.in")){
        specialClick("#invisibleCaptchaShortlink");
        specialClick("#tp-snp2");
        specialClick("#btn2");
        specialClick("#tp-generate");
        specialClick(".tp-btn-2.tp-blue");
    }

    // Mitly
    if (window.location.href.includes("mitly.us") ||
        window.location.href.includes("sonjuegosgratis.com") ||
        window.location.href.includes("mrproblogger.com")){
        specialClick(".btn.btn-primary");
        specialClick(".btn.btn-primary.btn-lg.btn-block:not(.disabled)");
    }

    // Tox
    if (window.location.href.includes("surflink.tech")){
        specialClick("#fexkominhidden2 > center > button");
        specialClick(".btn.btn-primary.btn-lg.btn-block:not(.disabled)");
    }

    // Tmearn
    if (window.location.href.includes("blogmado.com")){
        specialClick(".btn:not(.disabled)");
    }

    // PayLks
    if (window.location.href.includes("askpaccosi.com") ||
        window.location.href.includes("cryptomonitor.in") ||
        window.location.href.includes("paylinks.cloud") ||
        window.location.href.includes("2the.space")){
        document.querySelector(".popup").remove;
        specialClick("#invisibleCaptchaShortlink"); // Open ad 30 secvonds
        specialClick("#openButton"); // Open ad 30 secvonds
        specialClick("#wpsafelink-landing > button"); // After Ad and Captcha
        specialClick("#wpsafe-generate > a > img"); // button at top
        specialClick("#wpsafe-link > a > button"); // Done at top
        specialClick("#image3:not(.disabled)"); // button at bottom
    }

    // RSS
    if (window.location.href.includes("workproductivityinfo.com") ||
        window.location.href.includes("phonereviewinfo.com") ||
        window.location.href.includes("gknutshell.com") ||
        window.location.href.includes("makeincomeinfo.com") ||
        window.location.href.includes("savemoneyinfo.com") ||
        window.location.href.includes("successstoryinfo.com")){
        let interval = setInterval(function() {
            let element = document.querySelectorAll("button")[1]; // second site Link 2
            if (document.querySelector(".iconcaptcha-modal__body")){
                if (document.querySelector(".iconcaptcha-modal__body-title").innerHTML == 'Verification complete.'){
                    alternativeClick(element);
                    clearInterval(interval);
                }
            } else if (element && element.offsetHeight > 0 && !element.hasAttribute('disabled') && !document.querySelector(".iconcaptcha-modal__body")) {
                alternativeClick(element);
                clearInterval(interval);
            }
        }, 2000);
    }

    // GPlinks
    if (window.location.href.includes("modapktop.net") ||
        window.location.href.includes("gplinks.co") ||
        window.location.href.includes("cggovtjobalert.in") ||
        window.location.href.includes("techews.in")){
        specialClick("#VerifyBtn");
        specialClick(".NextBtn:not(.disabled)");
        specialClick("#captchaButton:not(.disabled)");
    }

    // document.getElementById('watchAdBtn').style.display = 'block';

    // ClickSi
    if (window.location.href.includes("virtuous-tech.net") ||
        window.location.href.includes("virtuous-tech.blog") ||
        window.location.href.includes("clik.si")){

        var continueButton = (".btn.btn-lg.btn-primary.mb-2:not(.disabled)");
        var redX = ("#ad:not(.disabled)");
        var getLink = (".btn.btn-success.btn-lg.get-link:not(.disabled)");

        specialClick(getLink);
        setTimeout(function() {
            if (document.querySelector("#clickMessage") && document.querySelector("#clickMessage").innerText.includes("Click any ad")){
                specialClick(continueButton);
                specialClick("#mys-content");
                // document.querySelector('[data-placement-id="revbid-big-skyscraper"]').click();
                console.log("Ad clicked");
            }
        }, 5000);

        var interval001 = setInterval(function() {

            // specialClick(".btn.btn-success.btn-lg.get-link")
            // specialClick(".btn.btn-lg.btn-primary.mb-2:not(.disabled)");

            if (continueButton && document.querySelector("#timer") && document.querySelector("#timer").innerText.includes("0:1") && document.querySelector(".form-control").value.length > 0) {
                specialClick(continueButton);
                specialClick(continueButton);
                specialClick(redX);
                console.log("Element is clicked.");
                clearInterval(interval001);
            }


            if (document.title == "Done"){
                window.focus();
            }
        }, 500);

        // Captcha-Bild finden
        let captchaImage = document.querySelector(".input-group-prepend");
        if (captchaImage) {
            // Bild URL extrahieren
            let captchaSrc = captchaImage.lastElementChild.src;

            // Erstellt ein neues Canvas-Element zur Bildbearbeitung
            let canvas = document.createElement('canvas');
            let ctx = canvas.getContext('2d');

            // Lädt das Captcha-Bild
            let img = new Image();
            img.crossOrigin = "Anonymous"; // Umgehen von CORS-Problemen, falls nötig
            img.src = captchaSrc;
            img.onload = function() {
                // Setzt die Größe des Canvas auf die Bildgröße
                canvas.width = img.width;
                canvas.height = img.height;

                // Zeichnet das Bild auf das Canvas
                ctx.drawImage(img, 0, 0);

                // Schwellenwert-Anpassung (Thresholding)
                let imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
                let data = imageData.data;

                // Schwellenwert für Bildbearbeitung (Threshold: 128)
                let threshold = 80;
                for (let i = 0; i < data.length; i += 4) {
                    let avg = (data[i] + data[i + 1] + data[i + 2]) / 3; // Durchschnitt der RGB-Werte
                    let value = avg < threshold ? 0 : 255;
                    data[i] = data[i + 1] = data[i + 2] = value; // Setzt R, G, B auf den Schwellenwert
                }
                ctx.putImageData(imageData, 0, 0); // Das bearbeitete Bild auf das Canvas anwenden

                // Zeigt das bearbeitete Captcha-Bild rechts oben auf der Seite an
                let processedImage = new Image();
                processedImage.src = canvas.toDataURL(); // Erstellt eine Data-URL aus dem Canvas
                processedImage.style.position = 'fixed';
                processedImage.style.top = '10px';
                processedImage.style.right = '10px';
                processedImage.style.border = '2px solid black';
                processedImage.style.zIndex = '1000';
                document.body.appendChild(processedImage); // Fügt das bearbeitete Bild in den DOM ein

                // Bereich für erkannte Zahlen und Berechnung
                let resultDiv = document.createElement('div');
                resultDiv.style.position = 'fixed';
                resultDiv.style.top = '130px';
                resultDiv.style.right = '10px';
                resultDiv.style.backgroundColor = 'white';
                resultDiv.style.border = '2px solid black';
                resultDiv.style.padding = '10px';
                resultDiv.style.zIndex = '1000';
                document.body.appendChild(resultDiv);

                // Bildanalyse mit Tesseract.js
                Tesseract.recognize(
                    canvas, // Verwendet das Canvas mit dem bearbeiteten Bild
                    'eng',
                    {
                        logger: info => console.log(info)
                    }
                ).then(({ data: { text } }) => {
                    console.log('Erkannte Captcha-Zahlen:', text.trim());

                    // Versuch, die erkannten Zeichen als "Zahl + Zahl" zu finden
                    let match = text.trim().match(/(\d+)\s*\+\s*(\d+)/);
                    if (match) {
                        // Wenn "Zahl + Zahl" erkannt wurde
                        let zahl1 = parseInt(match[1], 10);
                        let zahl2 = parseInt(match[2], 10);

                        // Addition durchführen
                        let ergebnis = zahl1 + zahl2;
                        console.log(`Berechnung: ${zahl1} + ${zahl2} = ${ergebnis}`);

                        // Anzeige der erkannten Zahlen und der Berechnung
                        resultDiv.innerHTML = `<strong>Erkannte Zahlen:</strong> ${zahl1} + ${zahl2}<br><strong>Ergebnis:</strong> ${ergebnis}`;

                        // Formularfeld für Captcha finden und Ergebnis einfügen
                        let captchaInput = document.querySelector(".form-control");
                        if (captchaInput) {
                            captchaInput.value = ergebnis; // Ergebnis der Addition einfügen
                        }
                    }
                    // Fallback: Wenn drei Zahlen erkannt wurden, die mittlere als Pluszeichen interpretieren
                    else {
                        let fallbackMatch = text.trim().match(/(\d+)\s*(\d+)\s*(\d+)/);
                        if (fallbackMatch) {
                            let zahl1 = parseInt(fallbackMatch[1], 10);
                            let zahl2 = parseInt(fallbackMatch[2], 10); // Mittlere Zahl wird ignoriert/als Plus interpretiert
                            let zahl3 = parseInt(fallbackMatch[3], 10);

                            // Addition der ersten und dritten Zahl
                            let ergebnis = zahl1 + zahl3;
                            console.log(`Berechnung: ${zahl1} + ${zahl3} = ${ergebnis}`);

                            // Anzeige der erkannten Zahlen und der Berechnung
                            resultDiv.innerHTML = `<strong>Erkannte Zahlen:</strong> ${zahl1} + ${zahl3}<br><strong>Ergebnis:</strong> ${ergebnis}`;

                            // Formularfeld für Captcha finden und Ergebnis einfügen
                            let captchaInput = document.querySelector(".form-control");
                            if (captchaInput) {
                                captchaInput.value = ergebnis; // Ergebnis der Addition einfügen
                            }
                        } else {
                            resultDiv.innerHTML = "Fehler: Kein gültiges Captcha-Format erkannt.";
                            console.error('Fehler: Kein gültiges Captcha-Format erkannt.');
                            location.reload();
                        }
                    }
                });
            };
        }
    }


    // Radio
    if (window.location.href.includes("dailytech-news.eu") ||
        window.location.href.includes("crypto-radio.eu")){
        var fuckButton = document.querySelector("#verify");
        var fuckButton2 = document.querySelector(".btn.btn-success.btn-lg.get-link:not(.disabled)");
        setTimeout(function() {
            document.querySelector("#verify").style.display="block"
            fuckButton.click();
        }, 300);

        specialClick("#verify");

        var interval002 = setInterval(function() {
            if (fuckButton){
                fuckButton.click();
                clearInterval(interval002);
            }
        }, 500);
    }

    // Adlink
    if (window.location.href.includes("maqal360.com") ||
        window.location.href.includes("diudemy.com")){
        specialClick("#append > a");
        specialClick("#_append > a");

        if (document.querySelector(".alertAd.alert.alert-primary")){
            let newWindow = window.open('', '_blank');
            setTimeout(() => {
                newWindow.focus(); // Wechselt den Fokus auf das neue Fenster
            }, 3000); // 3 Sekunden = 3000 Millisekunden
            setTimeout(() => {
                newWindow.close();
            }, 25000);
        }
    }

    // Faho/Bitad
    if (window.location.href.includes("coingraph.us") ||
        window.location.href.includes("google.com/url?q=https://") ||
        window.location.href.includes("facebook.com/flx/warn/?u=https%3A%2F%2F") ||
        window.location.href.includes("infonerd.org")){
        specialClick("#redirectButton");
        specialClick("a");
        specialClick("#click");
        specialClick('[role="button"]');
    }

    // RevCut
    if (window.location.href.includes("writeprofit.org") ||
        window.location.href.includes("horoscop.info") ||
        window.location.href.includes("docadvice.eu")){
        specialClick(".wpsafelink-button");
        specialClick("#wpsafelinkhuman");
        specialClick("#\\33  > center > a");

        setTimeout(() => {
            if (document.querySelector("#plan2")){
                document.querySelector("#plan2").style.display = "block";
            }
        }, 40000);
    }

    // RSFly
    if (window.location.href.includes("retrotechreborn.com")){
        setTimeout(() => {
            window.assDidCkeDone = true;
            document.querySelector('#scrolltocbt').classList.add("is-hidden");
            document.querySelector('#checkclick').classList.remove("is-hidden");
            specialClick("#cbt");
            console.log("Ad click bypass");
        }, 35000);
        specialClick("#youtubeStepIframe");
        specialClick("#ytcontinueButton");
    }

    // Foary
    if (window.location.href.includes("forex-trnd.com") ||
        window.location.href.includes("writeprofit.org")){
        document.querySelector(".g-recaptcha.btn.btn-primary").click();
    }


})();