Greasy Fork

Greasy Fork is available in English.

Universal Fast Shortlink Bypasser (Adaptive v14.5 SAFE)

Safer Human-like Engine: Fast but Undetectable

当前为 2026-02-03 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Universal Fast Shortlink Bypasser (Adaptive v14.5 SAFE)
// @namespace    https://violentmonkey.top/
// @version      14.5
// @description  Safer Human-like Engine: Fast but Undetectable
// @author       Pawan
// @match        *://*/*
// @run-at       document-start
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    const HOST = window.location.hostname;

    // =========================================================================
    // 🛡️ SAFETY MODE DETECTION
    // =========================================================================
    const IS_GPLINKS = HOST.includes('gplinks');

    // =========================================================================
    // ⏳ HUMAN-LIKE DELAY (MOST IMPORTANT CHANGE)
    // =========================================================================
    function humanDelay(base) {
        return base + Math.floor(Math.random() * 1200) + 400;
    }

    // =========================================================================
    // 🕵️ CONFIGURATION
    // =========================================================================
    const CONFIG = {
        scanInterval: 1200,

        // realistic waiting
        safetyDelay: IS_GPLINKS ? 6500 : 2800,

        targets: [
            'skip', 'continue', 'next', 'go to link', 'get link',
            'proceder', 'continuar', 'click here', 'verify',
            'get url', 'link download', 'click to continue'
        ],

        blacklist: [
            'google', 'youtube', 'facebook', 'instagram', 'netflix',
            'amazon', 'bank', 'sbi', 'rrb', 'ibps', 'ssc', 'upsc',
            'irctc', 'wikipedia', 'reddit'
        ]
    };

    if (CONFIG.blacklist.some(d => HOST.includes(d))) return;

    // =========================================================================
    // 🧠 MEMORY
    // =========================================================================
    const MEMORY = new WeakSet();

    // =========================================================================
    // 🔍 SCANNER
    // =========================================================================
    function scan() {
        const elements = document.querySelectorAll(
            'button, a, input[type="submit"], div[role="button"], span[onclick], span.btn'
        );

        for (let el of elements) {
            if (MEMORY.has(el)) continue;
            if (el.offsetParent === null) continue;

            let text = (el.innerText || el.value || '').toLowerCase().trim();
            if (text.length < 2 || text.length > 50) continue;

            if (!CONFIG.targets.some(k => text.includes(k))) continue;

            // ❌ avoid blog navigation
            if (text === 'next') {
                const body = document.body.innerText.toLowerCase();
                if (body.includes('previous') || body.includes('prev page')) continue;
            }

            // ❌ ad / useless links
            if (el.tagName === 'A' && el.href) {
                if (
                    el.href.includes('googleads') ||
                    el.href.includes('doubleclick') ||
                    el.href === '#' ||
                    el.href.startsWith('/')
                ) continue;
            }

            MEMORY.add(el);

            // 🟠 waiting indicator
            el.style.border = '3px solid orange';
            el.style.position = 'relative';

            const label = document.createElement('span');
            label.textContent = '⏳ waiting...';
            label.style.cssText =
                'position:absolute;top:-28px;left:0;background:orange;color:black;' +
                'padding:3px 6px;font-size:12px;font-weight:bold;z-index:9999;';
            el.parentNode && el.parentNode.insertBefore(label, el);

            const delay = humanDelay(CONFIG.safetyDelay);

            setTimeout(() => {
                el.style.border = '3px solid #00ff00';
                label.style.background = '#00ff00';
                label.textContent = '🚀 clicking';
                try { el.click(); } catch (e) {}
            }, delay);

            break;
        }
    }

    window.addEventListener('load', () => {
        setInterval(scan, CONFIG.scanInterval);
    });

})();