<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Unbl*cker</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            height: 100vh;
            background: url('https://i.postimg.cc/vm10qDPw/Screenshot-2025-01-31-11-33-02-AM.png') no-repeat center center fixed;
            background-size: cover;
            color: #ffffff;
        }

        #controls {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin-bottom: 1rem;
        }

        select, button {
            padding: 0.5rem 1rem;
            border: none;
            border-radius: 5px;
            font-size: 1rem;
            cursor: pointer;
        }

        select {
            background-color: #808080;
            color: white;
        }

        #panicButton {
            background-color: #808080;
            color: white;
        }

        iframe {
            width: 100%;
            height: 100%;
            border: none;
        }

        #description {
            font-size: 0.9rem;
            text-align: center;
            max-width: 80%;
        }

        #devMenu {
            position: fixed;
            bottom: 80px;
            right: 20px;
            background: rgba(0, 0, 0, 0.9);
            color: white;
            padding: 15px;
            border-radius: 5px;
            display: none;
            transform: translateY(100%);
            transition: transform 0.3s ease-in-out;
        }

        #devButton {
            position: fixed;
            bottom: 10px;
            right: 10px;
            background: #808080;
            color: white;
            border: none;
            padding: 5px 10px;
            font-size: 1.2rem;
            border-radius: 5px;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div id="controls">
        <select id="siteSelector">
            <option value="">Select a site</option>
            <option value="https://rocketbotroyale2.winterpixel.io/">RBR</option>
            <option value="https://staging-rocketbotroyale.winterpixel.io/">Staging RBR</option>
            <option value="https://zombsroyale.io/">Zombs</option>
            <option value="https://1v1.lol/">1v1.lol</option>
            <option value="https://bloxd.io">Bloxd</option>
            <option value="https://lolbeans.io/">Lolbeans</option>
            <option value="https://diep.io/">Diep</option>
            <option value="https://www.twoplayergames.org/">2 Player Games</option>
            <option value="https://www.watchparty.me/watch/material-title-suit">Watch Party</option>
            <option value="custom">Add Your Own Site</option>
        </select>
        <button id="panicButton">Panic Button</button>
    </div>
    <iframe id="siteFrame" src="" style="display: none;"></iframe>
    <div id="description"></div>
    
    <button id="devButton">+</button>
    <div id="devMenu">
        <label>Width: <input type="number" id="iframeWidth" value="100"></label>
        <label>Height: <input type="number" id="iframeHeight" value="100"></label>
        <label>Opacity: <input type="range" id="opacity" min="0" max="1" step="0.01" value="1"></label>
        <label><input type="checkbox" id="bypassRestrictions"> Bypass Restrictions</label>
        <div id="proxyOptions" style="display: none;">
            <label>Select Proxy: 
                <select id="proxySelect">
                    <option value="https://api.allorigins.win/raw?url=">All Origins</option>
                    <!-- <option value="https://thingproxy.freeboard.io/fetch/">Thingproxy</option>  -->
                    <!-- <option value="https://cors-proxy.htmldriven.com/?url=">CORS Proxy</option> -->
                    <!-- <option value="https://www.proxycors.com/">ProxyCORS</option> -->
                    <!-- <option value="https://crossorigin.me/">Crossorigin.me</option> -->
                    <!-- <option value="https://cors-proxy.robro.me/">CORS Proxy by Robro</option> -->
                    <!-- <option value="https://mycorsproxy.herokuapp.com/?url=">MyCORS</option> -->
                </select>
            </label>
        </div>
        <button id="applySize">Apply</button>
    </div>
    
    <script>
        const siteSelector = document.getElementById('siteSelector');
        const siteFrame = document.getElementById('siteFrame');
        const controls = document.getElementById('controls');
        const description = document.getElementById('description');
        const panicButton = document.getElementById('panicButton');
        const devButton = document.getElementById('devButton');
        const devMenu = document.getElementById('devMenu');
        const iframeWidth = document.getElementById('iframeWidth');
        const iframeHeight = document.getElementById('iframeHeight');
        const bgColor = document.getElementById('bgColor');
        const opacity = document.getElementById('opacity');
        const applySize = document.getElementById('applySize');
        const bypassRestrictions = document.getElementById('bypassRestrictions');
        const proxyOptions = document.getElementById('proxyOptions');
        const proxySelect = document.getElementById('proxySelect');

        siteSelector.addEventListener('change', () => {
            if (siteSelector.value) {
                devMenu.style.transform = 'translateY(100%)';
                setTimeout(() => {
                    devMenu.style.display = 'none';
                    devButton.style.display = 'none';
                }, 300);
                if (siteSelector.value === "custom") {
                    const customUrl = prompt("Enter the URL of the site:");
                    if (customUrl && isValidUrl(customUrl)) {
                        if (bypassRestrictions.checked) {
                            injectProxy(customUrl);
                        } else {
                            siteFrame.src = customUrl;
                        }
                        siteFrame.style.display = 'block';
                        controls.style.display = 'none';
                        description.style.display = 'none';
                    } else {
                        alert("Please enter a valid URL (Include https)");
                        siteSelector.value = "";
                    }
                } else {
                    siteFrame.src = siteSelector.value;
                    siteFrame.style.display = 'block';
                    controls.style.display = 'none';
                    description.style.display = 'none';
                }
            }
        });

        bypassRestrictions.addEventListener('change', () => {
            proxyOptions.style.display = bypassRestrictions.checked ? 'block' : 'none';
        });

        function injectProxy(url) {
            const selectedProxy = proxySelect.value;

            fetch(selectedProxy + encodeURIComponent(url))
                .then(response => response.text())
                .then(data => {
                    const proxyContent = document.createElement('div');
                    proxyContent.innerHTML = data;

                    const resources = proxyContent.querySelectorAll('img, script, link, iframe');
                    resources.forEach(resource => {
                        if (resource.tagName === 'IMG' && resource.src) {
                            resource.src = selectedProxy + encodeURIComponent(resource.src);
                        }
                        if (resource.tagName === 'SCRIPT' && resource.src) {
                            resource.src = selectedProxy + encodeURIComponent(resource.src);
                        }
                        if (resource.tagName === 'LINK' && resource.href) {
                            resource.href = selectedProxy + encodeURIComponent(resource.href);
                        }
                        if (resource.tagName === 'IFRAME' && resource.src) {
                            resource.src = selectedProxy + encodeURIComponent(resource.src);
                        }
                    });

                    const iframeDoc = siteFrame.contentDocument || siteFrame.contentWindow.document;
                    iframeDoc.open();
                    iframeDoc.write(proxyContent.innerHTML);
                    iframeDoc.close();
                })
                .catch(error => {
                    alert('Failed to load the custom site: ' + error);
                });
        }

        devButton.addEventListener('click', () => {
            if (devMenu.style.display === 'none') {
                devMenu.style.display = 'block';
                setTimeout(() => {
                    devMenu.style.transform = 'translateY(0%)';
                }, 10);
            } else {
                devMenu.style.transform = 'translateY(100%)';
                setTimeout(() => {
                    devMenu.style.display = 'none';
                }, 300);
            }
        });

        applySize.addEventListener('click', () => {
            siteFrame.style.width = iframeWidth.value + '%';
            siteFrame.style.height = iframeHeight.value + '%';
            document.body.style.backgroundColor = bgColor.value;
            siteFrame.style.opacity = opacity.value;

            if (bypassRestrictions.checked) {
                alert("Applied");
            }
        });

        function isValidUrl(url) {
            const regex = /^(https?:\/\/)?([a-z0-9-]+\.)+[a-z]{2,6}([\/\w .-]*)*\/?$/;
            return regex.test(url);
        }
javascript:function gcloak() { var link = document.querySelector("link[rel*='icon']") || document.createElement('link');link.type = 'image/x-icon';link.rel = 'shortcut icon';link.href = 'https://ssl.gstatic.com/docs/doclist/images/infinite_arrow_favicon_5.ico';document.title = 'My Drive - Google Drive';console.log(document.title);document.getElementsByTagName('head')[0].appendChild(link) };gcloak();setInterval(gcloak, 1000);
    </script>
    <script>
    let panicKey = localStorage.getItem('panicKey') || null;

    panicButton.addEventListener('click', () => {
        let inputKey = prompt('Set your panic key:');
        if (inputKey) {
            localStorage.setItem('panicKey', inputKey);
            panicKey = inputKey;
            alert('Panic key set!');
        }
    });

    document.addEventListener('keydown', (event) => {
        if (panicKey && event.key === panicKey) {
            document.body.innerHTML = '';
            document.body.style.backgroundColor = 'white';
            setTimeout(() => {
                window.location.href = 'https://drive.google.com/';
            }, 500);
        }
    });

    document.addEventListener('keydown', (event) => {
    if (panicKey && event.key === panicKey) {
        document.body.style.background = 'white';
        document.body.innerHTML = '';
        window.location.href = "https://drive.google.com/";
    }
});


    function gcloak() {
        let link = document.querySelector("link[rel*='icon']") || document.createElement('link');
        link.type = 'image/x-icon';
        link.rel = 'shortcut icon';
        link.href = 'https://ssl.gstatic.com/docs/doclist/images/infinite_arrow_favicon_5.ico';
        document.title = 'My Drive - Google Drive';
        document.head.appendChild(link);
    }
    setInterval(gcloak, 1000);
javascript:window.onkeydown = function(event) {   if (event.keyCode === 192) {      javascript:(function(){var code=prompt("Enter JavaScript code to run:");if(code){var script=document.createElement('script');script.textContent=code;document.body.appendChild(script);}else{alert("No code provided!");}})();   }};
</script>
<script>
    applySize.addEventListener('click', () => {
        siteFrame.style.width = iframeWidth.value + '%';
        siteFrame.style.height = iframeHeight.value + '%';
        siteFrame.style.opacity = opacity.value;
        
        devMenu.style.transform = 'translateY(100%)';
        setTimeout(() => {
            devMenu.style.display = 'none';
        }, 300);
    });
</script>
</body>
</html>