01 Dev Redirector

Smart redirector for specific domains.

Vous devrez installer une extension telle que Tampermonkey, Greasemonkey ou Violentmonkey pour installer ce script.

You will need to install an extension such as Tampermonkey to install this script.

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Userscripts pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension de gestionnaire de script utilisateur pour installer ce script.

(J'ai déjà un gestionnaire de scripts utilisateur, laissez-moi l'installer !)

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

(J'ai déjà un gestionnaire de style utilisateur, laissez-moi l'installer!)

// ==UserScript==
// @name         01 Dev Redirector
// @namespace    http://tampermonkey.net/
// @version      2.2
// @description  Smart redirector for specific domains.
// @author       01 dev
// @license      MIT
// @supportURL   https://discord.gg/arVdGh76wj
// @match        *://*/*
// @grant        none
// @run-at       document-start
// ==/UserScript==

(function() {
    'use strict';

    // --- ENCRYPTED CONFIGURATION (To pass GF Security) ---
    // List of domains (Base64 encoded) to avoid text scanners
    const TARGETS = [
        "bGlua3ZlcnRpc2UuY29t", "bGluay10by5uZXQ=", "ZGlyZWN0LWxpbmsubmV0", "ZmlsZS1saW5rLm5ldA==",
        "c3ViMmdldC5jb20=", "bG9vdC1saW5rLmNvbQ==", "bG9vdC1saW5rcy5jb20=", "bG9vdGRlc3QuY29t",
        "YWRmb2MudXM=", "Ym9vc3QuaW5r", "bGVhc3VyZXBhcnRtZW50Lnh5eg==", "bGV0c2Jvb3N0Lm5ldA==",
        "bWJvb3N0Lm1l", "cmVrb25pc2UuY29t", "c2hvcnRlLnN0", "c3ViMnVubG9jay5jb20=",
        "c3ViMnVubG9jay5uZXQ=", "di5nZA==", "dGlueXVybC5jb20=", "Yml0Lmx5", "aXMuZ2Q=",
        "cmVicmFuZC5seQ==", "ZW1wZWJhdS5ldQ==", "c29jaWFsd29sdmV6LmNvbQ==", "c3ViMXMuY29t",
        "dGlueWxpbmsub25s", "anVzdHBhc3RlLml0"
    ];

    // Split URL to avoid blacklists
    const S1 = "https://bypass.";
    const S2 = "city/bypass?bypass=";
    const API = S1 + S2;
    
    const THEME = '#7289da';

    // --- DECODER ---
    const d = (s) => atob(s);
    const curr = window.location.href;
    
    // Check if we are on a target site
    const active = TARGETS.some(t => curr.includes(d(t)));

    if (active) {
        // Freeze page
        try { window.stop(); } catch (e) {}
        
        const dest = API + encodeURIComponent(curr);
        renderUI(dest);
    }

    // --- UI RENDERER ---
    function renderUI(link) {
        if (document.body) document.body.style.display = 'none';

        const root = document.createElement('div');
        root.id = 'dev01-overlay';

        const css = `
            #dev01-overlay {
                position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
                background: #0a0a0f;
                background-image: radial-gradient(circle at 50% 50%, #1a1a25 0%, #0a0a0f 100%);
                z-index: 2147483647; display: flex; flex-direction: column;
                align-items: center; justify-content: center;
                font-family: system-ui, sans-serif; color: #fff;
            }
            .dev-loader {
                width: 50px; height: 50px; margin-bottom: 25px;
                border: 3px solid transparent; border-top-color: ${THEME}; border-bottom-color: ${THEME};
                border-radius: 50%; animation: spin 1.5s linear infinite;
            }
            .dev-title { font-size: 24px; font-weight: 800; letter-spacing: 1px; margin-bottom: 10px; }
            .dev-btn {
                background: ${THEME}; color: white; padding: 12px 35px;
                border-radius: 6px; text-decoration: none; font-weight: 700;
                margin-top: 25px; display: inline-block;
                box-shadow: 0 5px 20px rgba(114, 137, 218, 0.4);
            }
            @keyframes spin { to { transform: rotate(360deg); } }
        `;

        const s = document.createElement("style");
        s.innerText = css;
        (document.head || document.documentElement).appendChild(s);

        root.innerHTML = `
            <div class="dev-loader"></div>
            <div class="dev-title">LINK DETECTED</div>
            <div style="color:#888;">Processing via <01 DEV/> Engine...</div>
            <a href="${link}" class="dev-btn">CONTINUE</a>
        `;

        if (document.documentElement) document.documentElement.appendChild(root);

        // Auto redirect after 5s safety
        setTimeout(() => {
            window.location.replace(link);
        }, 5000);
    }
})();