tins / index.html
Brokencircut3311's picture
Add 2 files
4472622 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CyberScan Pro - Aggressive Scanner</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">
<script>
tailwind.config = {
theme: {
extend: {
colors: {
cyberblue: '#0ff0fc',
cyberpurple: '#9467fe',
cyberpink: '#ff00c1',
cybergreen: '#0af060',
cyberdark: '#0b0a1d'
},
animation: {
'pulse-fast': 'pulse 0.8s cubic-bezier(0.4, 0, 0.6, 1) infinite',
'scan': 'scan 8s linear infinite',
},
keyframes: {
scan: {
'0%': { transform: 'translateY(-100%)' },
'100%': { transform: 'translateY(120%)' },
}
}
}
}
}
</script>
<style type="text/css">
body {
background: linear-gradient(135deg, #0b0a1d 0%, #1c1b3a 100%);
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
color: #d9deea;
min-height: 100vh;
overflow-x: hidden;
}
.glow-box {
box-shadow: 0 0 15px rgba(79, 70, 229, 0.6);
transition: all 0.3s ease;
}
.glow-box:hover {
box-shadow: 0 0 30px rgba(79, 70, 229, 0.9);
}
.dashboard-card {
background: rgba(15, 23, 42, 0.8);
backdrop-filter: blur(6px);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.signal-icon {
text-shadow: 0 0 8px #0af060;
}
.signal-bar {
position: relative;
overflow: hidden;
}
.signal-bar::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(90deg, transparent, rgba(10, 240, 96, 0.4), transparent);
transform: translateX(-100%);
animation: scan 2s infinite;
}
.cpu-overload {
animation: pulse-fast 0.8s infinite;
}
.scanning-animation {
position: relative;
overflow: hidden;
}
.scanning-animation::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, transparent, #9467fe, transparent);
animation: scan 1.5s linear infinite;
border-radius: 2px;
}
.device-dot {
position: absolute;
width: 12px;
height: 12px;
border-radius: 50%;
box-shadow: 0 0 10px 2px currentColor;
transform-origin: center;
}
.device-dot::after {
content: '';
position: absolute;
top: -8px;
left: -8px;
right: -8px;
bottom: -8px;
border: 2px solid currentColor;
border-radius: 50%;
opacity: 0;
animation: pulse-ripple 2s infinite linear;
}
@keyframes pulse-ripple {
0% {
opacity: 1;
transform: scale(0.8);
}
100% {
opacity: 0;
transform: scale(2);
}
}
.overload-icon {
animation: vibrate 0.2s infinite linear;
}
@keyframes vibrate {
0% { transform: rotate(0deg); }
25% { transform: rotate(5deg); }
50% { transform: rotate(0deg); }
75% { transform: rotate(-5deg); }
100% { transform: rotate(0deg); }
}
.rtl-table {
direction: rtl;
overflow-x: auto;
}
.rtl-table tbody {
direction: ltr;
}
</style>
</head>
<body>
<div class="container mx-auto px-4 py-6">
<!-- Header with scanner settings -->
<header class="mb-8 py-6 px-6 dashboard-card rounded-2xl flex flex-col lg:flex-row justify-between items-center">
<div class="w-full lg:w-1/3 mb-4 lg:mb-0">
<h1 class="text-3xl font-bold text-cyberblue flex items-center">
<i class="fas fa-wifi mr-3"></i> CyberScan <span class="text-cyberpink ml-2">Pro</span>
</h1>
<p class="text-gray-400 mt-2">Aggressive Wireless Network Scanner</p>
</div>
<div class="w-full lg:w-1/3">
<div class="flex items-center gap-4">
<div class="flex-1">
<div class="flex justify-between mb-1">
<span class="text-xs font-medium">CPU Load</span>
<span id="cpuPercentage" class="text-xs font-medium text-cybergreen">99%</span>
</div>
<div class="w-full bg-cyberdark h-2 rounded-full overflow-hidden">
<div class="bg-cybergreen h-2 rounded-full cpu-overload" style="width: 99%;">
<div class="absolute inset-0 bg-gradient-to-r from-transparent via-[#0af060] to-transparent h-full"></div>
</div>
</div>
</div>
<div class="text-center bg-cyberdark px-4 py-2 rounded-full">
<i class="fas fa-bolt text-amber-400"></i>
<span id="tempDisplay" class="text-xs ml-1">87°C</span>
</div>
</div>
</div>
<div class="w-full lg:w-1/3 mt-4 lg:mt-0 flex justify-end">
<div class="space-x-3">
<button id="scanBtn" class="px-6 py-3 bg-cyberpink hover:bg-pink-600 font-semibold rounded-full transition-all duration-200 shadow-lg hover:shadow-pink-500/40">
<i class="fas fa-satellite-dish mr-2"></i>SCAN NOW
</button>
<button class="px-4 py-3 border border-gray-600 font-semibold rounded-full hover:bg-gray-800">
<i class="fas fa-cog"></i>
</button>
</div>
</div>
</header>
<!-- Aggressive Scanning Overlay -->
<div id="overlay" class="fixed inset-0 z-50 pointer-events-none opacity-0">
<div class="absolute inset-0 bg-gradient-to-tr from-cyberpurple to-cyberblue opacity-5"></div>
<div class="absolute scanning-animation w-full h-0.5 bg-cyberblue shadow-lg shadow-cyan-400"></div>
<div class="device-dot" style="top: 25%; left: 20%; color: #ff00c1;"></div>
<div class="device-dot" style="top: 40%; left: 65%; color: #0af060;"></div>
<div class="device-dot" style="top: 70%; left: 45%; color: #9467fe;"></div>
</div>
<!-- Main Dashboard -->
<main class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6">
<!-- Wi-Fi Scanner Panel -->
<section class="dashboard-card rounded-2xl p-6 scanning-animation">
<h2 class="text-xl font-bold text-cyberblue mb-4 flex items-center">
<i class="fas fa-wifi mr-3"></i> Wi-Fi Scanning
<span id="wifiCounter" class="ml-auto bg-cyberpurple bg-opacity-30 text-xs px-3 py-1 rounded-full">0 Networks</span>
</h2>
<div class="mb-4">
<div class="flex justify-between items-center mb-2">
<span class="text-cyberpurple font-medium"><i class="fas fa-network-wired mr-2"></i> Max Aggression Mode</span>
<div class="space-x-2">
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" value="" class="sr-only peer" checked id="wifiToggle">
<div class="w-12 h-6 bg-gray-600 rounded-full peer-checked:bg-cyberpink peer peer-checked:after:translate-x-6 after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:h-5 after:w-5 after:rounded-full after:transition-all"></div>
</label>
</div>
</div>
<div class="text-xs bg-cyberdark p-3 rounded-lg">
<div class="overflow-hidden">
<p class="font-mono">
> Scanning on all available 2.4GHz, 5GHz, and 6GHz channels<br>
> Channel hopping rate: <span class="text-cyberpurple">200ms/channel</span><br>
> Sending probe requests to all SSIDs<br>
> Signal strength threshold: <span class="text-cyberpurple">-95 dBm</span><br>
> Packet injection: <span class="text-cybergreen">ACTIVE</span>
</p>
</div>
</div>
</div>
<div class="mb-4">
<h3 class="text-md font-bold mb-2">Signal Indicators</h3>
<div class="grid grid-cols-2 sm:grid-cols-4 gap-4">
<div class="bg-cyberdark py-3 px-4 rounded-xl">
<div class="text-cybergreen mb-1"><i class="fas fa-satellite-dish"></i> Strength</div>
<div class="signal-bar relative">
<div class="h-4 bg-gray-700 rounded-full overflow-hidden">
<div class="h-full bg-gradient-to-r from-cybergreen to-cyberblue" style="width: 100%"></div>
</div>
<div class="text-xs text-right mt-1">Maximum</div>
</div>
</div>
<div class="bg-cyberdark py-3 px-4 rounded-xl">
<div class="text-cybergreen mb-1"><i class="fas fa-chart-simple"></i> Sensitivity</div>
<div class="signal-bar">
<div class="h-4 bg-gray-700 rounded-full overflow-hidden">
<div class="h-full bg-gradient-to-r from-cyan-400 to-cyberblue" style="width: 92%"></div>
</div>
<div class="text-xs text-right mt-1">Aggressive Matrix</div>
</div>
</div>
<div class="bg-cyberdark py-3 px-4 rounded-xl">
<div class="text-cybergreen mb-1"><i class="fas fa-percent"></i> Noise Floor</div>
<div class="signal-bar">
<div class="h-4 bg-gray-700 rounded-full overflow-hidden">
<div class="h-full bg-gradient-to-r from-amber-400 to-orange-500" style="width: 67%"></div>
</div>
<div class="text-xs text-right mt-1">High</div>
</div>
</div>
<div class="bg-cyberdark py-3 px-4 rounded-xl">
<div class="text-cybergreen mb-1"><i class="fas fa-chart-line"></i> SNR Ratio</div>
<div class="signal-bar">
<div class="h-4 bg-gray-700 rounded-full overflow-hidden">
<div class="h-full bg-gradient-to-r from-cybergreen to-green-500" style="width: 84%"></div>
</div>
<div class="text-xs text-right mt-1">Good</div>
</div>
</div>
</div>
</div>
<div class="table-container max-h-80 overflow-y-auto">
<div class="rtl-table">
<table class="w-full bg-cyberdark rounded-xl overflow-hidden">
<thead class="sticky top-0 bg-cyberdark text-gray-400">
<tr>
<th class="text-left py-3 px-4">SSID</th>
<th class="text-left py-3 px-4">Security</th>
<th class="text-left py-3 px-4">Signal</th>
<th class="text-left py-3 px-4 hidden sm:table-cell">Channel</th>
</tr>
</thead>
<tbody id="wifiList">
<!-- WiFi results will populate here -->
</tbody>
</table>
</div>
</div>
</section>
<!-- Bluetooth Scanner Panel -->
<section class="dashboard-card rounded-2xl p-6 scanning-animation">
<h2 class="text-xl font-bold text-cyberblue mb-4 flex items-center">
<i class="fas fa-bluetooth mr-3"></i> Bluetooth Detection
<span id="btCounter" class="ml-auto bg-cyberpurple bg-opacity-30 text-xs px-3 py-1 rounded-full">0 Devices</span>
</h2>
<div class="mb-4">
<div class="flex justify-between items-center mb-2">
<span class="text-cyberpurple font-medium"><i class="fas fa-microchip mr-2"></i> Max Power Deep Scan</span>
<div class="space-x-2">
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" value="" class="sr-only peer" checked id="btToggle">
<div class="w-12 h-6 bg-gray-600 rounded-full peer-checked:bg-cyberpink peer peer-checked:after:translate-x-6 after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:h-5 after:w-5 after:rounded-full after:transition-all"></div>
</label>
</div>
</div>
<div class="text-xs bg-cyberdark p-3 rounded-lg">
<div class="overflow-hidden">
<p class="font-mono">
> Bluetooth Classic, LE, EDR scanning<br>
> Class of device scanning: <span class="text-cybergreen">ENABLED</span><br>
> RSSI sampling: <span class="text-cyberpurple">500ms interval</span><br>
> Transmission power: <span class="text-cyberpurple">+20 dBm MAX</span><br>
> Service discovery: <span class="text-cyberpurple">ALL</span>
</p>
</div>
</div>
</div>
<div class="mb-4 grid grid-cols-1 sm:grid-cols-2 gap-4">
<div class="dashboard-card rounded-xl p-4">
<div class="mx-auto w-48 h-48 relative">
<div class="absolute w-full h-full">
<!-- Radar Visualization -->
<div class="w-48 h-48 border-4 border-cyan-500 border-opacity-30 rounded-full absolute"></div>
<div class="w-36 h-36 border-4 border-cyan-500 border-opacity-50 rounded-full absolute left-6 top-6"></div>
<div class="w-24 h-24 border-4 border-cyan-500 rounded-full absolute left-12 top-12"></div>
<div class="w-12 h-12 border-4 border-cyan-500 border-opacity-80 rounded-full absolute left-18 top-18"></div>
<div class="w-48 h-48 absolute">
<div class="bt-signal-ring" style="--delay: 0s; left: 55%; top: 30%; --color: #ff00c1;"></div>
<div class="bt-signal-ring" style="--delay: 0.3s; left: 15%; top: 45%; --color: #0af060;"></div>
<div class="bt-signal-ring" style="--delay: 0.6s; left: 75%; top: 70%; --color: #9467fe;"></div>
</div>
<div id="bluetoothRadar" class="w-48 h-48">
<!-- Radar animation -->
<div class="radar-line absolute w-1 bg-cyberblue bottom-1/2 left-1/2 transform origin-bottom rotate-0 h-full">
<div class="radar-line w-1 h-1/2 bg-gradient-to-t from-cyan-500 to-cyan-900"></div>
</div>
</div>
</div>
</div>
</div>
<div>
<h3 class="text-md font-bold mb-3">Scanned Device Profile</h3>
<div class="dashboard-card p-4 rounded-xl">
<div class="flex items-start mb-3">
<div class="w-10 h-10 rounded-full bg-cyberblue bg-opacity-10 flex items-center justify-center">
<i class="fas fa-headphones text-cyberblue"></i>
</div>
<div class="ml-3">
<div class="font-bold">In-Ear Monitor Pro</div>
<div class="text-xs text-gray-400">Class 1, BR/EDR, A2DP</div>
</div>
<div class="ml-auto text-cybergreen">
<i class="fas fa-wave-square"></i> -45dBm
</div>
</div>
<div class="mt-4">
<h4 class="text-xs font-semibold mb-1">DISCOVERED SERVICES</h4>
<div class="flex flex-wrap gap-1">
<span class="px-2 py-1 bg-cyberdark text-xs rounded-md">Audio Sink</span>
<span class="px-2 py-1 bg-cyberdark text-xs rounded-md">HR Monitor</span>
<span class="px-2 py-1 bg-cyberdark text-xs rounded-md">Battery Service</span>
<span class="px-2 py-1 bg-cyberdark text-xs rounded-md">Device Info</span>
</div>
</div>
</div>
</div>
</div>
<div class="table-container max-h-60 overflow-y-auto">
<div class="rtl-table">
<table class="w-full bg-cyberdark rounded-xl overflow-hidden">
<thead class="sticky top-0 bg-cyberdark text-gray-400">
<tr>
<th class="text-left py-3 px-4">Device Name</th>
<th class="text-left py-3 px-4">Type</th>
<th class="text-left py-3 px-4">RSSI</th>
<th class="text-left py-3 px-4 hidden sm:table-cell">UUID</th>
</tr>
</thead>
<tbody id="btList">
<!-- Bluetooth results will populate here -->
</tbody>
</table>
</div>
</div>
</section>
</main>
<!-- Console Output -->
<section class="dashboard-card rounded-2xl p-6 my-6">
<h2 class="text-xl font-bold text-cyberblue mb-4 flex items-center">
<i class="fas fa-terminal mr-3"></i> Scan Log
<div class="ml-auto text-xs text-gray-500" id="logCounter">0 messages</div>
</h2>
<div class="bg-cyberdark rounded-xl p-4 font-mono text-sm h-52 overflow-y-auto" id="consoleOutput">
<div class="text-cyberblue">CyberScan Pro v2.4.8 initialized</div>
<div class="text-gray-600">WARNING: Aggressive scanning mode may drain battery</div>
<div class="text-gray-600">> System ready. Capture mode: <span class="text-cybergreen">MAXIMUM</span></div>
<div class="mt-1">> Click "SCAN NOW" to begin aggressive scan</div>
</div>
</section>
<!-- Footer status -->
<footer class="dashboard-card rounded-2xl p-4 mt-6">
<div class="flex flex-col sm:flex-row items-center justify-between">
<div class="flex flex-wrap gap-4">
<div class="flex items-center">
<div class="w-3 h-3 rounded-full bg-cybergreen"></div>
<span class="ml-2 text-sm">Scanning</span>
</div>
<div class="flex items-center">
<div class="w-3 h-3 rounded-full bg-amber-400"></div>
<span class="ml-2 text-sm">High CPU Usage</span>
</div>
<div class="flex items-center">
<i class="fas fa-plug text-amber-400"></i>
<span class="ml-2 text-sm">Maximum Power Output</span>
</div>
</div>
<div class="mt-3 sm:mt-0 flex items-center text-amber-400 animate-pulse">
<i class="fas fa-circle-radiation text-xl overload-icon mr-2"></i>
<span class="font-semibold">OVERLOAD PROTOCOL ACTIVE</span>
</div>
</div>
</footer>
</div>
<script>
// Functions to generate device names
function generateSSID() {
const prefixes = ['Home', 'Office', 'Free', 'Public', 'Secure', 'Hidden', 'TP-Link', 'Netgear', 'Dlink', 'ASUS', 'Guest'];
const suffixes = ['Wifi', 'Network', 'Zone', 'Spot', 'Access', 'Hub', 'Extended', '5G', 'Mesh'];
return `${prefixes[Math.floor(Math.random() * prefixes.length)]}-${suffixes[Math.floor(Math.random() * suffixes.length)]}-${Math.floor(Math.random() * 5000)}`;
}
function generateDeviceName() {
const types = ['Phone', 'Laptop', 'TV', 'Speaker', 'Headphones', 'Watch', 'Tablet', 'Pro Controller', 'Keyboard', 'Mouse'];
const brands = ['Apple', 'Samsung', 'Sony', 'Bose', 'Logitech', 'LG', 'Xiaomi', 'OnePlus', 'Microsoft', 'JBL'];
return `${brands[Math.floor(Math.random() * brands.length)]} ${Math.floor(Math.random() * 15)}${Math.floor(Math.random() * 10)} ${types[Math.floor(Math.random() * types.length)]}`;
}
function generateDeviceType() {
const types = ['Phone', 'Computer', 'Headset', 'Headphones', 'Keyboard', 'Mouse', 'Speaker', 'TV', 'Gamepad', 'Watch', 'IoT Device', 'Printer'];
return types[Math.floor(Math.random() * types.length)];
}
// Generate WiFi networks
function generateWifiNetworks(count) {
const networks = [];
const securityTypes = ['WPA2', 'WPA3', 'WPA2/WPA3', 'WEP', 'Open'];
for (let i = 0; i < count; i++) {
networks.push({
ssid: generateSSID(),
security: securityTypes[Math.floor(Math.random() * securityTypes.length)],
signal: Math.floor(Math.random() * 41) + 60, // 60-100%
channel: Math.floor(Math.random() * 11) + 1
});
}
// Sort by signal strength
return networks.sort((a, b) => b.signal - a.signal);
}
// Generate Bluetooth devices
function generateBluetoothDevices(count) {
const devices = [];
const rssi = ['-35dBm', '-42dBm', '-55dBm', '-61dBm', '-70dBm', '-75dBm', '-85dBm'];
for (let i = 0; i < count; i++) {
const signal = rssi[Math.floor(Math.random() * rssi.length)];
devices.push({
name: generateDeviceName(),
type: generateDeviceType(),
rssi: signal,
uuid: `C4:XX:XX:XX:${Math.floor(Math.random() * 89 + 10).toString(16).toUpperCase()}${Math.floor(Math.random() * 89 + 10).toString(16).toUpperCase()}:XX`
});
}
// Sort by RSSI (higher signal first)
return devices.sort((a, b) => parseInt(a.rssi) - parseInt(b.rssi));
}
// Update WiFi table
function updateWifiList(networks) {
const list = document.getElementById('wifiList');
const counter = document.getElementById('wifiCounter');
// Clear existing content
list.innerHTML = '';
counter.textContent = `${networks.length} Networks`;
// Add new networks
networks.forEach(network => {
const row = document.createElement('tr');
row.className = 'border-b border-gray-700 hover:bg-gray-800';
row.innerHTML = `
<td class="py-3 px-4">${network.ssid}</td>
<td class="py-3 px-4">
<span class="px-2 py-1 rounded-full ${
network.security === 'WPA3' ? 'bg-green-900 text-green-300' :
network.security === 'Open' ? 'bg-red-900 text-red-300' :
'bg-purple-900 text-purple-300'
} text-xs">${network.security}</span>
</td>
<td class="py-3 px-4">
<div class="flex items-center">
<div class="w-24 bg-gray-700 h-2 rounded-full overflow-hidden mr-2">
<div class="h-full ${
network.signal > 80 ? 'bg-cybergreen' :
network.signal > 60 ? 'bg-amber-400' : 'bg-red-500'
}" style="width: ${network.signal}%"></div>
</div>
<div class="text-xs">${network.signal}%</div>
</div>
</td>
<td class="py-3 px-4 hidden sm:table-cell">
<span class="px-2 py-1 bg-cyberdark rounded-full text-xs">CH ${network.channel}</span>
</td>
`;
list.appendChild(row);
});
}
// Update Bluetooth table
function updateBtList(devices) {
const list = document.getElementById('btList');
const counter = document.getElementById('btCounter');
// Clear existing content
list.innerHTML = '';
counter.textContent = `${devices.length} Devices`;
// Add new devices
devices.forEach(device => {
const row = document.createElement('tr');
row.className = 'border-b border-gray-700 hover:bg-gray-800';
row.innerHTML = `
<td class="py-3 px-4">
<div class="flex items-center">
<i class="fas ${
device.type === 'Phone' ? 'fa-mobile-screen-button' :
device.type === 'Headset' || device.type === 'Headphones' ? 'fa-headphones' :
device.type === 'Speaker' ? 'fa-volume-high' :
device.type === 'TV' ? 'fa-tv' : 'fa-bluetooth'
} mr-2 text-gray-400"></i>
${device.name}
</div>
</td>
<td class="py-3 px-4 text-xs">${device.type}</td>
<td class="py-3 px-4 ${device.rssi > -60 ? 'text-cybergreen' : 'text-amber-400'}">${device.rssi}</td>
<td class="py-3 px-4 text-xs text-gray-400 hidden sm:table-cell">${device.uuid}</td>
`;
list.appendChild(row);
});
}
// Log message to console
function logToConsole(message, priority = 'log') {
const consoleOutput = document.getElementById('consoleOutput');
const counterEl = document.getElementById('logCounter');
const count = parseInt(counterEl.textContent);
const msgEl = document.createElement('div');
switch(priority) {
case 'warn':
msgEl.className = 'text-yellow-400';
break;
case 'error':
msgEl.className = 'text-red-500';
break;
case 'info':
msgEl.className = 'text-cyberblue';
break;
case 'success':
msgEl.className = 'text-cybergreen';
break;
default:
msgEl.className = 'text-gray-
400';
}
msgEl.innerHTML = `<span class="text-gray-500 mr-2">></span> ${message}`;
consoleOutput.appendChild(msgEl);
// Update counter
counterEl.textContent = `${Math.max(1, count) + 1} messages`;
// Scroll to bottom
consoleOutput.scrollTop = consoleOutput.scrollHeight;
}
// Scanning simulation
function startScanSimulation() {
const overlay = document.getElementById('overlay');
const cpuPercentage = document.getElementById('cpuPercentage');
const tempDisplay = document.getElementById('tempDisplay');
const scanBtn = document.getElementById('scanBtn');
// Show overlay and change button state
overlay.classList.remove('opacity-0');
overlay.classList.add('opacity-50');
scanBtn.innerHTML = '<i class="fas fa-circle-stop mr-2"></i>STP SCAN';
scanBtn.classList.remove('bg-cyberpink');
scanBtn.classList.add('bg-red-500', 'hover:bg-red-600');
// High CPU simulation
let cpu = 98;
let temp = 80;
const cpuInterval = setInterval(() => {
cpu = 98 + Math.random() * 2;
cpuPercentage.textContent = `${Math.round(cpu)}%`;
// Temperature effect
temp = 80 + Math.random() * 7;
tempDisplay.textContent = `${Math.round(temp)}°C`;
}, 1000);
// Start generating devices
const maxDevices = 20 + Math.floor(Math.random() * 15);
const maxNetworks = 15 + Math.floor(Math.random() * 10);
// WiFi results
let wifiResults = [];
const wifiInterval = setInterval(() => {
wifiResults = generateWifiNetworks(Math.min(wifiResults.length + 2, maxNetworks));
updateWifiList(wifiResults);
}, 800);
// Bluetooth results
let btResults = [];
const btInterval = setInterval(() => {
btResults = generateBluetoothDevices(Math.min(btResults.length + 3, maxDevices));
updateBtList(btResults);
}, 1200);
// Add logs
const logInterval = setInterval(() => {
const messages = [
'Probe request sent: 255.255.255.255 - RESPONSE: [OK]',
'Discovered new SSID: ' + generateSSID(),
'BT device detected: ' + generateDeviceName(),
'MAC: XX:XX:XX:XX:XX:XX Ch: ' + (Math.floor(Math.random() * 14) + 1),
'Packet injection successful. Throughput: 54Mbps',
'Channel noise level: ' + (Math.floor(Math.random() * 40) + 20) + 'dBm',
'Scanning next channel: ' + (Math.floor(Math.random() * 11) + 1),
'Bluetooth RSSI peak at -' + (Math.floor(Math.random() * 30) + 35) + 'dBm',
'New network profile saved',
'Saving capture results to trace/wireshark.pcapng'
];
const priorities = ['log', 'success', 'info'];
const message = messages[Math.floor(Math.random() * messages.length)];
const priority = priorities[Math.floor(Math.random() * priorities.length)];
logToConsole(message, priority);
}, 700);
// Stop scan functionality
scanBtn.onclick = () => {
// Clear intervals
clearInterval(cpuInterval);
clearInterval(wifiInterval);
clearInterval(btInterval);
clearInterval(logInterval);
// Restore UI
overlay.classList.remove('opacity-50');
overlay.classList.add('opacity-0');
scanBtn.innerHTML = '<i class="fas fa-satellite-dish mr-2"></i>SCAN NOW';
scanBtn.classList.remove('bg-red-500', 'hover:bg-red-600');
scanBtn.classList.add('bg-cyberpink');
// Reset CPU display
cpuPercentage.textContent = '5%';
tempDisplay.textContent = '42°C';
// Restore click handler
scanBtn.onclick = startScanSimulation;
};
}
// Initialize UI with some networks and devices
document.addEventListener('DOMContentLoaded', () => {
// Load some initial devices
updateWifiList(generateWifiNetworks(3));
updateBtList(generateBluetoothDevices(2));
// Add button click handlers
document.getElementById('scanBtn').addEventListener('click', startScanSimulation);
// Hardware overheat simulation effect
const tempDisplay = document.getElementById('tempDisplay');
let temp = 42;
setInterval(() => {
if (Math.random() > 0.7) {
// Random minor fluctuations when inactive
const fluctuation = Math.floor(Math.random() * 3) - 1;
temp = Math.min(Math.max(35, temp + fluctuation), 48);
tempDisplay.textContent = `${temp}°C`;
}
}, 5000);
});
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Brokencircut3311/tins" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>