116 lines
5.2 KiB
HTML
116 lines
5.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>LEADERBOARDS // JAESWIFT.XYZ // HQ</title>
|
|
<meta name="description" content="Live operational leaderboards — top countries, pages, referrers, operators and peak hours on jaeswift.xyz">
|
|
<link rel="icon" type="image/x-icon" href="/favicon.ico">
|
|
<link rel="stylesheet" href="/css/style.css">
|
|
<link rel="stylesheet" href="/css/section.css">
|
|
<link rel="stylesheet" href="/css/leaderboards.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=JetBrains+Mono:wght@300;400;500;600;700&family=Orbitron:wght@400;500;600;700;800;900&family=Share+Tech+Mono&display=swap" rel="stylesheet">
|
|
</head>
|
|
<body class="section-page">
|
|
|
|
<div class="scanlines"></div>
|
|
<canvas id="particleCanvas" class="particle-canvas"></canvas>
|
|
<div class="grid-bg"></div>
|
|
|
|
<!-- Nav placeholder -->
|
|
<div id="navContainer"></div>
|
|
|
|
<main class="section-main">
|
|
<div class="section-container">
|
|
|
|
<!-- Header -->
|
|
<header class="section-header">
|
|
<div class="section-breadcrumb">
|
|
<a href="/">BASE</a> / <a href="/hq/">HQ</a> / <span>LEADERBOARDS</span>
|
|
</div>
|
|
<h1 class="section-title glitch" data-text="LEADERBOARDS">LEADERBOARDS</h1>
|
|
<p class="section-subtitle">// LIVE OPERATIONAL RANKINGS — DERIVED FROM NGINX ACCESS LOGS</p>
|
|
<div class="lb-meta">
|
|
<span class="lb-badge" id="lbReqs24h">24h REQUESTS: —</span>
|
|
<span class="lb-badge" id="lbReqs7d">7d REQUESTS: —</span>
|
|
<span class="lb-badge lb-live" id="lbUpdated">● LAST UPDATED —</span>
|
|
<button id="lbRefresh" class="lb-refresh-btn" title="Force refresh">↻ REFRESH</button>
|
|
</div>
|
|
</header>
|
|
|
|
<!-- 6-panel grid -->
|
|
<section class="lb-grid">
|
|
|
|
<div class="lb-panel" id="panelCountries">
|
|
<div class="lb-panel-header">
|
|
<span class="lb-panel-icon">🌍</span>
|
|
<h2>TOP COUNTRIES</h2>
|
|
<span class="lb-panel-period">24h</span>
|
|
</div>
|
|
<div class="lb-panel-body"><div class="lb-loading">acquiring targets…</div></div>
|
|
</div>
|
|
|
|
<div class="lb-panel" id="panelPages">
|
|
<div class="lb-panel-header">
|
|
<span class="lb-panel-icon">📄</span>
|
|
<h2>TOP PAGES</h2>
|
|
<span class="lb-panel-period">24h</span>
|
|
</div>
|
|
<div class="lb-panel-body"><div class="lb-loading">scanning routes…</div></div>
|
|
</div>
|
|
|
|
<div class="lb-panel" id="panelReferrers">
|
|
<div class="lb-panel-header">
|
|
<span class="lb-panel-icon">🔗</span>
|
|
<h2>TOP REFERRERS</h2>
|
|
<span class="lb-panel-period">7d</span>
|
|
</div>
|
|
<div class="lb-panel-body"><div class="lb-loading">tracing inbound…</div></div>
|
|
</div>
|
|
|
|
<div class="lb-panel" id="panelHours">
|
|
<div class="lb-panel-header">
|
|
<span class="lb-panel-icon">⏱</span>
|
|
<h2>PEAK HOURS</h2>
|
|
<span class="lb-panel-period">24h UTC</span>
|
|
</div>
|
|
<div class="lb-panel-body"><div class="lb-loading">charting activity…</div></div>
|
|
</div>
|
|
|
|
<div class="lb-panel" id="panelBrowsers">
|
|
<div class="lb-panel-header">
|
|
<span class="lb-panel-icon">🖥</span>
|
|
<h2>BROWSER BREAKDOWN</h2>
|
|
<span class="lb-panel-period">24h</span>
|
|
</div>
|
|
<div class="lb-panel-body"><div class="lb-loading">fingerprinting clients…</div></div>
|
|
</div>
|
|
|
|
<div class="lb-panel" id="panelOperators">
|
|
<div class="lb-panel-header">
|
|
<span class="lb-panel-icon">👤</span>
|
|
<h2>OPERATOR LEADERBOARD</h2>
|
|
<span class="lb-panel-period">7d</span>
|
|
</div>
|
|
<div class="lb-panel-body"><div class="lb-loading">ranking operators…</div></div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<footer class="lb-footer">
|
|
<p>// DATA SOURCE: <code>/var/log/nginx/access.log</code> · GeoIP: <code>GeoLite2-Country.mmdb</code> · CACHE: 60s</p>
|
|
<p>// AUTO-REFRESH: 60s · All IPs masked to first/last octet for operator privacy</p>
|
|
</footer>
|
|
|
|
</div>
|
|
</main>
|
|
|
|
<!-- Bottom HUD bar placeholder handled by main.js / nav.js -->
|
|
|
|
<script src="/js/main.js"></script>
|
|
<script src="/js/nav.js"></script>
|
|
<script src="/js/leaderboards.js"></script>
|
|
</body>
|
|
</html>
|