Lockr Helper

Displays a button to open izen.lol while on lockr.net.

Bu betiği kurabilmeniz için Tampermonkey, Greasemonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği yüklemek için Tampermonkey gibi bir uzantı yüklemeniz gerekir.

Bu betiği kurabilmeniz için Tampermonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği kurabilmeniz için Tampermonkey ya da Userscripts gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği indirebilmeniz için ayrıca Tampermonkey gibi bir eklenti kurmanız gerekmektedir.

Bu betiği yüklemek için bir betik yöneticisi eklentisi yüklemeniz gerekecektir.

(Zaten bir betik yöneticim var, hadi yükleyelim!)

Advertisement:

Bu stili yüklemek için Stylus gibi bir uzantı yüklemeniz gerekir.

Bu stili yüklemek için Stylus gibi bir uzantı kurmanız gerekir.

Bu stili yükleyebilmek için Stylus gibi bir uzantı yüklemeniz gerekir.

Bu stili yüklemek için bir kullanıcı stili yöneticisi uzantısı yüklemeniz gerekir.

Bu stili yüklemek için bir kullanıcı stili yöneticisi uzantısı kurmanız gerekir.

Bu stili yükleyebilmek için bir kullanıcı stili yöneticisi uzantısı yüklemeniz gerekir.

(Zateb bir user-style yöneticim var, yükleyeyim!)

Advertisement:

// ==UserScript==
// @name         Lockr Helper
// @namespace    https://greasyfork.org/en/users/1375891-wibu-elite
// @version      1.2 (27 June, 2026)
// @description  Displays a button to open izen.lol while on lockr.net.
// @author       Kinnena
// @match        *://lockr.net/*
// @icon         https://cdn-icons-png.flaticon.com/256/394/394546.png
// @grant        GM_setClipboard
// @grant        GM_setValue
// @grant        GM_getValue
// @license      MIT
// @run-at       document-end
// ==/UserScript==
(function () {
    'use strict';
    if (document.getElementById('lockr-helper-popup')) return;

    const savedPos = {
        top: GM_getValue('popup_top', '20px'),
        right: null,
        left: GM_getValue('popup_left', null)
    };
    const savedMinimized = GM_getValue('popup_minimized', false);

    const popup = document.createElement('div');
    popup.id = 'lockr-helper-popup';

    const titleBar = document.createElement('div');
    titleBar.id = 'lockr-titlebar';
    titleBar.innerHTML = `
        <span style="font-size:18px;font-weight:bold;">🔓 Lockr Helper</span>
        <button id="lockr-minimize" title="Minimize">—</button>
    `;
    Object.assign(titleBar.style, {
        display: 'flex',
        justifyContent: 'space-between',
        alignItems: 'center',
        marginBottom: '10px',
        cursor: 'move',
        userSelect: 'none'
    });

    const body = document.createElement('div');
    body.id = 'lockr-body';
    body.innerHTML = `
    <div style="margin-bottom:15px;line-height:1.5;">
        This Lockr link can be bypassed with <b>izen.lol</b>.<br><br>
        1. Click <b>Copy URL</b> to copy this page's link.<br>
        2. Open izen.lol and paste the link there.<br>
        3. Wait until the bypass is complete.<br>
        4. Then copy the bypassed link from izen.lol.
    </div>
    <div style="display:flex;gap:10px;margin-top:15px;">
        <button id="lockr-copy">Copy URL</button>
        <button id="lockr-open">Open izen.lol</button>
        <button id="lockr-close">Close</button>
    </div>
    <div id="lockr-copy-msg" style="margin-top:10px;font-size:12px;color:#4CAF50;text-align:center;min-height:16px;"></div>
    <div style="margin-top:8px;font-size:12px;color:#aaa;text-align:center;">
        Made by Kinnena with ❤️
    </div>
    `;

    popup.appendChild(titleBar);
    popup.appendChild(body);

    Object.assign(popup.style, {
        position: 'fixed',
        top: savedPos.top,
        width: '340px',
        background: '#1f1f1f',
        color: '#fff',
        padding: '18px',
        borderRadius: '10px',
        boxShadow: '0 0 20px rgba(0,0,0,.5)',
        zIndex: '999999999',
        fontFamily: 'Arial, sans-serif'
    });

    if (savedPos.left) {
        popup.style.left = savedPos.left;
    } else {
        popup.style.right = '20px';
    }

    document.body.appendChild(popup);

    if (savedMinimized) {
        body.style.display = 'none';
        document.getElementById('lockr-minimize').textContent = '+';
        popup.style.width = 'auto';
    }

    const style = document.createElement('style');
    style.textContent = `
        #lockr-helper-popup button{
            padding:10px;
            border:none;
            border-radius:6px;
            cursor:pointer;
            font-size:13px;
        }
        #lockr-body button{
            flex:1;
        }
        #lockr-minimize{
            background:transparent;
            color:#aaa;
            font-size:16px;
            padding:2px 8px !important;
            line-height:1;
        }
        #lockr-minimize:hover{
            color:#fff;
        }
        #lockr-copy{
            background:#2196F3;
            color:white;
        }
        #lockr-copy:hover{
            background:#1e88e5;
        }
        #lockr-open{
            background:#4CAF50;
            color:white;
        }
        #lockr-open:hover{
            background:#43a047;
        }
        #lockr-close{
            background:#555;
            color:white;
        }
        #lockr-close:hover{
            background:#666;
        }
        #lockr-body > div:first-child > div{
            display:flex;
            gap:10px;
            margin-top:15px;
        }
    `;
    document.head.appendChild(style);

    document.getElementById('lockr-minimize').onclick = () => {
        const isMinimized = body.style.display === 'none';
        if (isMinimized) {
            body.style.display = '';
            document.getElementById('lockr-minimize').textContent = '—';
            popup.style.width = '340px';
            GM_setValue('popup_minimized', false);
        } else {
            body.style.display = 'none';
            document.getElementById('lockr-minimize').textContent = '+';
            popup.style.width = 'auto';
            GM_setValue('popup_minimized', true);
        }
    };

    document.getElementById('lockr-copy').onclick = () => {
        const msg = document.getElementById('lockr-copy-msg');
        try {
            GM_setClipboard(window.location.href);
            msg.textContent = '✅ URL copied!';
        } catch {
            navigator.clipboard.writeText(window.location.href).then(() => {
                msg.textContent = '✅ URL copied!';
            }).catch(() => {
                msg.textContent = '❌ Failed to copy.';
            });
        }
        setTimeout(() => { msg.textContent = ''; }, 2500);
    };

    document.getElementById('lockr-open').onclick = () => {
        window.open('https://izen.lol', '_blank');
    };

    document.getElementById('lockr-close').onclick = () => {
        popup.remove();
    };

    let isDragging = false;
    let dragOffsetX = 0;
    let dragOffsetY = 0;

    titleBar.addEventListener('mousedown', (e) => {
        if (e.target.id === 'lockr-minimize') return;
        isDragging = true;
        dragOffsetX = e.clientX - popup.getBoundingClientRect().left;
        dragOffsetY = e.clientY - popup.getBoundingClientRect().top;
        popup.style.right = 'auto';
        e.preventDefault();
    });

    document.addEventListener('mousemove', (e) => {
        if (!isDragging) return;
        const newLeft = e.clientX - dragOffsetX;
        const newTop = e.clientY - dragOffsetY;
        popup.style.left = newLeft + 'px';
        popup.style.top = newTop + 'px';
    });

    document.addEventListener('mouseup', () => {
        if (!isDragging) return;
        isDragging = false;
        GM_setValue('popup_top', popup.style.top);
        GM_setValue('popup_left', popup.style.left);
    });

})();