01 Dev Redirector

Smart redirector for specific domains.

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

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

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

作者のサイトでサポートを受ける。または、このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==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);
    }
})();