2026-03-13 15:17:15 -07:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "UTF-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > {% block title %}AUTARCH{% endblock %}< / title >
2026-07-13 15:45:47 -07:00
< 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=Chakra+Petch:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel = "stylesheet" >
2026-03-13 15:17:15 -07:00
< link rel = "stylesheet" href = "{{ url_for('static', filename='css/style.css') }}" >
2026-07-13 15:45:47 -07:00
< link rel = "stylesheet" href = "{{ url_for('static', filename='css/autarchos.css') }}" >
2026-03-13 15:17:15 -07:00
{% block extra_head %}{% endblock %}
< / head >
2026-07-13 15:45:47 -07:00
< body data-blueprint = "{{ request.blueprint or '' }}" >
{% if session.get('user') %}
< div class = "desktop-bg" > < / div >
< div class = "watermark" > Λ< / div >
<!-- ── Top system bar ─────────────────────────────────────── -->
< div class = "aos-topbar" >
< a class = "logo" href = "{{ url_for('dashboard.index') }}" >
< span class = "mk" > Λ< / span > Aut< b > archOS< / b >
< / a >
< a class = "mi" href = "#" data-aos-action = "open-launcher" > Apps< / a >
< a class = "mi" href = "{{ url_for('settings.index') }}" > Settings< / a >
< a class = "mi" href = "{{ url_for('dashboard.manual') }}" > Help< / a >
< span class = "sp" > < / span >
< span class = "posture" >
< span class = "pulse" style = "background:var(--amber);box-shadow:0 0 10px rgba(255,177,61,.6)" > < / span >
Authed
< / span >
< span class = "tray" >
< svg class = "shield" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.6" > < path d = "M12 3l8 3v5c0 5-3.5 8-8 10-4.5-2-8-5-8-10V6z" / > < / svg >
< svg viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.6" > < path d = "M5 12.5a10 10 0 0 1 14 0M8 15.5a6 6 0 0 1 8 0M12 19h.01" / > < / svg >
< svg viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.6" > < rect x = "3" y = "8" width = "18" height = "8" rx = "1" / > < path d = "M16 12h2" / > < / svg >
< / span >
< span class = "user" >
< b > {{ session.get('user', 'admin') }}< / b >
< / span >
< span class = "clock" id = "aos-clock" > --:--:--< / span >
< / div >
<!-- ── Workspace ─────────────────────────────────────────── -->
< main class = "aos-workspace" >
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
< div class = "flash-messages" >
{% for category, message in messages %}
< div class = "flash flash-{{ category }}" > {{ message }}< / div >
{% endfor %}
< / div >
{% endif %}
{% endwith %}
{% block content %}{% endblock %}
< / main >
<!-- ── Dock ──────────────────────────────────────────────── -->
< nav class = "aos-dock" >
< a class = "app" data-app = "dashboard" href = "{{ url_for('dashboard.index') }}" >
< div class = "tip" > Overview< / div >
< svg viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < rect x = "3" y = "3" width = "7" height = "9" / > < rect x = "14" y = "3" width = "7" height = "5" / > < rect x = "14" y = "12" width = "7" height = "9" / > < rect x = "3" y = "16" width = "7" height = "5" / > < / svg >
< / a >
< a class = "app" data-app = "defense" href = "{{ url_for('defense.index') }}" >
< div class = "tip" > Defense< / div >
< svg viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < path d = "M12 3l8 3v5c0 5-3.5 8-8 10-4.5-2-8-5-8-10V6z" / > < / svg >
< / a >
< a class = "app" data-app = "offense" href = "{{ url_for('offense.index') }}" >
< div class = "tip" > Offense< / div >
< svg viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < path d = "M14 4l-7 8 4 0-2 8 7-8-4 0z" / > < / svg >
< / a >
< a class = "app" data-app = "counter" href = "{{ url_for('counter.index') }}" >
< div class = "tip" > Counter< / div >
< svg viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < circle cx = "11" cy = "11" r = "7" / > < path d = "M21 21l-4.3-4.3" / > < / svg >
< / a >
< a class = "app" data-app = "net_mapper" href = "{{ url_for('net_mapper.index') }}" >
< div class = "tip" > Topology< / div >
< svg viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < circle cx = "12" cy = "5" r = "2.2" / > < circle cx = "5" cy = "18" r = "2.2" / > < circle cx = "19" cy = "18" r = "2.2" / > < path d = "M12 7.2 6.5 15.8M12 7.2l5.5 8.6" / > < / svg >
< / a >
< a class = "app" data-app = "android_forensics" href = "{{ url_for('android_forensics.index') }}" >
< div class = "tip" > Forensics< / div >
< svg viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < rect x = "6" y = "3" width = "12" height = "18" rx = "2" / > < path d = "M10 18h4" / > < / svg >
< / a >
< a class = "app" data-app = "msf" href = "{{ url_for('msf.index') }}" >
< div class = "tip" > MSF Console< / div >
< svg viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < rect x = "3" y = "4" width = "18" height = "16" rx = "1" / > < path d = "M7 9l3 3-3 3M13 15h4" / > < / svg >
< / a >
< span class = "divider" > < / span >
< a class = "app" data-app = "chat" href = "#" onclick = "if(typeof halToggle==='function'){halToggle();}return false;" >
< div class = "tip" > HAL< / div >
< svg viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < rect x = "4" y = "6" width = "16" height = "12" rx = "1.5" / > < path d = "M9 11h.01M15 11h.01M9 15h6" / > < / svg >
< / a >
< a class = "app" data-app = "settings" href = "{{ url_for('settings.index') }}" >
< div class = "tip" > Settings< / div >
< svg viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < circle cx = "12" cy = "12" r = "3" / > < path d = "M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1A2 2 0 1 1 7 4.6l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z" / > < / svg >
< / a >
< a class = "app" data-aos-action = "open-launcher" href = "#" >
< div class = "tip" > All Apps< / div >
< svg viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < circle cx = "5" cy = "5" r = "2" / > < circle cx = "12" cy = "5" r = "2" / > < circle cx = "19" cy = "5" r = "2" / > < circle cx = "5" cy = "12" r = "2" / > < circle cx = "12" cy = "12" r = "2" / > < circle cx = "19" cy = "12" r = "2" / > < circle cx = "5" cy = "19" r = "2" / > < circle cx = "12" cy = "19" r = "2" / > < circle cx = "19" cy = "19" r = "2" / > < / svg >
< / a >
< / nav >
<!-- ── Apps launcher modal ───────────────────────────────── -->
< div class = "aos-launcher-backdrop" id = "aos-launcher" >
< div class = "aos-launcher" >
< h2 > All Apps< / h2 >
< input id = "aos-launcher-search" class = "search" type = "text" placeholder = "search apps... (Ctrl+Space to toggle)" >
< div class = "group" >
< div class = "group-title" > Core< / div >
< div class = "apps" >
< a class = "app-card" href = "{{ url_for('dashboard.index') }}" > < span class = "ico" > ▦< / span > < span class = "meta" > < b > Dashboard< / b > < small > Command overview< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('autonomy.index') }}" > < span class = "ico" > ⚙< / span > < span class = "meta" > < b > Autonomy< / b > < small > Autonomous HAL agent< / small > < / span > < / a >
< a class = "app-card" href = "#" onclick = "if(typeof halToggle==='function'){halToggle();}return false;" > < span class = "ico" > ◉< / span > < span class = "meta" > < b > HAL Chat< / b > < small > AI copilot< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('targets.index') }}" > < span class = "ico" > ⊕< / span > < span class = "meta" > < b > Investigations< / b > < small > Target dossiers< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('port_scanner.index') }}" > < span class = "ico" > ◐< / span > < span class = "meta" > < b > Port Scanner< / b > < small > Quick host scan< / small > < / span > < / a >
< / div >
2026-03-13 15:17:15 -07:00
< / div >
2026-07-13 15:45:47 -07:00
< div class = "group" >
< div class = "group-title" > Defense< / div >
< div class = "apps" >
< a class = "app-card" href = "{{ url_for('defense.index') }}" > < span class = "ico" > ▤< / span > < span class = "meta" > < b > Defense< / b > < small > Hardening & audits< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('defense.linux_index') }}" > < span class = "ico" > └< / span > < span class = "meta" > < b > Linux Audit< / b > < small > System hardening< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('defense.windows_index') }}" > < span class = "ico" > └< / span > < span class = "meta" > < b > Windows Audit< / b > < small > System hardening< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('defense.monitor_index') }}" > < span class = "ico" > ⊙< / span > < span class = "meta" > < b > Threat Monitor< / b > < small > Live detection< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('threat_intel.index') }}" > < span class = "ico" > ◬< / span > < span class = "meta" > < b > Threat Intel< / b > < small > IoC lookups< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('log_correlator.index') }}" > < span class = "ico" > ▥< / span > < span class = "meta" > < b > Log Correlator< / b > < small > SIEM-style< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('container_sec.index') }}" > < span class = "ico" > ▣< / span > < span class = "meta" > < b > Container Sec< / b > < small > Docker / Podman< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('email_sec.index') }}" > < span class = "ico" > ✉< / span > < span class = "meta" > < b > Email Sec< / b > < small > SPF / DKIM / DMARC< / small > < / span > < / a >
< / div >
2026-03-13 15:17:15 -07:00
< / div >
2026-07-13 15:45:47 -07:00
< div class = "group" >
< div class = "group-title" > Offense< / div >
< div class = "apps" >
< a class = "app-card" href = "{{ url_for('offense.index') }}" > < span class = "ico" > ⚔< / span > < span class = "meta" > < b > Offense< / b > < small > Pentesting tools< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('msf.index') }}" > < span class = "ico" > ⌗< / span > < span class = "meta" > < b > MSF Console< / b > < small > Metasploit< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('exploit_dev.index') }}" > < span class = "ico" > ⌬< / span > < span class = "meta" > < b > Exploit Dev< / b > < small > Workshop< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('vuln_scanner.index') }}" > < span class = "ico" > ◯< / span > < span class = "meta" > < b > Vuln Scanner< / b > < small > CVE scanner< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('webapp_scanner.index') }}" > < span class = "ico" > ◍< / span > < span class = "meta" > < b > Web Scanner< / b > < small > WebApp audit< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('c2_framework.index') }}" > < span class = "ico" > ⚐< / span > < span class = "meta" > < b > C2 Framework< / b > < small > Command & control< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('api_fuzzer.index') }}" > < span class = "ico" > ≋< / span > < span class = "meta" > < b > API Fuzzer< / b > < small > API testing< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('cloud_scan.index') }}" > < span class = "ico" > ☁< / span > < span class = "meta" > < b > Cloud Scan< / b > < small > AWS / Azure / GCP< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('ad_audit.index') }}" > < span class = "ico" > ⛒< / span > < span class = "meta" > < b > AD Audit< / b > < small > Active Directory< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('hack_hijack.index') }}" > < span class = "ico" > ◑< / span > < span class = "meta" > < b > Hack Hijack< / b > < small > Session takeover< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('phishmail.index') }}" > < span class = "ico" > ⌖< / span > < span class = "meta" > < b > Phishmail< / b > < small > Phishing simulation< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('social_eng.index') }}" > < span class = "ico" > ⛁< / span > < span class = "meta" > < b > Social Eng< / b > < small > SET toolkit< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('loadtest.index') }}" > < span class = "ico" > ⏚< / span > < span class = "meta" > < b > Load Test< / b > < small > Stress testing< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('password_toolkit.index') }}" > < span class = "ico" > ⚷< / span > < span class = "meta" > < b > Password Toolkit< / b > < small > Hashes & cracking< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('revshell.index') }}" > < span class = "ico" > ⌥< / span > < span class = "meta" > < b > Reverse Shell< / b > < small > Multi-language gen< / small > < / span > < / a >
< / div >
AUTARCH v1.9 — remote monitoring, SSH manager, daemon, vault, cleanup
- Add Remote Monitoring Station with PIAP device profile system
- Add SSH/SSHD manager with fail2ban integration
- Add privileged daemon architecture for safe root operations
- Add encrypted vault, HAL memory, HAL auto-analyst
- Add network security suite, module creator, codex training
- Add start.sh launcher script and GTK3 desktop launcher
- Remove Output/ build artifacts, installer files, loose docs
- Update .gitignore for runtime data and build artifacts
- Update README for v1.9 with new launch method, screenshots, and features
2026-03-24 06:59:06 -07:00
< / div >
2026-07-13 15:45:47 -07:00
< div class = "group" >
< div class = "group-title" > Counter / Analyze< / div >
< div class = "apps" >
< a class = "app-card" href = "{{ url_for('counter.index') }}" > < span class = "ico" > ⌗< / span > < span class = "meta" > < b > Counter< / b > < small > Threat hunting< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('analyze.index') }}" > < span class = "ico" > ⌕< / span > < span class = "meta" > < b > Analyze< / b > < small > Forensics & hex< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('analyze.hash_detection') }}" > < span class = "ico" > ⌖< / span > < span class = "meta" > < b > Hash Toolkit< / b > < small > Hash ID & crack< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('forensics.index') }}" > < span class = "ico" > ⌬< / span > < span class = "meta" > < b > Forensics< / b > < small > File analysis< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('anti_forensics.index') }}" > < span class = "ico" > ⌧< / span > < span class = "meta" > < b > Anti-Forensics< / b > < small > Evidence removal< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('steganography.index') }}" > < span class = "ico" > ⌗< / span > < span class = "meta" > < b > Steganography< / b > < small > Hidden data< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('malware_sandbox.index') }}" > < span class = "ico" > ⌘< / span > < span class = "meta" > < b > Malware Sandbox< / b > < small > Behavior analysis< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('reverse_eng.index') }}" > < span class = "ico" > ↺< / span > < span class = "meta" > < b > Reverse Eng< / b > < small > Disassembly< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('android_forensics.index') }}" > < span class = "ico" > ◫< / span > < span class = "meta" > < b > Android Forensics< / b > < small > Acquisition & IOC< / small > < / span > < / a >
< / div >
2026-03-13 15:17:15 -07:00
< / div >
2026-07-13 15:45:47 -07:00
< div class = "group" >
< div class = "group-title" > OSINT & Simulate< / div >
< div class = "apps" >
< a class = "app-card" href = "{{ url_for('osint.index') }}" > < span class = "ico" > ⌥< / span > < span class = "meta" > < b > OSINT< / b > < small > 25,475 indexed sites< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('ipcapture.index') }}" > < span class = "ico" > ⊜< / span > < span class = "meta" > < b > IP Capture< / b > < small > Honey-link< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('simulate.index') }}" > < span class = "ico" > ⌕< / span > < span class = "meta" > < b > Simulate< / b > < small > Attack simulation< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('simulate.legendary_creator') }}" > < span class = "ico" > ⋄< / span > < span class = "meta" > < b > Legendary Creator< / b > < small > Profile builder< / small > < / span > < / a >
< / div >
2026-03-13 15:17:15 -07:00
< / div >
2026-07-13 15:45:47 -07:00
< div class = "group" >
< div class = "group-title" > Network< / div >
< div class = "apps" >
< a class = "app-card" href = "{{ url_for('network.index') }}" > < span class = "ico" > ▦< / span > < span class = "meta" > < b > Network Security< / b > < small > 8-tab suite< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('net_mapper.index') }}" > < span class = "ico" > ⌬< / span > < span class = "meta" > < b > Net Mapper< / b > < small > Topology< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('wireshark.index') }}" > < span class = "ico" > ◯< / span > < span class = "meta" > < b > Wireshark< / b > < small > Packet capture< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('wifi_audit.index') }}" > < span class = "ico" > ≋< / span > < span class = "meta" > < b > WiFi Audit< / b > < small > Wireless scan< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('deauth.index') }}" > < span class = "ico" > ⌅< / span > < span class = "meta" > < b > Deauth< / b > < small > WiFi disruption< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('pineapple.index') }}" > < span class = "ico" > ⌖< / span > < span class = "meta" > < b > Pineapple< / b > < small > Evil twin< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('mitm_proxy.index') }}" > < span class = "ico" > ⌗< / span > < span class = "meta" > < b > MITM Proxy< / b > < small > Intercept< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('remote_monitor.index') }}" > < span class = "ico" > ◉< / span > < span class = "meta" > < b > Remote Monitor< / b > < small > PIAP devices< / small > < / span > < / a >
< / div >
2026-03-13 15:17:15 -07:00
< / div >
2026-07-13 15:45:47 -07:00
< div class = "group" >
< div class = "group-title" > Hardware & Mobile< / div >
< div class = "apps" >
< a class = "app-card" href = "{{ url_for('hardware.index') }}" > < span class = "ico" > ⌘< / span > < span class = "meta" > < b > Hardware< / b > < small > ADB / Fastboot / ESP32< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('android_exploit.index') }}" > < span class = "ico" > ▤< / span > < span class = "meta" > < b > Android Exploit< / b > < small > Recon & payload< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('android_protect.index') }}" > < span class = "ico" > ⛨< / span > < span class = "meta" > < b > Android Shield< / b > < small > Anti-stalkerware< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('iphone_exploit.index') }}" > < span class = "ico" > ▢< / span > < span class = "meta" > < b > iPhone Exploit< / b > < small > iOS research< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('sms_forge.index') }}" > < span class = "ico" > ✉< / span > < span class = "meta" > < b > SMS Forge< / b > < small > SMS / RCS< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('rcs_tools.index') }}" > < span class = "ico" > ✉< / span > < span class = "meta" > < b > RCS Tools< / b > < small > Rich messaging< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('ble_scanner.index') }}" > < span class = "ico" > ⌬< / span > < span class = "meta" > < b > BLE Scanner< / b > < small > Bluetooth LE< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('rfid_tools.index') }}" > < span class = "ico" > ⊜< / span > < span class = "meta" > < b > RFID / NFC< / b > < small > Proximity tools< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('sdr_tools.index') }}" > < span class = "ico" > ≋< / span > < span class = "meta" > < b > SDR Tools< / b > < small > Software-defined radio< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('starlink_hack.index') }}" > < span class = "ico" > ⌬< / span > < span class = "meta" > < b > Starlink< / b > < small > Satellite research< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('archon.index') }}" > < span class = "ico" > Λ< / span > < span class = "meta" > < b > Archon< / b > < small > Companion app< / small > < / span > < / a >
2026-03-13 15:17:15 -07:00
< / div >
< / div >
2026-07-13 15:45:47 -07:00
< div class = "group" >
< div class = "group-title" > System< / div >
< div class = "apps" >
< a class = "app-card" href = "{{ url_for('settings.index') }}" > < span class = "ico" > ⚙< / span > < span class = "meta" > < b > Settings< / b > < small > System config< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('settings.llm_settings') }}" > < span class = "ico" > ⌗< / span > < span class = "meta" > < b > LLM Config< / b > < small > Backend & models< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('settings.mcp_settings') }}" > < span class = "ico" > ⌘< / span > < span class = "meta" > < b > MCP Server< / b > < small > Claude / MCP< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('settings.deps_index') }}" > < span class = "ico" > ⊞< / span > < span class = "meta" > < b > Dependencies< / b > < small > System tools< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('ssh_manager.index') }}" > < span class = "ico" > ⌬< / span > < span class = "meta" > < b > SSH / SSHD< / b > < small > Key management< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('upnp.index') }}" > < span class = "ico" > ⌃< / span > < span class = "meta" > < b > UPnP< / b > < small > Port forwarding< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('wireguard.index') }}" > < span class = "ico" > ⌕< / span > < span class = "meta" > < b > WireGuard< / b > < small > VPN tunnels< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('dns_service.index') }}" > < span class = "ico" > ⌬< / span > < span class = "meta" > < b > DNS Server< / b > < small > Local resolver< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('report_engine.index') }}" > < span class = "ico" > ⌗< / span > < span class = "meta" > < b > Reports< / b > < small > Output engine< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('module_creator.index') }}" > < span class = "ico" > + < / span > < span class = "meta" > < b > Module Creator< / b > < small > Build modules< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('encmodules.index') }}" > < span class = "ico" > ⌗< / span > < span class = "meta" > < b > Enc Modules< / b > < small > Encrypted modules< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('llm_trainer.index') }}" > < span class = "ico" > ⌬< / span > < span class = "meta" > < b > LLM Trainer< / b > < small > Fine-tuning< / small > < / span > < / a >
< a class = "app-card" href = "{{ url_for('dashboard.manual') }}" > < span class = "ico" > ⌘< / span > < span class = "meta" > < b > User Manual< / b > < small > Docs< / small > < / span > < / a >
< / div >
2026-03-13 15:17:15 -07:00
< / div >
2026-07-13 15:45:47 -07:00
< / div >
2026-03-13 15:17:15 -07:00
< / div >
2026-07-13 15:45:47 -07:00
{% else %}
2026-03-13 15:17:15 -07:00
< div class = "login-wrapper" >
{% with messages = get_flashed_messages(with_categories=true) %}
2026-07-13 15:45:47 -07:00
{% if messages %}
< div class = "flash-messages" >
{% for category, message in messages %}
< div class = "flash flash-{{ category }}" > {{ message }}< / div >
{% endfor %}
< / div >
{% endif %}
2026-03-13 15:17:15 -07:00
{% endwith %}
{% block login_content %}{% endblock %}
< / div >
2026-07-13 15:45:47 -07:00
{% endif %}
2026-03-13 15:17:15 -07:00
2026-07-13 15:45:47 -07:00
< script src = "{{ url_for('static', filename='js/lib/adb-bundle.js') }}" > < / script >
< script src = "{{ url_for('static', filename='js/lib/fastboot-bundle.js') }}" > < / script >
< script src = "{{ url_for('static', filename='js/lib/esptool-bundle.js') }}" > < / script >
< script src = "{{ url_for('static', filename='js/hardware-direct.js') }}" > < / script >
< script src = "{{ url_for('static', filename='js/app.js') }}" > < / script >
< script src = "{{ url_for('static', filename='js/autarchos.js') }}" > < / script >
{% if session.get('user') %}
<!-- ── HAL global panel ─────────────────────────────────────── -->
< div id = "hal-panel" class = "hal-panel" style = "display:none" >
< div class = "hal-header" >
< span > ● Hal< / span >
< label class = "hal-mode-switch" title = "Toggle Agent mode (tools) vs Direct chat" >
< input type = "checkbox" id = "hal-mode-toggle" onchange = "halModeChanged(this)" >
< span class = "hal-mode-slider" > < / span >
< span class = "hal-mode-label" id = "hal-mode-label" > Chat< / span >
< / label >
< button onclick = "halToggleFeedback()" id = "hal-feedback-btn" class = "hal-feedback-btn"
title="Toggle auto-analysis feedback on tool results"
style="font-size:0.6rem;padding:1px 5px;border-radius:3px;border:1px solid var(--accent);color:var(--accent);background:transparent;cursor:pointer">FB< / button >
< button onclick = "halToggle()" class = "hal-close" title = "Close" > ✕< / button >
< / div >
< div id = "hal-messages" class = "hal-messages" > < / div >
< div class = "hal-footer" >
< input id = "hal-input" type = "text" placeholder = "Ask Hal..." onkeypress = "if(event.key==='Enter')halSend()" >
< button onclick = "halSend()" class = "btn btn-sm btn-primary" id = "hal-send-btn" > Send< / button >
< button onclick = "halStop()" class = "btn btn-sm" id = "hal-stop-btn" title = "Stop generation" style = "display:none;background:var(--danger,#ff3b30);color:#fff" > Stop< / button >
< button onclick = "halClear()" class = "btn btn-sm" title = "Clear history" > ↺< / button >
2026-03-13 15:17:15 -07:00
< / div >
2026-07-13 15:45:47 -07:00
< / div >
< button id = "hal-toggle-btn" class = "hal-toggle-btn" onclick = "halToggle()" > HAL< / button >
2026-03-13 15:17:15 -07:00
2026-07-13 15:45:47 -07:00
<!-- ── Debug console ─────────────────────────────────────── -->
< div id = "debug-panel" class = "debug-panel" style = "display:none" >
< div class = "debug-header" id = "debug-drag-handle" >
< div style = "display:flex;align-items:center;gap:0.5rem" >
< span id = "debug-live-dot" class = "debug-live-dot" > < / span >
< span style = "font-weight:700;letter-spacing:0.08em;font-size:0.8rem" > AUTARCH DEBUG< / span >
2026-03-13 15:17:15 -07:00
< / div >
2026-07-13 15:45:47 -07:00
< div style = "display:flex;align-items:center;gap:0.5rem" >
< span id = "debug-msg-count" style = "font-size:0.7rem;color:#666;font-family:monospace" > 0 msgs< / span >
< button class = "debug-btn" onclick = "debugClear()" title = "Clear output" > ⌫< / button >
< button class = "debug-btn" onclick = "debugClose()" title = "Close" > ✕< / button >
2026-03-13 15:17:15 -07:00
< / div >
< / div >
2026-07-13 15:45:47 -07:00
< div id = "debug-output" class = "debug-output" > < / div >
< div class = "debug-controls" >
< span style = "font-size:0.7rem;color:#555;margin-right:0.5rem;font-weight:600" > FILTER:< / span >
< label class = "debug-check-label" > < input type = "checkbox" name = "dbg-mode" value = "warn" checked onchange = "debugSetMode(this)" > Warnings & Errors< / label >
< label class = "debug-check-label" > < input type = "checkbox" name = "dbg-mode" value = "verbose" onchange = "debugSetMode(this)" > Full Verbose< / label >
< label class = "debug-check-label" > < input type = "checkbox" name = "dbg-mode" value = "debug" onchange = "debugSetMode(this)" > Full Debug + Symbols< / label >
< label class = "debug-check-label" > < input type = "checkbox" name = "dbg-mode" value = "output" onchange = "debugSetMode(this)" > Output Only< / label >
< label class = "debug-check-label" > < input type = "checkbox" name = "dbg-mode" value = "all" onchange = "debugSetMode(this)" > Show Everything< / label >
< / div >
< / div >
< button id = "debug-toggle-btn" class = "debug-toggle-btn" style = "display:none" onclick = "debugOpen()" title = "Open Debug Console" > DBG< / button >
{% endif %}
2026-03-13 15:17:15 -07:00
< / body >
< / html >