Greasy Fork

Greasy Fork is available in English.

Universal Fast Shortlink Bypasser (Architect v18)

Calculated 30+ failure points. Fixed Cloudflare loops, Green Boxes, and Step errors.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         Universal Fast Shortlink Bypasser (Architect v18)
// @namespace    https://violentmonkey.top/
// @version      18.0
// @description  Calculated 30+ failure points. Fixed Cloudflare loops, Green Boxes, and Step errors.
// @author       Pawan's Assistant
// @match        *://*/*
// @run-at       document-start
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const HOST = window.location.hostname;
    const TITLE = document.title.toLowerCase();

    // ==========================================
    // 🛡️ SHIELD: THE SAFETY GATES
    // ==========================================

    // 1. Cloudflare/Security Pass (Fixes the loop)
    if (HOST.includes('cloudflare') || HOST.includes('challenge') || TITLE.includes('just a moment')) {
        return; // सुरक्षा जांच के समय स्क्रिप्ट सो जाएगी
    }

    // 2. Movie/Content Sites (Stop Green Boxes)
    const IS_MOVIE_SITE = HOST.includes('olamovies') || HOST.includes('flix') || HOST.includes('movie');
    if (IS_MOVIE_SITE) return; // मूवी साइट्स पर कुछ नहीं करेगी

    // 3. Exam/Banking Blacklist (Safety for Pawan's Goals)
    const BLACKLIST = ['sbi', 'rrb', 'ibps', 'ssc', 'bank', 'paytm', 'google', 'youtube', 'facebook'];
    if (BLACKLIST.some(d => HOST.includes(d))) return;

    // ==========================================
    // ⏳ ENGINE: ADAPTIVE TIME WARP
    // ==========================================
    
    const IS_GPLINKS = HOST.includes('gplinks');

    // Time Bender: Only for high-speed sites (PowerGam)
    if (!IS_GPLINKS) {
        const ACCEL = 100;
        const originalNow = Date.now;
        let start = originalNow();
        Date.now = () => start + (originalNow() - start) * ACCEL;
        
        const originalPerf = performance.now.bind(performance);
        performance.now = () => originalPerf() * ACCEL;
    }

    // Timer Accelerator (Safe limits)
    const originalTimeout = window.setTimeout;
    window.setTimeout = (f, d) => originalTimeout(f, d > 50 ? 50 : d);
    const originalInterval = window.setInterval;
    window.setInterval = (f, d) => originalInterval(f, d > 50 ? 50 : d);

    // ==========================================
    // 🕵️ SCANNER: PRECISION CLICKER
    // ==========================================
    
    const MEMORY = new Set();
    const TARGETS = ['skip', 'continue', 'next', 'get link', 'verify', 'i am not a robot', 'get url'];

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

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

            // 🛑 FIX: Size Filter (The Green Box Killer)
            const rect = el.getBoundingClientRect();
            if (rect.width > 350 || rect.height > 150) continue; 

            // 🛑 FIX: Text & Image Filter
            let text = (el.innerText || el.value || "").toLowerCase().trim();
            if (text.length > 30 || text.length < 2 || el.querySelector('img')) continue;

            if (TARGETS.some(key => text.includes(key))) {
                // Blog Pagination Check
                if (text === 'next' && document.body.innerText.toLowerCase().includes('previous')) continue;

                // --- EXECUTE WITH HUMANIZED DELAY ---
                MEMORY.add(el);
                
                // GPLinks needs ~6s, others need ~2s to avoid bot detection
                const delay = IS_GPLINKS ? 6000 : 2000; 

                el.style.border = "3px solid #00ff00";
                el.style.position = "relative";
                const label = document.createElement('span');
                label.innerText = `⏳ Waiting ${delay/1000}s...`;
                label.style.cssText = "position:absolute; top:-25px; left:0; background:black; color:white; padding:2px; font-size:10px; z-index:9999;";
                if(el.parentNode) el.parentNode.insertBefore(label, el);

                setTimeout(() => {
                    label.innerText = "🚀 CLICK!";
                    try { el.click(); } catch(e) { el.dispatchEvent(new MouseEvent('click')); }
                }, delay);
                
                break;
            }
        }
    }

    window.addEventListener('load', () => setInterval(scan, 1200));

})();