ProxyFF Deep Hunter & Auto-Auth

Varredura total + Preenchimento automático de senha RUAN

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey, το Greasemonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

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

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Userscripts για να εγκαταστήσετε αυτόν τον κώδικα.

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

Θα χρειαστεί να εγκαταστήσετε μια επέκταση διαχείρισης κώδικα χρήστη για να εγκαταστήσετε αυτόν τον κώδικα.

(Έχω ήδη έναν διαχειριστή κώδικα χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Έχω ήδη έναν διαχειριστή στυλ χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

// ==UserScript==
// @name         ProxyFF Deep Hunter & Auto-Auth
// @namespace    http://tampermonkey.net/
// @version      4.0
// @description  Varredura total + Preenchimento automático de senha RUAN
// @author       Gemini
// @match        *://authproxyff.up.railway.app/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const SENHA_PADRAO = "RUAN";

    const panel = document.createElement('div');
    panel.style = "position: fixed; top: 10px; left: 10px; z-index: 99999; background: rgba(0, 0, 0, 0.9); color: #00ff00; padding: 12px; border: 1px solid #444; font-family: monospace; font-size: 11px; width: 260px; max-height: 80vh; overflow-y: auto; border-radius: 8px; box-shadow: 0 0 20px rgba(0,255,0,0.2);";
    panel.innerHTML = `
        <div style="font-weight:bold; color:yellow; margin-bottom:8px; border-bottom:1px solid #333; display:flex; justify-content:space-between;">
            <span>ULTRA SCAN + AUTH</span>
            <span id="closeP" style="cursor:pointer; color:red;">[X]</span>
        </div>
        <button id="startScan" style="width:100%; background:#004400; color:white; border:none; padding:10px; cursor:pointer; margin-bottom:5px; border-radius:4px;">VARREDURA TOTAL</button>
        <button id="injectAuth" style="width:100%; background:#444400; color:white; border:none; padding:10px; cursor:pointer; margin-bottom:10px; border-radius:4px;">INJETAR SENHA (RUAN)</button>
        <div id="scanLog" style="color:cyan; font-size:9px;">Pronto.</div>
        <div id="resultsFound" style="margin-top:10px;"></div>
    `;
    document.body.appendChild(panel);

    document.getElementById('closeP').onclick = () => panel.style.display = 'none';

    // Função para injetar a senha em qualquer campo suspeito
    function injetarSenha() {
        const inputs = document.querySelectorAll('input');
        let cont = 0;
        inputs.forEach(input => {
            const type = input.type.toLowerCase();
            const name = (input.name || "").toLowerCase();
            const id = (input.id || "").toLowerCase();
            const placeholder = (input.placeholder || "").toLowerCase();

            // Verifica se o campo parece pedir senha ou chave
            if (type === 'password' || name.includes('key') || id.includes('auth') || placeholder.includes('senha') || placeholder.includes('pass')) {
                input.value = SENHA_PADRAO;
                input.style.border = "2px solid yellow"; // Destaca onde injetou
                cont++;
            }
        });
        document.getElementById('scanLog').innerText = `Senha injetada em ${cont} campo(s).`;
    }

    async function executarVarredura() {
        const log = document.getElementById('scanLog');
        const display = document.getElementById('resultsFound');
        display.innerHTML = "";
        let db = { keys: new Set(), ips: new Set() };

        const keyRegex = /proxyff-[\w-]+/gi;
        const ipRegex = /\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/g;

        log.innerText = "Lendo tudo (HTML + Scripts)...";

        // Scan HTML e Atributos
        const source = document.documentElement.innerHTML;
        (source.match(keyRegex) || []).forEach(k => db.keys.add(k));
        (source.match(ipRegex) || []).forEach(i => db.ips.add(i));

        // Scan em arquivos JS externos
        const scripts = Array.from(document.querySelectorAll('script[src]'));
        for (const s of scripts) {
            try {
                const res = await fetch(s.src);
                const code = await res.text();
                (code.match(keyRegex) || []).forEach(k => db.keys.add(k));
                if (code.includes('password') || code.includes('auth')) {
                    console.log("Aviso: Lógica de senha encontrada no script: " + s.src);
                }
            } catch(e) {}
        }

        log.innerText = "Concluído!";
        
        let out = "";
        db.keys.forEach(k => {
            out += `<div style="background:#222; padding:5px; margin-top:3px; border-left:2px solid yellow;">
                ${k} <button style="float:right; font-size:9px;" onclick="navigator.clipboard.writeText('${k}')">COPY</button>
            </div>`;
        });
        
        if (db.ips.size > 0) {
            out += "<br><b style='color:cyan;'>IPs/LOGS:</b><br>";
            db.ips.forEach(ip => { out += `<span style="font-size:10px;">${ip}</span><br>`; });
        }

        display.innerHTML = out || "<i>Nenhum dado novo encontrado.</i>";
    }

    document.getElementById('startScan').onclick = executarVarredura;
    document.getElementById('injectAuth').onclick = injetarSenha;

    // Tenta injetar automaticamente ao carregar
    setTimeout(injetarSenha, 2000);

})();