Spaces:
Paused
Paused
add index.html to handler
Browse files- static/index.html +23 -0
static/index.html
CHANGED
|
@@ -88,5 +88,28 @@ body{background:#0d0d0d;font-family:"Courier New",monospace;color:#c8a84b}
|
|
| 88 |
</div>
|
| 89 |
</div>
|
| 90 |
<div class="footer"><span class="classified">★ CLASIFICADO ★</span> — ROW-PROXY v1.0 — CCCP AI GATEWAY — <span class="classified">★ CLASIFICADO ★</span></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
</body>
|
| 92 |
</html>
|
|
|
|
| 88 |
</div>
|
| 89 |
</div>
|
| 90 |
<div class="footer"><span class="classified">★ CLASIFICADO ★</span> — ROW-PROXY v1.0 — CCCP AI GATEWAY — <span class="classified">★ CLASIFICADO ★</span></div>
|
| 91 |
+
<script>
|
| 92 |
+
function loadStats() {
|
| 93 |
+
fetch('/stats')
|
| 94 |
+
.then(r => r.json())
|
| 95 |
+
.then(data => {
|
| 96 |
+
var keys = Object.values(data.keys || {});
|
| 97 |
+
keys.sort(function(a,b){ return b.requests - a.requests; });
|
| 98 |
+
var grid = document.getElementById('users-grid');
|
| 99 |
+
if (keys.length === 0) {
|
| 100 |
+
grid.innerHTML = '<div class="commander-card"><div class="cmd-name">Sin usuarios aun</div><div class="cmd-trait">SE EL PRIMERO EN USAR LA PROXY</div></div>';
|
| 101 |
+
return;
|
| 102 |
+
}
|
| 103 |
+
grid.innerHTML = keys.slice(0,4).map(function(k){
|
| 104 |
+
return '<div class="commander-card"><div class="cmd-name">' + k.name + '</div><div class="cmd-trait">SOLICITUDES: ' + k.requests + ' // TOKENS: ' + k.tokens + '</div></div>';
|
| 105 |
+
}).join('');
|
| 106 |
+
var freeEl = document.getElementById('free-count');
|
| 107 |
+
if (freeEl) freeEl.textContent = (data.free_reqs || 0) + '/340';
|
| 108 |
+
})
|
| 109 |
+
.catch(function(){ });
|
| 110 |
+
}
|
| 111 |
+
loadStats();
|
| 112 |
+
setInterval(loadStats, 30000);
|
| 113 |
+
</script>
|
| 114 |
</body>
|
| 115 |
</html>
|