121 lines
4.8 KiB
HTML
121 lines
4.8 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}Command Overview — AUTARCH{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="page-header">
|
|
<h1>Command Overview</h1>
|
|
<div class="subtitle">{{ system.hostname }} · {{ system.platform }} · {{ system.arch }}</div>
|
|
</div>
|
|
|
|
<div class="kpis">
|
|
<div class="kpi">
|
|
<div class="l">Modules</div>
|
|
<div class="n">{{ modules.get('total', 0) }}</div>
|
|
</div>
|
|
<div class="kpi">
|
|
<div class="l">LLM Backend</div>
|
|
<div class="n" style="font-size:18px">{{ llm_backend|upper }}</div>
|
|
</div>
|
|
<div class="kpi {% if not upnp_enabled %}warn{% endif %}">
|
|
<div class="l">UPnP</div>
|
|
<div class="n" style="font-size:18px">{{ 'ON' if upnp_enabled else 'OFF' }}</div>
|
|
</div>
|
|
<div class="kpi">
|
|
<div class="l">Uptime</div>
|
|
<div class="n" style="font-size:18px">{{ system.uptime }}</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sec">Categories · Quick Launch</div>
|
|
<div class="category-grid">
|
|
<a href="{{ url_for('defense.index') }}" class="category-card cat-defense">
|
|
<h3>Defense</h3>
|
|
<p>Hardening, audits, monitoring</p>
|
|
<span class="badge">{{ modules.get('defense', 0) }} modules</span>
|
|
</a>
|
|
<a href="{{ url_for('offense.index') }}" class="category-card cat-offense">
|
|
<h3>Offense</h3>
|
|
<p>Pentesting, Metasploit</p>
|
|
<span class="badge">{{ modules.get('offense', 0) }} modules</span>
|
|
</a>
|
|
<a href="{{ url_for('counter.index') }}" class="category-card cat-counter">
|
|
<h3>Counter</h3>
|
|
<p>Threat hunting, anomaly detection</p>
|
|
<span class="badge">{{ modules.get('counter', 0) }} modules</span>
|
|
</a>
|
|
<a href="{{ url_for('analyze.index') }}" class="category-card cat-analyze">
|
|
<h3>Analyze</h3>
|
|
<p>Forensics, hex, hashes</p>
|
|
<span class="badge">{{ modules.get('analyze', 0) }} modules</span>
|
|
</a>
|
|
<a href="{{ url_for('osint.index') }}" class="category-card cat-osint">
|
|
<h3>OSINT</h3>
|
|
<p>25,475 indexed sites</p>
|
|
<span class="badge">{{ modules.get('osint', 0) }} modules</span>
|
|
</a>
|
|
<a href="{{ url_for('simulate.index') }}" class="category-card cat-simulate">
|
|
<h3>Simulate</h3>
|
|
<p>Attack simulation, red team</p>
|
|
<span class="badge">{{ modules.get('simulate', 0) }} modules</span>
|
|
</a>
|
|
<a href="{{ url_for('hardware.index') }}" class="category-card cat-hardware">
|
|
<h3>Hardware</h3>
|
|
<p>ADB, Fastboot, ESP32</p>
|
|
<span class="badge">{{ modules.get('hardware', 0) }} modules</span>
|
|
</a>
|
|
<a href="{{ url_for('android_forensics.index') }}" class="category-card cat-counter">
|
|
<h3>Android Forensics</h3>
|
|
<p>Acquisition · IOC scanning</p>
|
|
<span class="badge">new</span>
|
|
</a>
|
|
</div>
|
|
|
|
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:22px">
|
|
<div>
|
|
<div class="sec">Traffic 24h<span class="live"><span class="pulse"></span>Idle</span></div>
|
|
<div class="spark" id="aos-dash-spark"></div>
|
|
<div class="insight">
|
|
<div class="ih"><span class="pulse"></span>AI Synthesis</div>
|
|
HAL standing by. {{ modules.get('total', 0) }} modules loaded across
|
|
{{ modules.keys()|length - 1 }} categories. Ask HAL for a sweep, threat triage,
|
|
or to walk a specific scan.
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<div class="sec">System Info</div>
|
|
<table class="data-table">
|
|
<tbody>
|
|
<tr><td>Platform</td><td>{{ system.platform }}</td></tr>
|
|
<tr><td>Architecture</td><td>{{ system.arch }}</td></tr>
|
|
<tr><td>Python</td><td>{{ system.python }}</td></tr>
|
|
<tr><td>IP</td><td>{{ system.ip }}</td></tr>
|
|
<tr><td>UPnP</td><td><span class="status-dot {{ 'active' if upnp_enabled else 'inactive' }}"></span>{{ 'Enabled' if upnp_enabled else 'Disabled' }}</td></tr>
|
|
{% if llm_model %}<tr><td>LLM Model</td><td style="font-size:10.5px">{{ llm_model.split('/')[-1] if '/' in llm_model else llm_model }}</td></tr>{% endif %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sec" style="margin-top:22px">System Tools</div>
|
|
<table class="data-table">
|
|
<thead><tr><th>Tool</th><th>Status</th></tr></thead>
|
|
<tbody>
|
|
{% for tool, available in tools.items() %}
|
|
<tr>
|
|
<td>{{ tool }}</td>
|
|
<td><span class="status-dot {{ 'active' if available else 'inactive' }}"></span>{{ 'Available' if available else 'Not found' }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
|
|
<script>
|
|
window.addEventListener('DOMContentLoaded', function () {
|
|
if (window.aosRenderSpark) {
|
|
window.aosRenderSpark(document.getElementById('aos-dash-spark'), 40, [12, 15]);
|
|
}
|
|
});
|
|
</script>
|
|
{% endblock %}
|