ProxyFF Key-Only Hunter

Focado exclusivamente em capturar Keys e injetar senha RUAN

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         ProxyFF Key-Only Hunter
// @namespace    http://tampermonkey.net/
// @version      5.0
// @description  Focado exclusivamente em capturar Keys e injetar senha RUAN
// @author       Gemini
// @match        *://authproxyff.up.railway.app/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const SENHA = "RUAN";

    // Interface Minimalista
    const panel = document.createElement('div');
    panel.style = "position: fixed; top: 10px; right: 10px; z-index: 99999; background: #000; color: #fbff00; padding: 10px; border: 2px solid #fbff00; font-family: sans-serif; font-size: 12px; width: 220px; border-radius: 10px; box-shadow: 0 0 15px #000;";
    panel.innerHTML = `
        <div style="text-align:center; font-weight:bold; margin-bottom:10px;">🔑 KEY HUNTER</div>
        <button id="scanBtn" style="width:100%; background:#fbff00; color:#000; border:none; padding:8px; font-weight:bold; cursor:pointer; border-radius:5px;">BUSCAR KEYS</button>
        <div id="res" style="margin-top:10px; max-height:250px; overflow-y:auto;"></div>
    `;
    document.body.appendChild(panel);

    // Função para preencher senha automaticamente
    function autoAuth() {
        const inputs = document.querySelectorAll('input');
        inputs.forEach(i => {
            if (i.type === 'password' || i.name.includes('key') || i.placeholder.includes('key')) {
                i.value = SENHA;
                i.style.backgroundColor = "#fff9c4"; // Destaque suave
            }
        });
    }

    // Busca profunda apenas por keys
    async function findKeys() {
        const resDiv = document.getElementById('res');
        resDiv.innerHTML = "<span style='color:white;'>Procurando...</span>";
        let keys = new Set();
        const regex = /proxyff-[\w-]+/gi;

        // 1. Scan no HTML e Atributos
        const html = document.documentElement.innerHTML;
        (html.match(regex) || []).forEach(k => keys.add(k));

        // 2. Scan em Scripts Externos
        const scripts = Array.from(document.querySelectorAll('script[src]'));
        for (const s of scripts) {
            try {
                const r = await fetch(s.src);
                const t = await r.text();
                (t.match(regex) || []).forEach(k => keys.add(k));
            } catch(e) {}
        }

        // Mostrar Resultados
        if (keys.size > 0) {
            resDiv.innerHTML = "";
            keys.forEach(k => {
                const item = document.createElement('div');
                item.style = "background:#222; padding:8px; margin-bottom:5px; border-radius:5px; font-size:10px; color:#fff; border:1px solid #444;";
                item.innerHTML = `
                    <div style="margin-bottom:5px; word-break:break-all;">${k}</div>
                    <button style="width:100%; background:#444; color:#fff; border:none; padding:3px; cursor:pointer;" onclick="navigator.clipboard.writeText('${k}'); alert('Copiada!')">COPIAR KEY</button>
                `;
                resDiv.appendChild(item);
            });
        } else {
            resDiv.innerHTML = "<span style='color:red;'>Nenhuma key encontrada.</span>";
        }
    }

    document.getElementById('scanBtn').onclick = findKeys;

    // Injeta a senha assim que carrega e novamente após 2 segundos
    autoAuth();
    setTimeout(autoAuth, 2000);

})();