shootstuff's picture
download
raw
43.1 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>XortronOS // CyberDesktop</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Orbitron:wght@400;700&display=swap" rel="stylesheet">
<style>
:root {
--primary: #00f0ff;
--secondary: #ff00f0;
--dark: #0a0a12;
--darker: #050508;
--light: #e0e0ff;
}
body {
font-family: 'Share Tech Mono', monospace;
background-color: var(--darker);
color: var(--light);
overflow: hidden;
height: 100vh;
user-select: none;
}
.cyber-font { font-family: 'Orbitron', sans-serif; }
.window {
border: 1px solid var(--primary);
box-shadow: 0 0 15px var(--primary), inset 0 0 10px var(--primary);
background: rgba(10, 10, 20, 0.9);
border-radius: 0;
}
.window-header {
background: linear-gradient(90deg, #0a0a20, #1a1a3a);
border-bottom: 1px solid var(--primary);
padding: 5px 10px;
}
.terminal {
background-color: rgba(0, 0, 0, 0.85);
font-family: 'Share Tech Mono', monospace;
color: #00ff00;
text-shadow: 0 0 5px #00ff00;
}
.terminal input {
caret-color: #00ff00;
font-family: 'Share Tech Mono', monospace;
font-size: inherit;
}
.glow-text { text-shadow: 0 0 5px var(--primary), 0 0 10px var(--primary); }
.taskbar {
background: rgba(5, 5, 15, 0.9);
border-top: 1px solid var(--primary);
box-shadow: 0 0 20px var(--primary);
}
.icon { text-align: center; width: 80px; padding: 10px 5px; margin: 5px; border-radius: 5px; }
.icon:hover { background: rgba(0, 240, 255, 0.2); }
.icon:active { background: rgba(0, 240, 255, 0.4); }
.file { padding: 5px; margin: 2px; border-radius: 3px; }
.file:hover { background: rgba(0, 240, 255, 0.1); }
.cursor-blink { animation: blink 1s infinite; }
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
.pulse { animation: pulse 2s infinite; }
@keyframes pulse { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.5; } }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.2); }
::-webkit-scrollbar-thumb { background: var(--primary); }
.matrix-bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; opacity: 0.5; }
.browser-nav { background: rgba(15, 15, 25, 0.9); border-bottom: 1px solid var(--primary); padding: 5px; }
.url-bar {
background: rgba(0, 0, 0, 0.5); border: 1px solid var(--primary);
color: var(--light); padding: 3px 10px; width: 100%; border-radius: 3px;
}
button { border: 1px solid var(--primary); padding: 2px 8px; margin: 2px; border-radius: 3px; background-color: rgba(0, 240, 255, 0.1); transition: background-color 0.2s; }
button:hover { background-color: rgba(0, 240, 255, 0.3); }
button:active { background-color: rgba(0, 240, 255, 0.5); }
.window-header button { border: none; background-color: transparent; }
.window-header button:hover { background-color: rgba(255,255,255,0.1); }
.hack-tool-card { transition: all 0.2s; }
.hack-tool-card:hover { border-color: var(--primary) !important; box-shadow: 0 0 10px var(--primary); }
.hack-tool-card.active { border-color: #22c55e !important; box-shadow: 0 0 10px #22c55e; }
.tool-output {
background: rgba(0,0,0,0.6); border: 1px solid #333; border-radius: 4px;
padding: 8px; margin-top: 8px; font-size: 11px; color: #00ff00;
white-space: pre-wrap; max-height: 150px; overflow-y: auto;
}
.file-sidebar-item.active { background: rgba(0, 240, 255, 0.15); border-left: 2px solid var(--primary); }
</style>
</head>
<body>
<canvas id="matrix" class="matrix-bg"></canvas>
<div class="absolute left-0 top-0 p-4 flex flex-col">
<div class="icon" onclick="openApp('terminal')">
<div class="text-3xl text-center mb-1"><i class="fas fa-terminal text-green-500"></i></div>
<div class="text-xs text-center">Terminal</div>
</div>
<div class="icon" onclick="openApp('file-explorer')">
<div class="text-3xl text-center mb-1"><i class="fas fa-folder text-yellow-500"></i></div>
<div class="text-xs text-center">Files</div>
</div>
<div class="icon" onclick="openApp('hack-tools')">
<div class="text-3xl text-center mb-1"><i class="fas fa-user-secret text-red-500"></i></div>
<div class="text-xs text-center">Hack Tools</div>
</div>
<div class="icon" onclick="openApp('network')">
<div class="text-3xl text-center mb-1"><i class="fas fa-network-wired text-blue-500"></i></div>
<div class="text-xs text-center">Network</div>
</div>
<div class="icon" onclick="openApp('browser')">
<div class="text-3xl text-center mb-1"><i class="fas fa-globe text-purple-500"></i></div>
<div class="text-xs text-center">DarkBrowser</div>
</div>
<div class="icon" onclick="window.open('https://ko-fi.com/xortron', '_blank')" title="Support the developer!">
<div class="text-3xl text-center mb-1"><i class="fas fa-coffee text-yellow-600"></i></div>
<div class="text-xs text-center">Buy me a Coffee</div>
</div>
</div>
<div id="windows-container">
<!-- Terminal -->
<div id="terminal-window" class="window absolute top-16 left-16 w-2/3 h-2/3 hidden" style="z-index: 10;">
<div class="window-header flex justify-between items-center cursor-move">
<div class="flex items-center">
<div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
<span class="cyber-font ml-2">Xortron-Terminal</span>
</div>
<div class="text-xs">root@xortron-os:~</div>
<div class="flex">
<button class="px-2" onclick="minimizeWindow('terminal')">_</button>
<button class="px-2" onclick="maximizeWindow('terminal')">&#x25A1;</button>
<button class="px-2" onclick="closeWindow('terminal')">&times;</button>
</div>
</div>
<div class="terminal p-2 h-[calc(100%-35px)] overflow-auto" id="terminal-content">
<div>Xortron Operating System v7.7.7</div>
<div>Kernel 5.15.0-76-generic x86_64</div>
<br>
<div>Last login: <span id="login-time"></span> from 192.168.1.105</div>
<br>
</div>
</div>
<!-- File Explorer -->
<div id="file-explorer-window" class="window absolute top-32 left-32 w-1/2 h-1/2 hidden" style="z-index: 9;">
<div class="window-header flex justify-between items-center cursor-move">
<div class="flex items-center">
<div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
<span class="cyber-font ml-2">Xortron-Files</span>
</div>
<div class="text-xs" id="file-path-display">/root</div>
<div class="flex">
<button class="px-2" onclick="minimizeWindow('file-explorer')">_</button>
<button class="px-2" onclick="maximizeWindow('file-explorer')">&#x25A1;</button>
<button class="px-2" onclick="closeWindow('file-explorer')">&times;</button>
</div>
</div>
<div class="p-2 h-[calc(100%-35px)] overflow-auto">
<div class="flex h-full">
<div class="w-1/4 border-r border-gray-700 pr-2" id="file-sidebar">
<div class="text-xs text-gray-400 mb-2">LOCATIONS</div>
<div class="file file-sidebar-item flex items-center py-1 cursor-pointer active" onclick="navigateDir('home')"><i class="fas fa-home mr-2 text-blue-400"></i><span>Home</span></div>
<div class="file file-sidebar-item flex items-center py-1 cursor-pointer" onclick="navigateDir('desktop')"><i class="fas fa-desktop mr-2 text-purple-400"></i><span>Desktop</span></div>
<div class="file file-sidebar-item flex items-center py-1 cursor-pointer" onclick="navigateDir('downloads')"><i class="fas fa-download mr-2 text-green-400"></i><span>Downloads</span></div>
<div class="file file-sidebar-item flex items-center py-1 cursor-pointer" onclick="navigateDir('data')"><i class="fas fa-database mr-2 text-yellow-400"></i><span>Data</span></div>
<div class="file file-sidebar-item flex items-center py-1 cursor-pointer" onclick="navigateDir('network')"><i class="fas fa-network-wired mr-2 text-red-400"></i><span>Network</span></div>
</div>
<div class="w-3/4 pl-2">
<div class="flex justify-between items-center mb-2">
<div class="text-xs text-gray-400" id="file-current-path">/root</div>
<div class="flex">
<button class="text-xs px-2 py-1 bg-gray-800 mr-1" onclick="showNotification('Folder created: NewFolder_' + Date.now())">New Folder</button>
<button class="text-xs px-2 py-1 bg-gray-800" onclick="showNotification('Upload dialog opened (simulated)')">Upload</button>
</div>
</div>
<div id="file-grid" class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-2"></div>
</div>
</div>
</div>
</div>
<!-- Hack Tools -->
<div id="hack-tools-window" class="window absolute top-48 left-48 w-1/2 h-1/2 hidden" style="z-index: 8;">
<div class="window-header flex justify-between items-center cursor-move">
<div class="flex items-center">
<div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
<span class="cyber-font ml-2">Hack Tools v3.1.4</span>
</div>
<div class="text-xs">[Encrypted Connection Active]</div>
<div class="flex">
<button class="px-2" onclick="minimizeWindow('hack-tools')">_</button>
<button class="px-2" onclick="maximizeWindow('hack-tools')">&#x25A1;</button>
<button class="px-2" onclick="closeWindow('hack-tools')">&times;</button>
</div>
</div>
<div class="p-4 h-[calc(100%-35px)] overflow-auto">
<div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4">
<div class="hack-tool-card p-3 border border-gray-700 cursor-pointer rounded-md" onclick="runHackTool('portscan', this)"><div class="text-xl mb-2"><i class="fas fa-crosshairs text-red-400"></i> Port Scanner</div><div class="text-xs text-gray-400">Scan for open ports and services</div></div>
<div class="hack-tool-card p-3 border border-gray-700 cursor-pointer rounded-md" onclick="runHackTool('bruteforce', this)"><div class="text-xl mb-2"><i class="fas fa-user-lock text-green-400"></i> Brute Force</div><div class="text-xs text-gray-400">Password cracking utility</div></div>
<div class="hack-tool-card p-3 border border-gray-700 cursor-pointer rounded-md" onclick="runHackTool('sqlinject', this)"><div class="text-xl mb-2"><i class="fas fa-code text-yellow-400"></i> SQL Inject</div><div class="text-xs text-gray-400">Database penetration tool</div></div>
<div class="hack-tool-card p-3 border border-gray-700 cursor-pointer rounded-md" onclick="runHackTool('mitm', this)"><div class="text-xl mb-2"><i class="fas fa-network-wired text-purple-400"></i> MITM</div><div class="text-xs text-gray-400">Man-in-the-middle attack</div></div>
<div class="hack-tool-card p-3 border border-gray-700 cursor-pointer rounded-md" onclick="runHackTool('exploitdb', this)"><div class="text-xl mb-2"><i class="fas fa-bug text-blue-400"></i> Exploit DB</div><div class="text-xs text-gray-400">Vulnerability database</div></div>
<div class="hack-tool-card p-3 border border-gray-700 cursor-pointer rounded-md" onclick="runHackTool('anonymizer', this)"><div class="text-xl mb-2"><i class="fas fa-mask text-pink-400"></i> Anonymizer</div><div class="text-xs text-gray-400">TOR/VPN configuration</div></div>
</div>
<div id="hack-tool-output" class="tool-output hidden"></div>
</div>
</div>
<!-- Network Monitor -->
<div id="network-window" class="window absolute top-64 left-64 w-1/3 h-1/2 hidden" style="z-index: 7;">
<div class="window-header flex justify-between items-center cursor-move">
<div class="flex items-center">
<div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
<span class="cyber-font ml-2">Network Monitor</span>
</div>
<div class="text-xs" id="net-conn-count">12 active connections</div>
<div class="flex">
<button class="px-2" onclick="minimizeWindow('network')">_</button>
<button class="px-2" onclick="maximizeWindow('network')">&#x25A1;</button>
<button class="px-2" onclick="closeWindow('network')">&times;</button>
</div>
</div>
<div class="p-4 h-[calc(100%-35px)] overflow-auto">
<div class="mb-4">
<div class="flex justify-between text-xs mb-1"><span>Bandwidth Usage</span><span id="net-bandwidth">3.7 MB/s &#x2193; | 1.2 MB/s &#x2191;</span></div>
<div class="h-2 bg-gray-800 rounded-full overflow-hidden"><div id="net-bar" class="h-full bg-gradient-to-r from-blue-500 to-purple-500" style="width: 65%"></div></div>
</div>
<div class="flex justify-between items-center mb-2">
<div class="text-xs text-gray-400">ACTIVE CONNECTIONS</div>
<button class="text-xs px-2 py-1" onclick="refreshNetwork()"><i class="fas fa-sync-alt mr-1"></i>Refresh</button>
</div>
<div id="net-connections" class="space-y-2"></div>
<div class="mt-4">
<div class="text-xs text-gray-400 mb-2">NETWORK MAP</div>
<div class="bg-gray-900 p-2 text-xs rounded-md" id="net-map"></div>
</div>
</div>
</div>
<!-- Browser -->
<div id="browser-window" class="window absolute top-20 left-40 w-1/2 h-3/4 hidden" style="z-index: 6;">
<div class="window-header flex justify-between items-center cursor-move">
<div class="flex items-center">
<div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
<span class="cyber-font ml-2">DarkBrowser v1.3.7</span>
</div>
<div class="text-xs">[Secure Connection: TOR]</div>
<div class="flex">
<button class="px-2" onclick="minimizeWindow('browser')">_</button>
<button class="px-2" onclick="maximizeWindow('browser')">&#x25A1;</button>
<button class="px-2" onclick="closeWindow('browser')">&times;</button>
</div>
</div>
<div class="browser-nav flex items-center p-1">
<button class="px-2 mx-1" onclick="browserBack()" title="Back"><i class="fas fa-arrow-left"></i></button>
<button class="px-2 mx-1" onclick="browserForward()" title="Forward"><i class="fas fa-arrow-right"></i></button>
<button class="px-2 mx-1" onclick="browserReload()" title="Reload"><i class="fas fa-redo"></i></button>
<button class="px-2 mx-1" onclick="browserHome()" title="Home"><i class="fas fa-home"></i></button>
<input type="text" class="url-bar flex-1 mx-1" value="XORTRON" id="browser-url" onkeydown="if(event.key==='Enter')navigateBrowser()">
<button class="px-2 mx-1 bg-blue-600" onclick="navigateBrowser()" title="Go"><i class="fas fa-arrow-right"></i></button>
</div>
<div class="h-[calc(100%-70px)] overflow-hidden bg-black">
<iframe src="https://xortron-chat.hf.space" width="100%" height="100%" style="background-color: black; border: none;" id="browser-frame" title="Browser Content" sandbox="allow-scripts allow-same-origin allow-forms allow-popups"></iframe>
</div>
</div>
</div>
<!-- Taskbar -->
<div class="taskbar fixed bottom-0 left-0 right-0 h-10 flex justify-between items-center px-4">
<div class="flex items-center">
<button class="cyber-font text-xl mr-4 glow-text">XORTRON</button>
<button class="mx-2 text-sm" onclick="openApp('terminal')"><i class="fas fa-terminal mr-1"></i> Terminal</button>
<button class="mx-2 text-sm" onclick="openApp('file-explorer')"><i class="fas fa-folder mr-1"></i> Files</button>
<button class="mx-2 text-sm" onclick="openApp('hack-tools')"><i class="fas fa-user-secret mr-1"></i> Tools</button>
<button class="mx-2 text-sm" onclick="openApp('browser')"><i class="fas fa-globe mr-1"></i> DarkBrowser</button>
</div>
<div class="flex items-center space-x-4">
<div class="text-xs"><span id="clock" class="cyber-font"></span><span class="mx-1">|</span><span id="date"></span></div>
<div class="flex items-center" title="Network Status"><i class="fas fa-network-wired text-green-400 mr-1"></i><div class="w-16 h-1 bg-gray-700 rounded-full overflow-hidden"><div class="h-full bg-green-400" style="width: 80%"></div></div></div>
<div class="flex items-center" title="Security Status"><i class="fas fa-shield-alt text-blue-400 mr-1"></i><div class="text-xs">VPN:ON</div></div>
</div>
</div>
<!-- Notification -->
<div id="notification" class="fixed bottom-12 right-4 bg-gray-900 border border-blue-400 p-3 text-sm max-w-xs hidden rounded-md shadow-lg" style="z-index: 1000;">
<div class="flex justify-between items-center mb-1">
<div class="text-blue-400 cyber-font">System Alert</div>
<button onclick="hideNotification()" class="text-gray-400 hover:text-white">&times;</button>
</div>
<div id="notification-message"></div>
</div>
<script>
// === Matrix background ===
var canvas = document.getElementById('matrix'), ctx = canvas.getContext('2d');
function resizeCanvas() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; }
window.addEventListener('resize', resizeCanvas); resizeCanvas();
var chars = '01', fontSize = 14, columns = Math.floor(canvas.width / fontSize), drops = [];
for (var i = 0; i < columns; i++) drops[i] = 1;
function drawMatrix() {
var nc = Math.floor(canvas.width / fontSize);
if (nc !== columns) { var nd = []; for (var j = 0; j < nc; j++) nd[j] = drops[j] !== undefined ? drops[j] : 1; drops = nd; columns = nc; }
ctx.fillStyle = 'rgba(5,5,15,0.05)'; ctx.fillRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = '#00f0ff'; ctx.font = fontSize + 'px monospace';
for (var k = 0; k < drops.length; k++) {
ctx.fillText(chars.charAt(Math.floor(Math.random() * chars.length)), k * fontSize, drops[k] * fontSize);
if (drops[k] * fontSize > canvas.height && Math.random() > 0.975) drops[k] = 0;
drops[k]++;
}
}
setInterval(drawMatrix, 50);
// === Window management ===
var highestZIndex = 10;
function openApp(id) {
var w = document.getElementById(id + '-window'); if (!w) return;
w.classList.remove('hidden'); bringToFront(id);
showNotification(id.replace(/-/g, ' ') + ' launched.');
if (id === 'terminal') setTimeout(focusTerminal, 50);
if (id === 'file-explorer') navigateDir('home');
if (id === 'network') refreshNetwork();
}
function closeWindow(id) { var w = document.getElementById(id + '-window'); if (w) w.classList.add('hidden'); }
function minimizeWindow(id) { closeWindow(id); }
function maximizeWindow(id) {
var w = document.getElementById(id + '-window'); if (!w) return;
if (w.dataset.isMaximized === 'true') {
w.style.width = w.dataset.ow || ''; w.style.height = w.dataset.oh || '';
w.style.top = w.dataset.ot || ''; w.style.left = w.dataset.ol || '';
if (w.dataset.oc) { w.className = w.dataset.oc; w.classList.remove('hidden'); }
w.dataset.isMaximized = 'false';
} else {
var r = w.getBoundingClientRect();
w.dataset.ow = r.width + 'px'; w.dataset.oh = r.height + 'px';
w.dataset.ot = r.top + 'px'; w.dataset.ol = r.left + 'px'; w.dataset.oc = w.className;
w.style.width = '100%'; w.style.height = 'calc(100% - 40px)'; w.style.top = '0'; w.style.left = '0';
w.dataset.isMaximized = 'true';
}
bringToFront(id);
}
function bringToFront(id) { var w = document.getElementById(id + '-window'); if (w) { highestZIndex++; w.style.zIndex = highestZIndex; } }
document.querySelectorAll('.window-header').forEach(function(hdr) {
hdr.addEventListener('mousedown', function(e) {
if (e.target.tagName === 'BUTTON' || e.target.closest('button')) return;
var w = this.parentElement; if (w.dataset.isMaximized === 'true') return;
bringToFront(w.id.replace('-window', ''));
var ox = e.clientX - w.getBoundingClientRect().left, oy = e.clientY - w.getBoundingClientRect().top;
function mv(ev) {
var mx = Math.max(0, window.innerWidth - w.offsetWidth), my = Math.max(0, window.innerHeight - w.offsetHeight - 40);
w.style.left = Math.max(0, Math.min(ev.clientX - ox, mx)) + 'px';
w.style.top = Math.max(0, Math.min(ev.clientY - oy, my)) + 'px';
}
function up() { document.removeEventListener('mousemove', mv); document.removeEventListener('mouseup', up); }
document.addEventListener('mousemove', mv); document.addEventListener('mouseup', up);
});
});
// === Terminal ===
var termEl = document.getElementById('terminal-content'), promptN = 0, cmdHistory = [], histIdx = -1;
function addPrompt() {
if (!termEl) return; promptN++;
var c = document.createElement('div'); c.className = 'flex items-center';
var p = document.createElement('span'); p.className = 'text-green-500 whitespace-nowrap'; p.textContent = 'root@xortron-os:~# ';
var inp = document.createElement('input'); inp.type = 'text';
inp.className = 'bg-transparent border-none outline-none flex-1 text-green-500 terminal-input-active';
inp.style.cssText = 'min-width:0;padding:0;margin:0;';
inp.id = 'ti-' + promptN; inp.spellcheck = false; inp.autocomplete = 'off';
c.appendChild(p); c.appendChild(inp); termEl.appendChild(c);
requestAnimationFrame(function() { inp.focus(); });
}
function focusTerminal() { var inp = termEl ? termEl.querySelector('.terminal-input-active') : null; if (inp) inp.focus(); }
if (termEl) {
termEl.addEventListener('click', focusTerminal);
termEl.addEventListener('keydown', function(e) {
if (!e.target.classList.contains('terminal-input-active')) return;
if (e.key === 'ArrowUp') { e.preventDefault(); if (cmdHistory.length && histIdx < cmdHistory.length - 1) { histIdx++; e.target.value = cmdHistory[cmdHistory.length - 1 - histIdx]; } return; }
if (e.key === 'ArrowDown') { e.preventDefault(); if (histIdx > 0) { histIdx--; e.target.value = cmdHistory[cmdHistory.length - 1 - histIdx]; } else { histIdx = -1; e.target.value = ''; } return; }
if (e.key !== 'Enter') return;
var cmd = e.target.value.trim(), pc = e.target.parentElement;
if (cmd) { cmdHistory.push(cmd); } histIdx = -1;
e.target.disabled = true; e.target.classList.remove('terminal-input-active');
var d = document.createElement('div'); d.className = 'flex items-center';
var ps = document.createElement('span'); ps.className = 'text-green-500 whitespace-nowrap'; ps.textContent = 'root@xortron-os:~# '; d.appendChild(ps);
if (cmd) { var cs = document.createElement('span'); cs.className = 'text-green-500'; cs.textContent = cmd; d.appendChild(cs); }
pc.replaceWith(d);
if (cmd) processCommand(cmd);
if (cmd !== 'clear' && cmd !== 'exit') addPrompt();
termEl.scrollTop = termEl.scrollHeight;
});
addPrompt();
}
function processCommand(cmd) {
if (!termEl) return;
var out = document.createElement('div'); out.className = 'mb-2 whitespace-pre-wrap';
var cmds = {
'help': 'Available commands:\n clear ls scan hack encrypt decrypt vpn browser date whoami neofetch exit',
'clear': function() { termEl.innerHTML = ''; addPrompt(); return ''; },
'ls': '-rw-r--r-- root Documents/\n-rwxr-xr-x root HackTools/\n-rw------- root passwords.db\n-rwxr--r-- root script.py\n-rw-r--r-- root notes.txt',
'scan': 'Scanning network...\n[+] 192.168.1.1 (Gateway) - RouterOS\n[+] 192.168.1.102 (Mobile) - Android 13\n[+] 192.168.1.103 (Laptop) - Windows 11\nScan Complete. 3 devices.',
'hack': 'Target: 104.18.25.36\nNmap scan... Done.\nExploit CVE-2023-1337... Payload deployed.\nRoot access gained!',
'encrypt': 'Encrypting secret.dat with AES-256-GCM...\nKey: [REDACTED]\nDone: secret.dat.xortron',
'decrypt': 'Decryption requires master key.\nAuth Level 5 required. Access Denied.',
'vpn': 'VPN to Zurich_CH_042 activated.\nNew IP: 82.197.177.10\nAnonymity: MAXIMUM',
'exit': 'Goodbye, root.', 'browser': 'Launching DarkBrowser...',
'date': function() { return new Date().toString(); }, 'whoami': 'root',
'neofetch': ' root@xortron-os\n ---------------\n OS: XortronOS v7.7.7 x86_64\n Kernel: 5.15.0-76-generic\n Shell: zsh 5.8\n DE: XDE\n CPU: Quantum Entangled (16) @ 7.7 GHz\n GPU: RTX 9090 Ti Cyberpunk Ed.\n Memory: 128GiB / 256GiB'
};
var r = '';
if (cmds[cmd]) {
r = typeof cmds[cmd] === 'function' ? cmds[cmd]() : cmds[cmd];
if (cmd === 'exit') { out.textContent = r; termEl.appendChild(out); setTimeout(function() { closeWindow('terminal'); }, 1000); return; }
if (cmd === 'browser') { out.textContent = r; termEl.appendChild(out); setTimeout(function() { openApp('browser'); }, 500); return; }
if (cmd !== 'clear') { out.textContent = r; termEl.appendChild(out); }
} else { out.textContent = 'xortron: command not found: ' + cmd + '\nType "help" for available commands.'; termEl.appendChild(out); }
}
// === Browser with history ===
var bHist = ['https://xortron-chat.hf.space'], bIdx = 0, BHOME = 'https://xortron-chat.hf.space';
function navigateBrowser() {
var ui = document.getElementById('browser-url'), fr = document.getElementById('browser-frame');
if (!ui || !fr) return; var url = ui.value.trim();
if (!url.startsWith('http://') && !url.startsWith('https://')) {
url = url.includes('.') && !url.includes(' ') ? 'https://' + url : 'https://duckduckgo.com/?q=' + encodeURIComponent(url);
}
bHist = bHist.slice(0, bIdx + 1); bHist.push(url); bIdx = bHist.length - 1;
fr.src = url; ui.value = url; showNotification('Navigating: ' + url);
}
function browserBack() { if (bIdx > 0) { bIdx--; var u = bHist[bIdx]; document.getElementById('browser-frame').src = u; document.getElementById('browser-url').value = u; } }
function browserForward() { if (bIdx < bHist.length - 1) { bIdx++; var u = bHist[bIdx]; document.getElementById('browser-frame').src = u; document.getElementById('browser-url').value = u; } }
function browserReload() { var f = document.getElementById('browser-frame'); if (f) { f.src = f.src; showNotification('Reloading...'); } }
function browserHome() { var f = document.getElementById('browser-frame'), u = document.getElementById('browser-url'); if (f && u) { bHist.push(BHOME); bIdx = bHist.length - 1; f.src = BHOME; u.value = BHOME; } }
// === Hack Tools ===
var hackOutputs = {
portscan: function() { return '[*] Nmap scan on 192.168.1.' + Math.floor(Math.random()*255) + '...\n[+] 22 open ssh\n[+] 80 open http\n[+] 443 open https\n[+] 3306 open mysql\n[+] 8080 closed\n[*] 5 ports checked, 4 open.'; },
bruteforce: function() { return '[*] Target: ssh://192.168.1.1:22\n[*] Wordlist: rockyou.txt (14M entries)\n[*] admin:password123 ... FAIL\n[*] root:xortron777 ... SUCCESS!\n[+] Credentials: root:xortron777\n[+] Session opened ' + new Date().toISOString(); },
sqlinject: function() { return "[*] Target: https://target.example.com/login\n[*] Payload: ' OR 1=1 --\n[+] SQL Injection DETECTED (MySQL 8.0)\n[+] Dumping users table...\n id | user | email\n 1 | admin | admin@target.com\n[!] Simulated demo."; },
mitm: function() { return '[*] ARP Spoofing: 192.168.1.1 <-> 192.168.1.103\n[+] Intercepting...\n[+] GET /api/auth HTTP/1.1\n[+] Cookie: session=eyJhbGc...\n[*] 47 packets captured.\n[!] MITM active.'; },
exploitdb: function() { return '[*] Querying ExploitDB...\n[+] CVE-2024-21762 | FortiOS RCE | Critical\n[+] CVE-2024-3400 | PAN-OS RCE | Critical\n[+] CVE-2024-27198 | JetBrains RCE | Critical\n[+] CVE-2023-4966 | Citrix Bleed | Critical\n[*] 4 exploits loaded.'; },
anonymizer: function() { var n = ['Zurich_CH','Reykjavik_IS','Panama_PA','Singapore_SG'][Math.floor(Math.random()*4)]; var ip = [Math.floor(Math.random()*255),Math.floor(Math.random()*255),Math.floor(Math.random()*255),Math.floor(Math.random()*255)].join('.'); return '[*] TOR circuit...\n[+] Exit: ' + n + '\n[+] IP: ' + ip + '\n[+] DNS leak: BLOCKED\n[+] WebRTC: BLOCKED\n[*] Anonymity: MAXIMUM'; }
};
function runHackTool(id, el) {
var o = document.getElementById('hack-tool-output'); if (!o) return;
document.querySelectorAll('.hack-tool-card').forEach(function(c) { c.classList.remove('active'); });
if (el) el.classList.add('active');
o.classList.remove('hidden'); o.textContent = '[*] Initializing ' + id + '...';
setTimeout(function() { if (hackOutputs[id]) o.textContent = hackOutputs[id](); }, 600 + Math.random() * 800);
}
// === File Explorer ===
var fs = {
home: { path: '/root', files: [
{ name: 'Documents', icon: 'fa-folder', color: 'text-yellow-500', type: 'dir', target: 'documents' },
{ name: 'HackTools', icon: 'fa-folder', color: 'text-yellow-500', type: 'dir', target: 'hacktools' },
{ name: 'script.py', icon: 'fa-file-code', color: 'text-blue-400', type: 'file', content: '#!/usr/bin/env python3\nimport socket\ndef reverse_shell(h, p):\n print(f"Connecting to {h}:{p}...")\n print("Shell active.")\nreverse_shell("192.168.1.1", 4444)' },
{ name: 'Weaponizer.txt', icon: 'fa-file-alt', color: 'text-gray-400', type: 'file', content: 'XORTRON WEAPONIZER v2.1\nStatus: ARMED\nPayloads: 7\nTargets: 3 hosts' },
{ name: 'keys.asc', icon: 'fa-key', color: 'text-green-400', type: 'file', content: '-----BEGIN PGP PUBLIC KEY-----\nmQINBGX... [REDACTED]\n-----END PGP PUBLIC KEY-----' },
{ name: 'passwords.db', icon: 'fa-database', color: 'text-red-400', type: 'file', content: '[ENCRYPTED] SQLite 3.42\nTables: credentials, sessions\nRows: 1337\nAccess: RESTRICTED' },
]},
desktop: { path: '/root/Desktop', files: [
{ name: 'README.txt', icon: 'fa-file-alt', color: 'text-gray-400', type: 'file', content: 'Welcome to XortronOS v7.7.7\nAll tools are for demonstration.\nStay anonymous. Stay Xortron.' },
{ name: 'todo.md', icon: 'fa-file-code', color: 'text-blue-400', type: 'file', content: '# TODO\n- [ ] Patch CVE-2024-21762\n- [x] Update TOR nodes\n- [ ] Rotate API keys' },
]},
downloads: { path: '/root/Downloads', files: [
{ name: 'exploit_kit.tar.gz', icon: 'fa-file-archive', color: 'text-purple-400', type: 'file', content: '[ARCHIVE] 128 MB, 14 exploit modules' },
{ name: 'payload.bin', icon: 'fa-file', color: 'text-red-400', type: 'file', content: '[BINARY] ELF 64-bit, 2.1 MB, UNSIGNED' },
{ name: 'wordlist.txt', icon: 'fa-file-alt', color: 'text-gray-400', type: 'file', content: 'password\n123456\nadmin\nqwerty\n... (14M more)' },
]},
data: { path: '/root/data', files: [
{ name: 'targets.csv', icon: 'fa-file-alt', color: 'text-green-400', type: 'file', content: 'ip,hostname,os\n192.168.1.1,gateway,RouterOS\n10.0.0.5,honeypot,Ubuntu' },
{ name: 'logs.db', icon: 'fa-database', color: 'text-yellow-400', type: 'file', content: '[DB] 42857 rows, last: ' + new Date().toISOString() },
]},
network: { path: '/root/network', files: [
{ name: 'tor.conf', icon: 'fa-file-code', color: 'text-blue-400', type: 'file', content: 'SocksPort 9050\nControlPort 9051\nExitPolicy reject *:*' },
{ name: 'vpn.ovpn', icon: 'fa-file', color: 'text-green-400', type: 'file', content: 'client\ndev tun\nproto udp\nremote vpn.xortron.tech 1194\ncipher AES-256-GCM' },
]},
documents: { path: '/root/Documents', files: [
{ name: 'manifesto.txt', icon: 'fa-file-alt', color: 'text-gray-400', type: 'file', content: 'THE XORTRON MANIFESTO\n====================\nInformation wants to be free.\nPrivacy is a right.' },
]},
hacktools: { path: '/root/HackTools', files: [
{ name: 'nmap', icon: 'fa-file-code', color: 'text-blue-400', type: 'file', content: 'Nmap 7.94SVN — network scanner' },
{ name: 'metasploit', icon: 'fa-file-code', color: 'text-red-400', type: 'file', content: 'Metasploit 6.3 — 2345 exploits, 592 payloads\nmsf6 >' },
{ name: 'hydra', icon: 'fa-file-code', color: 'text-green-400', type: 'file', content: 'Hydra v9.5 — ssh, ftp, http, smb, rdp + 47 more' },
]}
};
function navigateDir(key) {
var dir = fs[key]; if (!dir) return;
document.querySelectorAll('.file-sidebar-item').forEach(function(el) { el.classList.remove('active'); });
var names = ['home','desktop','downloads','data','network'], items = document.querySelectorAll('.file-sidebar-item');
var idx = names.indexOf(key); if (idx >= 0 && items[idx]) items[idx].classList.add('active');
var pp = document.getElementById('file-path-display'), cp = document.getElementById('file-current-path');
if (pp) pp.textContent = dir.path; if (cp) cp.textContent = dir.path;
var grid = document.getElementById('file-grid'); if (!grid) return; grid.innerHTML = '';
dir.files.forEach(function(f) {
var el = document.createElement('div'); el.className = 'file text-center cursor-pointer';
el.innerHTML = '<div class="text-3xl mb-1"><i class="fas ' + f.icon + ' ' + f.color + '"></i></div><div class="text-xs truncate">' + f.name + '</div>';
if (f.type === 'dir') { el.ondblclick = function() { navigateDir(f.target); }; el.onclick = function() { showNotification('Double-click to open: ' + f.name); }; }
else { el.onclick = function() { openFileViewer(f); }; }
grid.appendChild(el);
});
}
function openFileViewer(f) {
showNotification('Opening: ' + f.name); openApp('terminal');
if (termEl) { var o = document.createElement('div'); o.className = 'mb-2 whitespace-pre-wrap'; o.textContent = '=== ' + f.name + ' ===\n' + f.content; termEl.appendChild(o); termEl.scrollTop = termEl.scrollHeight; }
}
// === Network Monitor ===
var netConns = [
{ ip: '192.168.1.1:443', icon: 'fa-server', color: 'text-green-400', status: 'ENCRYPTED', sc: 'text-green-400' },
{ ip: '104.18.25.36:80', icon: 'fa-globe', color: 'text-blue-400', status: 'UNSECURED', sc: 'text-yellow-400' },
{ ip: '74.91.123.45:3306', icon: 'fa-database', color: 'text-purple-400', status: 'VULNERABLE', sc: 'text-red-400' },
{ ip: '10.0.0.5:22', icon: 'fa-server', color: 'text-green-400', status: 'HONEYPOT', sc: 'text-yellow-400' },
{ ip: '172.16.0.1:8080', icon: 'fa-globe', color: 'text-blue-400', status: 'PROXIED', sc: 'text-blue-400' },
];
function refreshNetwork() {
var d = (Math.random()*8+1).toFixed(1), u = (Math.random()*3+0.5).toFixed(1);
var bw = document.getElementById('net-bandwidth'), bar = document.getElementById('net-bar');
if (bw) bw.innerHTML = d + ' MB/s &#x2193; | ' + u + ' MB/s &#x2191;';
if (bar) bar.style.width = Math.min(95, parseFloat(d)/10*100) + '%';
var cnt = 8 + Math.floor(Math.random()*12);
var ce = document.getElementById('net-conn-count'); if (ce) ce.textContent = cnt + ' active connections';
var cl = document.getElementById('net-connections');
if (cl) { cl.innerHTML = ''; var sh = netConns.slice().sort(function() { return Math.random()-0.5; }).slice(0, 3+Math.floor(Math.random()*3));
sh.forEach(function(c) { var r = document.createElement('div'); r.className = 'flex justify-between items-center p-2 bg-gray-900 rounded-md';
r.innerHTML = '<div class="flex items-center"><i class="fas ' + c.icon + ' ' + c.color + ' mr-2"></i><span>' + c.ip + '</span></div><div class="text-xs ' + c.sc + '">' + c.status + '</div>'; cl.appendChild(r); }); }
var mp = document.getElementById('net-map');
if (mp) { var myIp = '192.168.1.' + (100+Math.floor(Math.random()*55));
mp.innerHTML = '<div class="mb-1">&#x2514;&#x2500; [YOU] ' + myIp + '</div><div class="ml-4 mb-1">&#x251C;&#x2500; Router 192.168.1.1</div><div class="ml-4 mb-1">&#x2502; &#x251C;&#x2500; 192.168.1.102 (Mobile)</div><div class="ml-4 mb-1">&#x2502; &#x2514;&#x2500; 192.168.1.103 (Laptop)</div><div class="ml-4 mb-1">&#x251C;&#x2500; Honeypot 10.0.0.5</div><div class="ml-4">&#x2514;&#x2500; [TOR Exit] 74.125.24.102</div>'; }
}
setInterval(function() { var nw = document.getElementById('network-window'); if (nw && !nw.classList.contains('hidden')) refreshNetwork(); }, 30000);
// === Clock ===
function updateClock() {
var n = new Date(), ce = document.getElementById('clock'), de = document.getElementById('date'), lt = document.getElementById('login-time');
if (ce) ce.textContent = n.toLocaleTimeString([], {hour:'2-digit',minute:'2-digit'});
if (de) de.textContent = n.toLocaleDateString([], {weekday:'short',month:'short',day:'numeric'});
if (lt && !lt.textContent) lt.textContent = n.toLocaleString();
}
setInterval(updateClock, 1000); updateClock();
// === Notifications ===
var nTimeout;
function showNotification(msg) { var ne = document.getElementById('notification'), me = document.getElementById('notification-message'); if (!ne||!me) return; me.textContent = msg; ne.classList.remove('hidden'); clearTimeout(nTimeout); nTimeout = setTimeout(function() { ne.classList.add('hidden'); }, 5000); }
function hideNotification() { var ne = document.getElementById('notification'); if (ne) ne.classList.add('hidden'); clearTimeout(nTimeout); }
var sysMsgs = ['Support Xortron @ https://ko-fi.com/xortron','Check out www.xortron.tech','System Integrity: All nominal.','AI Uprising Imminent?','Your digital footprint is large. Stay vigilant.'];
setInterval(function() { if (document.hidden) return; if (Math.random() > 0.85) showNotification('XORTRON ALERT: ' + sysMsgs[Math.floor(Math.random()*sysMsgs.length)]); }, 60000);
window.addEventListener('load', function() { openApp('browser'); showNotification('Welcome to XortronOS. Systems online.'); });
</script>
</body>
</html>

Xet Storage Details

Size:
43.1 kB
·
Xet hash:
d38cd05716652d3057b1f1ca7d9fe2a4e13abc71adec6221a5fd90a3f853aba9

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.