Meta Description" name="description" />
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>BN-NUSANTARA | OPERASI RAHASIA</title>
<link href="https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Orbitron:wght@400;700;900&family=VT323&display=swap" rel="stylesheet">
<style>
:root {
--green: #00ff41;
--green-dim: #00aa2a;
--cyan: #00d4ff;
--red: #ff3333;
--orange: #ff8c00;
--yellow: #ffe600;
--bg: #010b05;
--panel: rgba(0,255,65,0.03);
--border: rgba(0,255,65,0.2);
--text-dim: rgba(0,255,65,0.45);
--sat-green: rgba(0,255,100,0.85);
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--green);font-family:'Share Tech Mono',monospace;font-size:11px;cursor:crosshair;}
body::before{content:'';position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.12) 2px,rgba(0,0,0,0.12) 4px);pointer-events:none;z-index:9999;}
body::after{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,0.75) 100%);pointer-events:none;z-index:9998;}
/* HEADER */
.hdr{display:flex;align-items:center;justify-content:space-between;padding:5px 14px;border-bottom:1px solid var(--border);background:rgba(0,0,0,0.7);height:42px;position:relative;z-index:100;}
.logo-wrap{display:flex;align-items:center;gap:12px;}
.logo{font-family:'Orbitron',sans-serif;font-size:20px;font-weight:900;color:var(--green);text-shadow:0 0 25px var(--green),0 0 50px rgba(0,255,65,0.4);letter-spacing:5px;}
.logo span{color:var(--cyan);text-shadow:0 0 25px var(--cyan);}
.badge{font-family:'Orbitron',sans-serif;font-size:7px;letter-spacing:2px;padding:2px 7px;border:1px solid var(--red);color:var(--red);text-shadow:0 0 6px var(--red);animation:blink 1.2s step-end infinite;}
.badge2{font-family:'Orbitron',sans-serif;font-size:7px;letter-spacing:2px;padding:2px 7px;border:1px solid var(--orange);color:var(--orange);}
.hdr-center{position:absolute;left:50%;transform:translateX(-50%);text-align:center;}
.hdr-title{font-family:'VT323',monospace;font-size:20px;color:var(--cyan);text-shadow:0 0 12px var(--cyan);letter-spacing:8px;}
.hdr-sub{font-size:8px;color:var(--text-dim);letter-spacing:3px;}
.hdr-right{display:flex;align-items:center;gap:16px;}
.clock{font-family:'VT323',monospace;font-size:30px;color:var(--green);text-shadow:0 0 15px var(--green);line-height:1;}
.clock-d{font-size:8px;color:var(--text-dim);letter-spacing:2px;}
.stt{font-size:9px;color:var(--text-dim);}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 7px var(--green);animation:pulse 2s ease-in-out infinite;margin-right:4px;}
.dot.r{background:var(--red);box-shadow:0 0 7px var(--red);}
.dot.o{background:var(--orange);box-shadow:0 0 7px var(--orange);}
/* LAYOUT */
.layout{display:grid;grid-template-columns:250px 1fr 1fr 260px;grid-template-rows:1fr 170px;gap:3px;padding:3px;height:calc(100vh - 42px - 20px);}
/* PANELS */
.panel{background:var(--panel);border:1px solid var(--border);position:relative;overflow:hidden;}
.panel::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,255,65,0.02) 0%,transparent 60%);pointer-events:none;}
.ph{display:flex;align-items:center;justify-content:space-between;padding:4px 9px;border-bottom:1px solid var(--border);background:rgba(0,255,65,0.05);font-family:'Orbitron',sans-serif;font-size:7.5px;letter-spacing:1.5px;color:var(--cyan);flex-shrink:0;}
.ph-r{color:var(--text-dim);font-family:'Share Tech Mono',monospace;font-size:9px;}
.corner{position:absolute;width:10px;height:10px;border-color:var(--cyan);border-style:solid;opacity:0.5;z-index:2;}
.c-tl{top:0;left:0;border-width:1px 0 0 1px;}
.c-tr{top:0;right:0;border-width:1px 1px 0 0;}
.c-bl{bottom:0;left:0;border-width:0 0 1px 1px;}
.c-br{bottom:0;right:0;border-width:0 1px 1px 0;}
/* ======= PHONE TRACKER PANEL ======= */
.p-phone{grid-column:1 / 3;grid-row:1;display:flex;flex-direction:column;}
.phone-input-bar{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--border);background:rgba(0,0,0,0.4);}
.phone-label{font-size:9px;color:var(--text-dim);letter-spacing:1px;white-space:nowrap;}
.phone-field{font-family:'Share Tech Mono',monospace;font-size:14px;color:var(--green);background:transparent;border:none;outline:none;flex:1;text-shadow:0 0 8px var(--green);}
.phone-btn{font-family:'Orbitron',sans-serif;font-size:7px;letter-spacing:2px;padding:4px 10px;background:rgba(0,255,65,0.1);border:1px solid var(--green);color:var(--green);cursor:pointer;transition:all 0.2s;}
.phone-btn:hover{background:rgba(0,255,65,0.2);box-shadow:0 0 10px rgba(0,255,65,0.3);}
.phone-btn.active{background:rgba(255,51,51,0.15);border-color:var(--red);color:var(--red);}
.phone-body{display:flex;flex:1;overflow:hidden;}
/* SAT IMAGE */
.sat-view{flex:1;position:relative;overflow:hidden;background:#000;}
canvas#satCanvas{position:absolute;inset:0;width:100%;height:100%;}
.sat-overlay{position:absolute;inset:0;pointer-events:none;}
.sat-grid-over{position:absolute;inset:0;background-image:linear-gradient(rgba(0,255,65,0.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,65,0.07) 1px,transparent 1px);background-size:30px 30px;}
.reticle{position:absolute;width:80px;height:80px;transform:translate(-50%,-50%);pointer-events:none;transition:left 0.8s cubic-bezier(0.25,0.46,0.45,0.94),top 0.8s cubic-bezier(0.25,0.46,0.45,0.94);}
.reticle-ring{position:absolute;inset:0;border:1px solid var(--red);border-radius:50%;animation:rotateSlow 8s linear infinite;}
.reticle-ring2{position:absolute;inset:8px;border:1px solid rgba(255,51,51,0.5);border-radius:50%;animation:rotateSlow 5s linear infinite reverse;}
.reticle-cross::before,.reticle-cross::after{content:'';position:absolute;background:var(--red);opacity:0.8;}
.reticle-cross::before{width:1px;height:80px;left:50%;top:0;margin-left:0;}
.reticle-cross::after{width:80px;height:1px;top:50%;left:0;margin-top:0;}
.reticle-dot{position:absolute;width:6px;height:6px;background:var(--red);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px var(--red),0 0 24px var(--red);animation:pulse 0.8s ease-in-out infinite;}
.reticle-ping{position:absolute;inset:-15px;border-radius:50%;border:1px solid var(--red);animation:sonarOut 2s ease-out infinite;opacity:0;}
.reticle-ping2{position:absolute;inset:-30px;border-radius:50%;border:1px solid rgba(255,51,51,0.4);animation:sonarOut 2s ease-out infinite 0.6s;opacity:0;}
.scan-sweep{position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,rgba(0,255,65,0.5),transparent);animation:sweepDown 3s linear infinite;}
.sat-info-overlay{position:absolute;top:8px;left:8px;font-size:8px;color:rgba(0,255,65,0.7);line-height:1.8;}
.sat-info-br{position:absolute;bottom:8px;right:8px;font-size:8px;color:rgba(0,212,255,0.7);text-align:right;line-height:1.8;}
.sat-info-bl{position:absolute;bottom:8px;left:8px;font-size:8px;color:rgba(0,255,65,0.7);line-height:1.8;}
.zoom-box{position:absolute;top:8px;right:8px;width:90px;height:90px;border:1px solid var(--cyan);overflow:hidden;background:rgba(0,0,0,0.6);}
canvas#zoomCanvas{width:100%;height:100%;}
.zoom-label{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:7px;color:var(--cyan);background:rgba(0,0,0,0.7);padding:1px;}
/* PHONE DATA PANEL */
.phone-data{width:210px;border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;}
.pd-section{border-bottom:1px solid rgba(0,255,65,0.1);padding:6px 9px;}
.pd-title{font-family:'Orbitron',sans-serif;font-size:7px;letter-spacing:2px;color:var(--cyan);margin-bottom:5px;}
.pd-row{display:flex;justify-content:space-between;font-size:9px;padding:1.5px 0;}
.pd-key{color:var(--text-dim);}
.pd-val{color:var(--green);text-align:right;}
.pd-val.red{color:var(--red);}
.pd-val.orange{color:var(--orange);}
.pd-val.cyan{color:var(--cyan);}
.signal-meter{display:flex;align-items:flex-end;gap:2px;height:20px;padding:2px 0;}
.sm-bar{width:8px;background:var(--green);box-shadow:0 0 3px var(--green);}
.tri-viz{padding:4px 9px;height:70px;position:relative;}
canvas#triCanvas{width:100%;height:100%;}
.imei-stream{padding:4px 9px;flex:1;overflow:hidden;}
.imei-line{font-size:8px;color:var(--text-dim);line-height:1.5;font-family:'VT323',monospace;font-size:11px;}
.imei-line.active{color:var(--green);}
/* ======= MAP PANEL ======= */
.p-map{grid-column:3;grid-row:1;}
.map-c{position:relative;width:100%;height:calc(100% - 26px);overflow:hidden;}
.map-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(0,255,65,0.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,65,0.07) 1px,transparent 1px);background-size:35px 35px;}
.continent{position:absolute;border:1px solid rgba(0,255,65,0.18);background:rgba(0,255,65,0.04);}
.c1{top:20%;left:5%;width:17%;height:34%;border-radius:30% 20% 40% 20%;}
.c2{top:14%;left:24%;width:11%;height:38%;border-radius:20%;}
.c3{top:9%;left:36%;width:20%;height:43%;border-radius:15% 25% 20% 30%;}
.c4{top:54%;left:37%;width:7%;height:23%;border-radius:20%;}
.c5{top:11%;left:58%;width:26%;height:48%;border-radius:20% 30% 25% 15%;}
.c6{top:62%;left:9%;width:15%;height:20%;border-radius:30%;}
.c7{top:60%;left:60%;width:17%;height:26%;border-radius:20% 30%;}
.m-label{position:absolute;font-size:7px;color:rgba(0,212,255,0.6);letter-spacing:1px;}
.ping{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red);transform:translate(-50%,-50%);}
.ping::before{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--red);animation:sonarOut 2s ease-out infinite;}
.ping::after{content:'';position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(255,51,51,0.4);animation:sonarOut 2s ease-out infinite 0.5s;}
.pingc{background:var(--cyan);box-shadow:0 0 8px var(--cyan);}
.pingc::before{border-color:var(--cyan);}
.pingc::after{border-color:rgba(0,212,255,0.4);}
.scan-h{position:absolute;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(0,255,65,0.5),transparent);animation:sweepDown 4s linear infinite;}
/* ======= RIGHT COLUMN ======= */
.p-right{grid-column:4;grid-row:1;display:flex;flex-direction:column;gap:3px;}
.mini{background:var(--panel);border:1px solid var(--border);position:relative;overflow:hidden;}
.face-area{display:flex;align-items:center;padding:7px 9px;gap:10px;}
.face-box{width:75px;height:90px;border:1px solid var(--green);position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.face-box::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,255,65,0.1),transparent,rgba(0,255,65,0.1));}
.face-sb{position:absolute;width:100%;height:2px;background:rgba(0,255,65,0.6);box-shadow:0 0 6px var(--green);animation:sweepDown 2.5s linear infinite;}
.fc-tl,.fc-tr,.fc-bl,.fc-br{position:absolute;width:10px;height:10px;border-color:var(--cyan);border-style:solid;}
.fc-tl{top:0;left:0;border-width:2px 0 0 2px;}
.fc-tr{top:0;right:0;border-width:2px 2px 0 0;}
.fc-bl{bottom:0;left:0;border-width:0 0 2px 2px;}
.fc-br{bottom:0;right:0;border-width:0 2px 2px 0;}
.face-ico{font-size:36px;opacity:0.7;filter:drop-shadow(0 0 5px var(--green));}
.face-info{flex:1;}
.fi-conf{font-family:'Orbitron',sans-serif;font-size:22px;font-weight:700;color:var(--green);text-shadow:0 0 10px var(--green);}
.fi-lbl{font-size:7px;color:var(--text-dim);letter-spacing:2px;}
.fi-name{font-size:11px;color:var(--cyan);margin-top:3px;}
.fi-sub{font-size:8px;color:var(--text-dim);}
.fi-warn{font-size:8px;color:var(--red);margin-top:2px;}
.sig-area{padding:3px 8px 5px;}
canvas#sigCanvas{width:100%;height:45px;}
.crypto-area{padding:3px 8px;flex:1;overflow:hidden;font-family:'VT323',monospace;font-size:12px;color:var(--green-dim);line-height:1.4;}
.stat-r{display:flex;align-items:center;padding:3px 9px;border-bottom:1px solid rgba(0,255,65,0.07);gap:7px;}
.stat-lbl{font-size:8px;color:var(--text-dim);width:72px;flex-shrink:0;}
.stat-bw{flex:1;height:4px;background:rgba(0,255,65,0.08);border:1px solid rgba(0,255,65,0.12);}
.stat-bf{height:100%;background:var(--green);box-shadow:0 0 4px var(--green);}
.stat-bf.o{background:var(--orange);box-shadow:0 0 4px var(--orange);}
.stat-bf.r{background:var(--red);box-shadow:0 0 4px var(--red);}
.stat-v{font-size:9px;color:var(--green);width:32px;text-align:right;}
/* BOTTOM */
.p-bottom{grid-column:1 / 5;grid-row:2;display:flex;gap:3px;overflow:hidden;}
.p-term{flex:1.2;}
.p-log{flex:0.8;}
.p-sys{width:280px;}
.term-out{height:calc(100% - 26px);overflow-y:auto;padding:4px 9px;font-size:9.5px;line-height:1.6;}
.term-out::-webkit-scrollbar{width:3px;}
.term-out::-webkit-scrollbar-thumb{background:var(--border);}
.t-p{color:var(--cyan);}
.t-c{color:var(--green);}
.t-o{color:var(--text-dim);}
.t-ok{color:#00ff41;}
.t-er{color:var(--red);}
.t-w{color:var(--orange);}
.log-body{height:calc(100% - 26px);overflow:hidden;padding:3px 7px;}
.log-item{display:flex;gap:6px;font-size:8.5px;padding:2.5px 0;border-bottom:1px solid rgba(0,255,65,0.05);}
.li-t{color:var(--cyan);flex-shrink:0;font-size:8px;}
.li-tp{flex-shrink:0;font-size:8px;}
.tp-a{color:var(--red);}
.tp-i{color:var(--green);}
.tp-w{color:var(--orange);}
.li-msg{color:var(--text-dim);}
/* TICKER */
.ticker{position:fixed;bottom:0;left:0;right:0;height:20px;background:rgba(0,0,0,0.85);border-top:1px solid rgba(255,51,51,0.35);display:flex;align-items:center;z-index:200;overflow:hidden;}
.tick-lbl{background:var(--red);color:#000;font-family:'Orbitron',sans-serif;font-size:7px;font-weight:700;padding:0 8px;height:100%;display:flex;align-items:center;letter-spacing:1px;flex-shrink:0;}
.tick-wrap{flex:1;overflow:hidden;}
.tick-inner{display:flex;animation:tickScroll 40s linear infinite;white-space:nowrap;font-size:8.5px;color:rgba(255,255,255,0.65);}
.ti{margin-right:60px;}.ti .r{color:var(--red);}.ti .o{color:var(--orange);}.ti .c{color:var(--cyan);}
/* PHONE TRACKING STATUS BAR */
.track-status{display:flex;align-items:center;gap:10px;padding:4px 10px;border-bottom:1px solid var(--border);background:rgba(0,0,0,0.5);font-size:8px;}
.ts-item{display:flex;align-items:center;gap:4px;}
.ts-bar{width:60px;height:3px;background:rgba(0,255,65,0.1);border:1px solid rgba(0,255,65,0.2);}
.ts-fill{height:100%;background:var(--green);box-shadow:0 0 3px var(--green);transition:width 0.5s;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(0.85)}}
@keyframes sonarOut{0%{transform:scale(0.5);opacity:0.9}100%{transform:scale(3);opacity:0}}
@keyframes sweepDown{0%{top:-3px}100%{top:100%}}
@keyframes rotateSlow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes tickScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
</style>
</head>
<body>
<!-- HEADER -->
<div class="hdr">
<div class="logo-wrap">
<div class="logo">BN-<span>NUSANTARA</span></div>
<div class="badge">RAHASIA NEGARA</div>
<div class="badge2">LEVEL-5 ACCESS</div>
<div style="font-size:8px;color:var(--text-dim)">UNIT: <span style="color:var(--green)">GARUDA-OPS</span></div>
</div>
<div class="hdr-center">
<div class="hdr-title">SISTEM INTELIJEN NASIONAL TERPADU</div>
<div class="hdr-sub">BADAN NUSANTARA — PLATFORM PENGAWASAN STRATEGIS v9.1.4 — TERENKRIPSI AES-1024</div>
</div>
<div class="hdr-right">
<div>
<div class="clock" id="clock">00:00:00</div>
<div class="clock-d" id="clockd">01 JAN 2047 // WIB</div>
</div>
<div class="stt" style="text-align:right;line-height:1.8;">
<div><span class="dot"></span>UPLINK: AKTIF</div>
<div><span class="dot r"></span>ANCAMAN: TINGGI</div>
<div><span class="dot o"></span>SAT: GARUDA-3</div>
</div>
</div>
</div>
<!-- LAYOUT -->
<div class="layout">
<!-- ===== PHONE TRACKER ===== -->
<div class="panel p-phone">
<div class="corner c-tl"></div><div class="corner c-tr"></div>
<div class="corner c-bl"></div><div class="corner c-br"></div>
<div class="ph">
<span>▶ PELACAK LOKASI — CITRA SATELIT REAL-TIME</span>
<span class="ph-r">SAT: GARUDA-3 | RES: 0.15m/px | KETINGGIAN: 412km</span>
</div>
<!-- Phone Input -->
<div class="phone-input-bar">
<span class="phone-label">▌ NOMOR TARGET :</span>
<span class="phone-field" id="phoneDisplay">+62 812-3456-7890</span>
<div style="font-size:8px;color:var(--text-dim);border-left:1px solid var(--border);padding-left:8px;">
<div>OPERATOR: <span style="color:var(--cyan)" id="opName">TELKOMSEL</span></div>
<div>IMSI: <span id="imsiVal">510100847321094</span></div>
</div>
<button class="phone-btn active" id="trackBtn" onclick="toggleTracking()">■ LACAK AKTIF</button>
</div>
<!-- Status Bar -->
<div class="track-status">
<div class="ts-item"><span style="color:var(--text-dim)">TRIANGULASI:</span>
<div class="ts-bar"><div class="ts-fill" id="triBar" style="width:92%"></div></div>
<span style="color:var(--green)" id="triPct">92%</span>
</div>
<div class="ts-item"><span style="color:var(--text-dim)">SINYAL BTS:</span>
<div class="ts-bar"><div class="ts-fill" id="btsBar" style="width:78%"></div></div>
<span style="color:var(--green)" id="btsPct">78%</span>
</div>
<div class="ts-item"><span style="color:var(--text-dim)">GPS LOCK:</span>
<div class="ts-bar"><div class="ts-fill" style="width:100%"></div></div>
<span style="color:var(--green)">TERKUNCI</span>
</div>
<div style="margin-left:auto;font-size:8px;color:var(--text-dim)">
AKURASI: <span id="accuracy" style="color:var(--green)">±2.3m</span> |
UPDATE: <span id="lastUpdate" style="color:var(--cyan)">0.3 dtk</span>
</div>
</div>
<!-- Body -->
<div class="phone-body">
<!-- SAT VIEW -->
<div class="sat-view">
<canvas id="satCanvas"></canvas>
<div class="sat-overlay">
<div class="sat-grid-over"></div>
<div class="scan-sweep"></div>
</div>
<!-- RETICLE -->
<div class="reticle" id="reticle" style="left:50%;top:50%;">
<div class="reticle-ring"></div>
<div class="reticle-ring2"></div>
<div class="reticle-cross"></div>
<div class="reticle-dot"></div>
<div class="reticle-ping"></div>
<div class="reticle-ping2"></div>
</div>
<!-- ZOOM BOX -->
<div class="zoom-box">
<canvas id="zoomCanvas" width="90" height="90"></canvas>
<div class="zoom-label">ZOOM 32x</div>
</div>
<!-- Overlays -->
<div class="sat-info-overlay">
<div>SAT: <span style="color:var(--cyan)">GARUDA-3 ▲</span></div>
<div>MODE: <span style="color:var(--green)">MULTISPEKTRAL</span></div>
<div>BAND: NIR/RGB/SWIR</div>
<div id="satCoord">LAT: -6.2088° | LON: 106.8456°</div>
<div>KECEPATAN: <span id="targetSpeed" style="color:var(--orange)">34 km/j</span></div>
</div>
<div class="sat-info-br">
<div>PROJ: UTM ZONE 49S</div>
<div>DATUM: WGS-84</div>
<div>GRID: <span style="color:var(--green)">49MBV</span></div>
<div id="satTime">T: 03:47:22Z</div>
</div>
<div class="sat-info-bl">
<div style="color:var(--red);">⬤ TARGET TERKUNCI</div>
<div>AZIMUTH: <span id="azimuth" style="color:var(--cyan)">127.4°</span></div>
<div>ELEVASI: <span id="elevation" style="color:var(--cyan)">412.3 km</span></div>
</div>
<!-- Measurement lines -->
<svg style="position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none">
<line id="measLine1" x1="0" y1="50%" x2="100%" y2="50%" stroke="rgba(0,255,65,0.1)" stroke-width="0.5" stroke-dasharray="6,6"/>
<line id="measLine2" x1="50%" y1="0" x2="50%" y2="100%" stroke="rgba(0,255,65,0.1)" stroke-width="0.5" stroke-dasharray="6,6"/>
<text x="2%" y="49%" fill="rgba(0,255,65,0.4)" font-size="8" font-family="Share Tech Mono">W</text>
<text x="96%" y="49%" fill="rgba(0,255,65,0.4)" font-size="8" font-family="Share Tech Mono">E</text>
<text x="49%" y="12px" fill="rgba(0,255,65,0.4)" font-size="8" font-family="Share Tech Mono">N</text>
<text x="49%" y="99%" fill="rgba(0,255,65,0.4)" font-size="8" font-family="Share Tech Mono">S</text>
</svg>
</div>
<!-- PHONE DATA -->
<div class="phone-data">
<div class="pd-section">
<div class="pd-title">◈ IDENTITAS PERANGKAT</div>
<div class="pd-row"><span class="pd-key">NOMOR</span><span class="pd-val cyan">+62 812-3456-7890</span></div>
<div class="pd-row"><span class="pd-key">IMEI</span><span class="pd-val" id="imeiDisp">357841091234567</span></div>
<div class="pd-row"><span class="pd-key">PERANGKAT</span><span class="pd-val">Samsung A54</span></div>
<div class="pd-row"><span class="pd-key">OS</span><span class="pd-val">Android 14.2</span></div>
<div class="pd-row"><span class="pd-key">OPERATOR</span><span class="pd-val cyan">TELKOMSEL</span></div>
<div class="pd-row"><span class="pd-key">JARINGAN</span><span class="pd-val">5G-NR B40</span></div>
<div class="pd-row"><span class="pd-key">ENKRIPSI</span><span class="pd-val red">DILANGGAR ✓</span></div>
</div>
<div class="pd-section">
<div class="pd-title">◈ LOKASI REAL-TIME</div>
<div class="pd-row"><span class="pd-key">LINTANG</span><span class="pd-val" id="pdLat">-6.2088°</span></div>
<div class="pd-row"><span class="pd-key">BUJUR</span><span class="pd-val" id="pdLon">106.8456°</span></div>
<div class="pd-row"><span class="pd-key">KETINGGIAN</span><span class="pd-val" id="pdAlt">+14m</span></div>
<div class="pd-row"><span class="pd-key">AKURASI</span><span class="pd-val cyan">±2.3m</span></div>
<div class="pd-row"><span class="pd-key">WILAYAH</span><span class="pd-val">JAKARTA PUSAT</span></div>
<div class="pd-row"><span class="pd-key">KECEPATAN</span><span class="pd-val orange" id="pdSpeed">34 km/j</span></div>
<div class="pd-row"><span class="pd-key">HEADING</span><span class="pd-val" id="pdHead">127° SE</span></div>
</div>
<div class="pd-section">
<div class="pd-title">◈ BTS TRIANGULASI</div>
<div class="pd-row"><span class="pd-key">MENARA-1</span>
<div style="flex:1;margin:0 4px;height:3px;background:rgba(0,255,65,0.1);position:relative;top:2px;"><div style="height:100%;width:92%;background:var(--green);"></div></div>
<span class="pd-val">-67dBm</span>
</div>
<div class="pd-row"><span class="pd-key">MENARA-2</span>
<div style="flex:1;margin:0 4px;height:3px;background:rgba(0,255,65,0.1);position:relative;top:2px;"><div style="height:100%;width:74%;background:var(--orange);"></div></div>
<span class="pd-val orange">-81dBm</span>
</div>
<div class="pd-row"><span class="pd-key">MENARA-3</span>
<div style="flex:1;margin:0 4px;height:3px;background:rgba(0,255,65,0.1);position:relative;top:2px;"><div style="height:100%;width:55%;background:var(--red);"></div></div>
<span class="pd-val red">-93dBm</span>
</div>
<div class="pd-row" style="margin-top:3px;"><span class="pd-key">CELL-ID</span><span class="pd-val cyan" id="cellId">510-10-3421-7891</span></div>
<div class="pd-row"><span class="pd-key">LAC</span><span class="pd-val" id="lacVal">3421</span></div>
</div>
<div class="pd-section" style="flex:1">
<div class="pd-title">◈ AKTIVITAS JARINGAN</div>
<canvas id="triCanvas" width="180" height="55" style="width:100%;height:55px;"></canvas>
<div id="imeiStream" style="margin-top:4px;font-family:'VT323',monospace;font-size:10px;color:var(--text-dim);overflow:hidden;height:50px;"></div>
</div>
</div>
</div>
</div>
<!-- ===== GLOBAL MAP ===== -->
<div class="panel p-map">
<div class="corner c-tl"></div><div class="corner c-tr"></div>
<div class="corner c-bl"></div><div class="corner c-br"></div>
<div class="ph">
<span>▶ PETA TAKTIS GLOBAL</span>
<span class="ph-r">SAT-LINK: STABIL | 8 TARGET AKTIF</span>
</div>
<div class="map-c">
<div class="map-grid-bg"></div>
<div class="scan-h"></div>
<div class="continent c1"></div><div class="continent c2"></div>
<div class="continent c3"></div><div class="continent c4"></div>
<div class="continent c5"></div><div class="continent c6"></div>
<div class="continent c7"></div>
<div class="m-label" style="top:35%;left:5%">AMERICAS</div>
<div class="m-label" style="top:24%;left:38%">EROPA</div>
<div class="m-label" style="top:46%;left:43%">AFRIKA</div>
<div class="m-label" style="top:20%;left:62%">ASIA</div>
<div class="m-label" style="top:65%;left:66%">AUSTRALIA</div>
<!-- Indonesia marker (main) -->
<div class="ping" style="top:65%;left:75%;background:var(--yellow);box-shadow:0 0 12px var(--yellow);" title="TARGET UTAMA — INDONESIA"></div>
<div class="ping" style="top:36%;left:19%"></div>
<div class="ping" style="top:27%;left:43%"></div>
<div class="ping" style="top:22%;left:69%"></div>
<div class="ping pingc" style="top:38%;left:14%"></div>
<div class="ping pingc" style="top:30%;left:58%"></div>
<div class="ping pingc" style="top:55%;left:40%"></div>
<svg style="position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none">
<line x1="19%" y1="36%" x2="43%" y2="27%" stroke="rgba(0,255,65,0.25)" stroke-width="0.5" stroke-dasharray="4,4"><animate attributeName="stroke-dashoffset" from="0" to="-8" dur="1s" repeatCount="indefinite"/></line>
<line x1="43%" y1="27%" x2="69%" y2="22%" stroke="rgba(0,255,65,0.25)" stroke-width="0.5" stroke-dasharray="4,4"><animate attributeName="stroke-dashoffset" from="0" to="-8" dur="0.9s" repeatCount="indefinite"/></line>
<line x1="69%" y1="22%" x2="75%" y2="65%" stroke="rgba(255,230,0,0.4)" stroke-width="1" stroke-dasharray="3,3"><animate attributeName="stroke-dashoffset" from="0" to="-6" dur="0.7s" repeatCount="indefinite"/></line>
<circle r="3" fill="var(--cyan)" opacity="0.9"><animateMotion dur="14s" repeatCount="indefinite"><mpath><path d="M 8% 50% Q 25% 5% 50% 50% Q 75% 95% 92% 50% Q 75% 5% 50% 50% Q 25% 95% 8% 50%"/></mpath></animateMotion></circle>
<ellipse cx="50%" cy="50%" rx="46%" ry="25%" stroke="rgba(0,255,65,0.05)" stroke-width="1" fill="none" stroke-dasharray="8,4"/>
</svg>
<div style="position:absolute;bottom:5px;left:8px;font-size:7px;color:var(--text-dim)">
● <span style="color:var(--yellow)">TARGET UTAMA</span> ● <span style="color:var(--red)">ANCAMAN</span> ● <span style="color:var(--cyan)">ASET</span>
</div>
</div>
</div>
<!-- ===== RIGHT COLUMN ===== -->
<div class="p-right">
<div class="corner c-tl" style="position:absolute;top:0;left:0;"></div>
<!-- FACE REC -->
<div class="mini" style="flex:0 0 auto">
<div class="ph"><span>▶ ANALISIS BIOMETRIK</span><span class="ph-r"><span class="dot" style="width:5px;height:5px;margin-right:2px"></span>LIVE</span></div>
<div class="face-area">
<div class="face-box">
<div class="fc-tl"></div><div class="fc-tr"></div><div class="fc-bl"></div><div class="fc-br"></div>
<div class="face-sb"></div>
<div class="face-ico">👤</div>
</div>
<div class="face-info">
<div class="fi-lbl">KEYAKINAN KECOCOKAN</div>
<div class="fi-conf" id="faceMatch">96.7%</div>
<div class="fi-lbl" style="margin-top:5px;">IDENTITAS TERVERIFIKASI</div>
<div class="fi-name">DARANA GUNTARA</div>
<div class="fi-sub">NIK: 3175081209880003</div>
<div class="fi-sub">ASAL:BANDUNG</div>
<div class="fi-warn">⚠ a— ASEET BIN TIER-1</div>
</div>
</div>
</div>
<!-- RF SIGNAL -->
<div class="mini" style="flex:0 0 auto">
<div class="ph"><span>▶ INTERSEPSI SINYAL RF</span><span class="ph-r">FREK: <span id="freq">2.48</span> GHz</span></div>
<div class="sig-area"><canvas id="sigCanvas" width="240" height="45"></canvas></div>
</div>
<!-- CRYPTO -->
<div class="mini" style="flex:1;overflow:hidden">
<div class="ph"><span>▶ MESIN DEKRIPSI</span><span class="ph-r">AES-1024 • AKTIF</span></div>
<div class="crypto-area" id="cryptoArea"></div>
</div>
<!-- SYSTEM -->
<div class="mini" style="flex:0 0 auto">
<div class="ph"><span>▶ VITALITAS SISTEM</span><span class="ph-r">NODE: GARUDA-7</span></div>
<div class="stat-r"><div class="stat-lbl">CPU CORE-0</div><div class="stat-bw"><div class="stat-bf o" id="cpu0" style="width:81%"></div></div><div class="stat-v" id="cpu0v">81%</div></div>
<div class="stat-r"><div class="stat-lbl">MEMORI</div><div class="stat-bw"><div class="stat-bf o" id="mem" style="width:76%"></div></div><div class="stat-v" id="memv">76%</div></div>
<div class="stat-r"><div class="stat-lbl">ENKRIPSI</div><div class="stat-bw"><div class="stat-bf" style="width:100%"></div></div><div class="stat-v">100%</div></div>
<div class="stat-r"><div class="stat-lbl">UPLINK SAT</div><div class="stat-bw"><div class="stat-bf r" id="uplink" style="width:68%"></div></div><div class="stat-v" id="uplinkv">68%</div></div>
</div>
</div>
<!-- ===== BOTTOM ROW ===== -->
<div class="p-bottom">
<!-- TERMINAL -->
<div class="panel p-term">
<div class="corner c-tl"></div><div class="corner c-tr"></div>
<div class="ph"><span>▶ TERMINAL AMAN — <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="8ee9effcfbeaefceece0a3e0fbfdefe0faeffcefa0e9e1a0e7ea">[email protected]</a></span><span class="ph-r">SSH-ED25519 | TLSv1.3 | ZERO-LOG</span></div>
<div class="term-out" id="termOut">
<div><span class="t-p">garuda@bn-nusantara:~#</span> <span class="t-c">init pelacak --target=+62812345678 --mode=REALTIME</span></div>
<div><span class="t-o">[████████████████████] Menginisialisasi... SELESAI</span></div>
<div><span class="t-ok">[OK]</span> <span class="t-o">Tersambung ke satelit GARUDA-3 — orbit 412km</span></div>
<div><span class="t-ok">[OK]</span> <span class="t-o">Basis data IMSI dimuat: 287.441.093 entri</span></div>
<div><span class="t-ok">[OK]</span> <span class="t-o">Triangulasi BTS aktif: 3 menara terkunci</span></div>
<div><span class="t-p">garuda@bn-nusantara:~#</span> <span class="t-c">lacak --nomor=+62812345678 --presisi=TINGGI</span></div>
<div><span class="t-w">[INFO]</span> <span class="t-o">Target ditemukan. Kekuatan sinyal: 92%</span></div>
<div><span class="t-o">Lokasi: -6.2088°LS 106.8456°BT — bergerak 34km/j arah 127°</span></div>
</div>
</div>
<!-- ACTIVITY LOG -->
<div class="panel p-log">
<div class="corner c-tl"></div><div class="corner c-tr"></div>
<div class="ph"><span>▶ LOG AKTIVITAS REAL-TIME</span><span class="ph-r" id="logCount">128 ENTRI</span></div>
<div class="log-body" id="logBody">
<div class="log-item"><span class="li-t">03:47:22</span><span class="li-tp tp-a">[ALERT]</span><span class="li-msg">Target memasuki zona terbatas — sektor DELTA</span></div>
<div class="log-item"><span class="li-t">03:47:19</span><span class="li-tp tp-i">[INFO]</span><span class="li-msg">GPS lock diperoleh — akurasi ±2.3m</span></div>
<div class="log-item"><span class="li-t">03:47:15</span><span class="li-tp tp-w">[WARN]</span><span class="li-msg">Enkripsi perangkat dilanggar via CVE-2047-1192</span></div>
<div class="log-item"><span class="li-t">03:47:11</span><span class="li-tp tp-i">[INFO]</span><span class="li-msg">IMSI diekstrak: 510100847321094</span></div>
<div class="log-item"><span class="li-t">03:47:08</span><span class="li-tp tp-i">[INFO]</span><span class="li-msg">Triangulasi BTS selesai — 3 menara aktif</span></div>
<div class="log-item"><span class="li-t">03:47:04</span><span class="li-tp tp-a">[ALERT]</span><span class="li-msg">Pencocokan wajah: DARANA GUNTARA — 96.7%</span></div>
<div class="log-item"><span class="li-t">03:47:01</span><span class="li-tp tp-i">[INFO]</span><span class="li-msg">Satelit GARUDA-3 diposisikan ulang — cakupan +31%</span></div>
</div>
</div>
<!-- SYSTEM STATS -->
<div class="panel p-sys">
<div class="corner c-tl"></div><div class="corner c-tr"></div>
<div class="ph"><span>▶ STATISTIK JARINGAN</span><span class="ph-r">LIVE</span></div>
<div style="padding:4px 9px;font-size:8px;color:var(--text-dim);border-bottom:1px solid rgba(0,255,65,0.08);">
TRANSFER DATA: <span id="dataXfer" style="color:var(--green)">4.7 GB</span> / SESI | PAKET: <span id="packetCount" style="color:var(--cyan)">847,291</span>
</div>
<div class="stat-r"><div class="stat-lbl">BANDWIDTH IN</div><div class="stat-bw"><div class="stat-bf" id="bwin" style="width:62%"></div></div><div class="stat-v" id="bwinv">3.2Gb</div></div>
<div class="stat-r"><div class="stat-lbl">BANDWIDTH OUT</div><div class="stat-bw"><div class="stat-bf" id="bwout" style="width:45%"></div></div><div class="stat-v" id="bwoutv">1.8Gb</div></div>
<div class="stat-r"><div class="stat-lbl">LATENSI SAT</div><div class="stat-bw"><div class="stat-bf o" id="lat" style="width:30%"></div></div><div class="stat-v" id="latv">87ms</div></div>
<div class="stat-r"><div class="stat-lbl">KEAMANAN VPN</div><div class="stat-bw"><div class="stat-bf" style="width:100%"></div></div><div class="stat-v">AES</div></div>
<div class="stat-r"><div class="stat-lbl">INTERSEPSI</div><div class="stat-bw"><div class="stat-bf r" id="intcpt" style="width:71%"></div></div><div class="stat-v" id="intcptv">71%</div></div>
</div>
</div>
</div>
<!-- ALERT TICKER -->
<div class="ticker">
<div class="tick-lbl">⚠ SIAGA</div>
<div class="tick-wrap">
<div class="tick-inner">
<span class="ti"><span class="r">● PRIORITAS-1:</span> Target DARANA GUNTARA bergerak menuju zona terbatas — Tim ALPHA standby</span>
<span class="ti"><span class="o">● INTEL:</span> Transmisi terenkripsi terdeteksi pada 2.4GHz — dekripsi sedang berjalan</span>
<span class="ti"><span class="c">● UPDATE:</span> Satelit GARUDA-3 diposisikan ulang — cakupan diperluas 31%</span>
<span class="ti"><span class="r">● ANCAMAN:</span> Konvoi kendaraan tidak dikenal terdeteksi — grid ref: 49MBV-7741</span>
<span class="ti"><span class="o">● SIAGA:</span> Sinyal nomor +62 819-XXXX-4421 hilang pada 03:38:17Z — lokasi terakhir: Jakarta Selatan</span>
<span class="ti"><span class="c">● SISTEM:</span> Pencocokan biometrik selesai — keyakinan 96.7% — GUNTARA, D.</span>
<span class="ti"><span class="r">● DARURAT:</span> Deteksi upaya enkripsi ulang perangkat target — kontra-tindakan diaktifkan</span>
<span class="ti"><span class="o">● INTEL:</span> Analisis pola perjalanan 30 hari telah selesai — laporan tersedia</span>
<span class="ti"><span class="r">● PRIORITAS-1:</span> Target DARANA GUNTARA bergerak menuju zona terbatas — Tim ALPHA standby</span>
<span class="ti"><span class="o">● INTEL:</span> Transmisi terenkripsi terdeteksi pada 2.4GHz — dekripsi sedang berjalan</span>
<span class="ti"><span class="c">● UPDATE:</span> Satelit GARUDA-3 diposisikan ulang — cakupan diperluas 31%</span>
<span class="ti"><span class="r">● ANCAMAN:</span> Konvoi kendaraan tidak dikenal terdeteksi — grid ref: 49MBV-7741</span>
<span class="ti"><span class="o">● SIAGA:</span> Sinyal nomor +62 819-XXXX-4421 hilang pada 03:38:17Z — lokasi terakhir: Jakarta Selatan</span>
<span class="ti"><span class="c">● SISTEM:</span> Pencocokan biometrik selesai — keyakinan 96.7% — GUNTARA, D.</span>
<span class="ti"><span class="r">● DARURAT:</span> Deteksi upaya enkripsi ulang perangkat target — kontra-tindakan diaktifkan</span>
<span class="ti"><span class="o">● INTEL:</span> Analisis pola perjalanan 30 hari telah selesai — laporan tersedia</span>
</div>
</div>
</div>
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
// ===== CLOCK =====
function updateClock(){
const n=new Date();
const h=String(n.getHours()).padStart(2,'0');
const m=String(n.getMinutes()).padStart(2,'0');
const s=String(n.getSeconds()).padStart(2,'0');
document.getElementById('clock').textContent=h+':'+m+':'+s;
const mn=['JAN','FEB','MAR','APR','MEI','JUN','JUL','AGS','SEP','OKT','NOV','DES'];
document.getElementById('clockd').textContent=String(n.getDate()).padStart(2,'0')+' '+mn[n.getMonth()]+' 2047 // WIB';
document.getElementById('satTime').textContent='T: '+h+':'+m+':'+s+'Z';
}
setInterval(updateClock,1000);updateClock();
// ===== SATELLITE CANVAS =====
const satC=document.getElementById('satCanvas');
const satCtx=satC.getContext('2d');
function resizeSat(){satC.width=satC.parentElement.offsetWidth;satC.height=satC.parentElement.offsetHeight;}
resizeSat();
window.addEventListener('resize',resizeSat);
// Generate fake "satellite" terrain
let terrainOffset=0;
let noiseData=[];
function initNoise(){
noiseData=[];
for(let i=0;i<512;i++){noiseData.push([]);for(let j=0;j<512;j++)noiseData[i].push(Math.random());}
}
initNoise();
function smoothNoise(x,y){
const ix=Math.floor(x)%512;const iy=Math.floor(y)%512;
const fx=x-Math.floor(x);const fy=y-Math.floor(y);
const a=noiseData[iy][ix]||0;
const b=noiseData[iy][(ix+1)%512]||0;
const c=noiseData[(iy+1)%512][ix]||0;
const d=noiseData[(iy+1)%512][(ix+1)%512]||0;
return a*(1-fx)*(1-fy)+b*fx*(1-fy)+c*(1-fx)*fy+d*fx*fy;
}
let targetX=0.5, targetY=0.5, currentX=0.5, currentY=0.5;
let moveTimer=0;
function drawSatellite(){
const w=satC.width, h=satC.height;
if(!w||!h) return;
// Move target slowly
moveTimer++;
if(moveTimer>120){
moveTimer=0;
targetX=0.25+Math.random()*0.5;
targetY=0.25+Math.random()*0.5;
}
currentX+=(targetX-currentX)*0.008;
currentY+=(targetY-currentY)*0.008;
terrainOffset+=0.3;
// Draw fake satellite terrain
const imgData=satCtx.createImageData(w,h);
const d=imgData.data;
const scale=80;
const cx=currentX*512, cy=currentY*512;
for(let y=0;y<h;y++){
for(let x=0;x<w;x++){
const nx=(cx+x/w*scale);
const ny=(cy+y/h*scale);
let v=smoothNoise(nx,ny)*0.5+smoothNoise(nx*2,ny*2)*0.25+smoothNoise(nx*4,ny*4)*0.125+smoothNoise(nx*8,ny*8)*0.0625;
v=v/0.9375;
const i=(y*w+x)*4;
if(v<0.35){ // water/dark
d[i]=Math.floor(v*20);d[i+1]=Math.floor(30+v*40);d[i+2]=Math.floor(20+v*30);
} else if(v<0.45){ // shallow
d[i]=Math.floor(20+v*30);d[i+1]=Math.floor(40+v*50);d[i+2]=Math.floor(25+v*20);
} else if(v<0.65){ // land/green
d[i]=Math.floor(10+v*40);d[i+1]=Math.floor(30+v*60);d[i+2]=Math.floor(10+v*20);
} else if(v<0.78){ // urban
d[i]=Math.floor(v*80);d[i+1]=Math.floor(v*80);d[i+2]=Math.floor(v*60);
} else { // bright urban/roads
d[i]=Math.floor(v*120);d[i+1]=Math.floor(v*100);d[i+2]=Math.floor(v*70);
}
d[i+3]=255;
}
}
satCtx.putImageData(imgData,0,0);
// Overlay green tint
satCtx.fillStyle='rgba(0,40,0,0.3)';
satCtx.fillRect(0,0,w,h);
// Road-like lines
satCtx.strokeStyle='rgba(100,100,60,0.4)';
satCtx.lineWidth=1;
for(let i=0;i<8;i++){
satCtx.beginPath();
const rx=Math.sin(i*1.3+terrainOffset*0.02)*w;
satCtx.moveTo(rx%w,0);satCtx.lineTo((rx+50)%w,h);
satCtx.stroke();
}
// Update reticle position
const rx=currentX*w, ry=currentY*h;
const ret=document.getElementById('reticle');
ret.style.left=rx+'px';ret.style.top=ry+'px';
// Draw zoom canvas
drawZoom(w,h,rx,ry);
}
function drawZoom(sw,sh,cx,cy){
const zc=document.getElementById('zoomCanvas');
const zx=zc.getContext('2d');
const zw=90,zh=90;
const zr=20;
const sx=Math.max(0,Math.min(sw-zr*2,cx-zr));
const sy=Math.max(0,Math.min(sh-zr*2,cy-zr));
zx.drawImage(satC,sx,sy,zr*2,zr*2,0,0,zw,zh);
// Green overlay
zx.fillStyle='rgba(0,255,65,0.08)';zx.fillRect(0,0,zw,zh);
// Crosshair
zx.strokeStyle='rgba(255,51,51,0.8)';zx.lineWidth=1;
zx.beginPath();zx.moveTo(zw/2,0);zx.lineTo(zw/2,zh);zx.moveTo(0,zh/2);zx.lineTo(zw,zh/2);zx.stroke();
// Center dot
zx.fillStyle='var(--red)';
zx.beginPath();zx.arc(zw/2,zh/2,2,0,Math.PI*2);zx.fill();
}
setInterval(drawSatellite,50);
// Update coordinate display
setInterval(()=>{
const lat=(-6.2088+(currentX-0.5)*0.02).toFixed(4);
const lon=(106.8456+(currentY-0.5)*0.02).toFixed(4);
document.getElementById('satCoord').textContent='LAT: '+lat+'° | LON: '+lon+'°';
document.getElementById('pdLat').textContent=lat+'°';
document.getElementById('pdLon').textContent=lon+'°';
document.getElementById('pdAlt').textContent='+'+Math.floor(10+Math.random()*20)+'m';
const spd=Math.floor(28+Math.random()*20);
document.getElementById('pdSpeed').textContent=spd+' km/j';
document.getElementById('targetSpeed').textContent=spd+' km/j';
const hdg=Math.floor(100+Math.random()*60);
const dirs=['N','NE','E','SE','S','SW','W','NW'];
document.getElementById('pdHead').textContent=hdg+'° '+dirs[Math.round(hdg/45)%8];
document.getElementById('azimuth').textContent=hdg+'.'+Math.floor(Math.random()*9)+'°';
document.getElementById('accuracy').textContent='±'+( 1.8+Math.random()*2).toFixed(1)+'m';
},800);
// ===== SIGNAL CANVAS =====
const sigC=document.getElementById('sigCanvas');
const sigX=sigC.getContext('2d');
let sigD=Array.from({length:100},()=>Math.random()*20+5);
function drawSig(){
sigC.width=sigC.parentElement.offsetWidth||240;
sigX.clearRect(0,0,sigC.width,sigC.height);
sigD.push(Math.random()*35+5+(Math.random()>0.93?Math.random()*25:0));
sigD.shift();
const w=sigC.width,h=sigC.height;
sigX.strokeStyle='#00ff41';sigX.lineWidth=1;sigX.shadowColor='#00ff41';sigX.shadowBlur=4;
sigX.beginPath();
sigD.forEach((v,i)=>{const x=(i/sigD.length)*w;const y=h-(v/70)*h;i===0?sigX.moveTo(x,y):sigX.lineTo(x,y);});
sigX.stroke();
sigX.fillStyle='rgba(0,255,65,0.06)';sigX.lineTo(w,h);sigX.lineTo(0,h);sigX.fill();
}
setInterval(drawSig,80);
// ===== TRIANGULATION CANVAS =====
const triC=document.getElementById('triCanvas');
const triX=triC.getContext('2d');
let triAngle=0;
function drawTri(){
const w=triC.width,h=55;triC.height=h;
triX.clearRect(0,0,w,h);
triAngle+=0.05;
const towers=[[w*0.15,h*0.85],[w*0.85,h*0.85],[w*0.5,h*0.15]];
const target=[w/2+Math.sin(triAngle)*20,h/2+Math.cos(triAngle*0.7)*10];
towers.forEach((t,i)=>{
triX.strokeStyle=['rgba(0,255,65,0.5)','rgba(255,140,0,0.5)','rgba(255,51,51,0.5)'][i];
triX.lineWidth=0.5;
triX.setLineDash([3,3]);
triX.beginPath();triX.moveTo(t[0],t[1]);triX.lineTo(target[0],target[1]);triX.stroke();
triX.setLineDash([]);
triX.fillStyle=['#00ff41','#ff8c00','#ff3333'][i];
triX.beginPath();triX.arc(t[0],t[1],3,0,Math.PI*2);triX.fill();
});
triX.fillStyle='var(--red)';triX.shadowColor='var(--red)';triX.shadowBlur=8;
triX.beginPath();triX.arc(target[0],target[1],4,0,Math.PI*2);triX.fill();
triX.shadowBlur=0;
}
setInterval(drawTri,50);
// ===== CRYPTO STREAM =====
const hexC='0123456789ABCDEF';
const kw=['ALPHA','BRAVO','CIPHER','DELTA','ENCRYPT','FREQ','GHOST','HASH','INTEL','KEY','NODE','SYNC'];
let cryptoQ=[];
function genCrypto(){
const t=Math.random();
if(t<0.4){let h='';for(let i=0;i<28;i++)h+=hexC[Math.floor(Math.random()*16)];return h.match(/.{1,4}/g).join(' ');}
else if(t<0.7){return Array.from({length:5},()=>kw[Math.floor(Math.random()*kw.length)]).join(':');}
else{return '['+String(Math.floor(Math.random()*9999)).padStart(4,'0')+'] PAKET TERDEKRIPSI → '+Array.from({length:8},()=>hexC[Math.floor(Math.random()*16)]).join('');}
}
function updateCrypto(){
cryptoQ.push(genCrypto());if(cryptoQ.length>10)cryptoQ.shift();
const el=document.getElementById('cryptoArea');
el.innerHTML=cryptoQ.map((l,i)=>`<div style="opacity:${0.25+0.75*(i/cryptoQ.length)};color:${i===cryptoQ.length-1?'#00ff41':'rgba(0,255,65,0.4)'}">${l}</div>`).join('');
}
setInterval(updateCrypto,350);updateCrypto();
// ===== IMEI STREAM =====
function updateImei(){
const el=document.getElementById('imeiStream');
let lines=[];
for(let i=0;i<4;i++){
const hex=Array.from({length:16},()=>hexC[Math.floor(Math.random()*16)]).join('');
lines.push('<div class="imei-line'+(i===3?' active':'')+'">'+hex+'</div>');
}
el.innerHTML=lines.join('');
}
setInterval(updateImei,400);updateImei();
// ===== TERMINAL AUTO TYPE =====
const termLines=[
{t:'p',txt:'garuda@bn-nusantara:~#',cmd:' lacak --gps=ON --satelit=GARUDA-3'},
{t:'o',txt:'[███████████░░░░░░░░░] Mengunci GPS... 73%'},
{t:'ok',txt:'[OK]',r:' GPS LOCK diperoleh — akurasi ±2.1m'},
{t:'o',txt:'Citra satelit: RESOLUSI 0.15m/px — MULTISPEKTRAL'},
{t:'w',txt:'[WARN]',r:' Target mencoba mematikan GPS — kontra-tindakan aktif'},
{t:'ok',txt:'[OK]',r:' GPS paksa diaktifkan via eksploitasi kernel'},
{t:'p',txt:'garuda@bn-nusantara:~#',cmd:' intersepsi --imsi=510100847321094 --konten'},
{t:'o',txt:'Mengekstrak riwayat panggilan... 1.247 catatan ditemukan'},
{t:'ok',txt:'[OK]',r:' Kontak jaringan diidentifikasi: 34 nomor'},
{t:'o',txt:'Pola perjalanan 30 hari dianalisis: 7 lokasi tetap terdeteksi'},
{t:'w',txt:'[WARN]',r:' Anomali jaringan terdeteksi — kemungkinan VPN'},
{t:'ok',txt:'[OK]',r:' VPN dilanggar via fingerprinting tingkat paket'},
{t:'p',txt:'garuda@bn-nusantara:~#',cmd:' laporan --target=DARANA --ekspor=TERENKRIPSI'},
];
let termIdx=0;
function addTermLine(){
const t=document.getElementById('termOut');
if(termIdx<termLines.length){
const l=termLines[termIdx++];
const d=document.createElement('div');
if(l.t==='p')d.innerHTML=`<span class="t-p">${l.txt}</span><span class="t-c">${l.cmd||''}</span>`;
else if(l.t==='ok')d.innerHTML=`<span class="t-ok">${l.txt}</span><span class="t-o">${l.r||''}</span>`;
else if(l.t==='er')d.innerHTML=`<span class="t-er">${l.txt}</span><span class="t-o">${l.r||''}</span>`;
else if(l.t==='w')d.innerHTML=`<span class="t-w">${l.txt}</span><span class="t-o">${l.r||''}</span>`;
else d.innerHTML=`<span class="t-o">${l.txt}</span>`;
t.appendChild(d);t.scrollTop=t.scrollHeight;
} else termIdx=0;
}
setInterval(addTermLine,2500);
// ===== ACTIVITY LOG =====
const logMessages=[
{t:'[ALERT]',c:'tp-a',m:'Target memasuki zona terbatas — sektor DELTA-7'},
{t:'[INFO]',c:'tp-i',m:'Update lokasi diterima — drift ±0.8m'},
{t:'[WARN]',c:'tp-w',m:'Sinyal melemah — switching ke BTS backup'},
{t:'[INFO]',c:'tp-i',m:'Paket data diintersepsi: 847 MB'},
{t:'[ALERT]',c:'tp-a',m:'Kontak baru terdeteksi: nomor tidak dikenal'},
{t:'[INFO]',c:'tp-i',m:'Triangulasi diperbarui — akurasi meningkat'},
{t:'[WARN]',c:'tp-w',m:'Target mematikan WiFi — fallback ke selular'},
{t:'[INFO]',c:'tp-i',m:'Citra satelit diperbarui — frame baru diterima'},
];
let logCount=128;
function addLog(){
const lb=document.getElementById('logBody');
const l=logMessages[Math.floor(Math.random()*logMessages.length)];
const n=new Date();
const t=String(n.getHours()).padStart(2,'0')+':'+String(n.getMinutes()).padStart(2,'0')+':'+String(n.getSeconds()).padStart(2,'0');
const d=document.createElement('div');d.className='log-item';
d.style.animation='fadeIn 0.3s ease';
d.innerHTML=`<span class="li-t">${t}</span><span class="li-tp ${l.c}">${l.t}</span><span class="li-msg">${l.m}</span>`;
lb.insertBefore(d,lb.firstChild);
while(lb.children.length>12)lb.removeChild(lb.lastChild);
document.getElementById('logCount').textContent=++logCount+' ENTRI';
}
setInterval(addLog,3000);
// ===== STATS FLUCTUATION =====
function updateStats(){
[[['cpu0','cpu0v'],60,92,'%'],[['mem','memv'],70,88,'%'],[['uplink','uplinkv'],55,85,'%']].forEach(([ids,mn,mx,su])=>{
const v=Math.floor(Math.random()*(mx-mn)+mn);
document.getElementById(ids[0]).style.width=v+'%';
document.getElementById(ids[1]).textContent=v+su;
});
[['bwin','bwinv',2,5,'.1','Gb'],['bwout','bwoutv',1,3,'.1','Gb'],['lat','latv',60,150,'','ms'],['intcpt','intcptv',60,85,'','%']].forEach(([bi,bv,mn,mx,prec,su])=>{
const v=prec?(mn+Math.random()*(mx-mn)).toFixed(1):Math.floor(Math.random()*(mx-mn)+mn);
const pct=((v-mn)/(mx-mn)*100);
document.getElementById(bi).style.width=pct+'%';
document.getElementById(bv).textContent=v+su;
});
const dp=(4+Math.random()*2).toFixed(1);
document.getElementById('dataXfer').textContent=dp+' GB';
document.getElementById('packetCount').textContent=(800000+Math.floor(Math.random()*100000)).toLocaleString();
document.getElementById('faceMatch').textContent=(94+Math.random()*4).toFixed(1)+'%';
document.getElementById('freq').textContent=(2.3+Math.random()*0.4).toFixed(2);
const triP=Math.floor(85+Math.random()*14);
document.getElementById('triBar').style.width=triP+'%';
document.getElementById('triPct').textContent=triP+'%';
const btsP=Math.floor(70+Math.random()*20);
document.getElementById('btsBar').style.width=btsP+'%';
document.getElementById('btsPct').textContent=btsP+'%';
document.getElementById('cellId').textContent='510-10-'+Math.floor(3000+Math.random()*999)+'-'+Math.floor(7000+Math.random()*999);
document.getElementById('lastUpdate').textContent=(0.2+Math.random()*0.5).toFixed(1)+' dtk';
}
setInterval(updateStats,1800);
// ===== TOGGLE TRACKING =====
let tracking=true;
function toggleTracking(){
tracking=!tracking;
const btn=document.getElementById('trackBtn');
btn.textContent=tracking?'■ LACAK AKTIF':'▶ MULAI LACAK';
btn.className='phone-btn'+(tracking?' active':'');
}6
3
95KB
96KB
154.0ms
408.0ms
396.0ms