Varredura total + Preenchimento automático de senha RUAN
// ==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);
})();