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

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
SsSnake
2026-03-24 06:59:06 -07:00
parent 1092689f45
commit da53899f66
382 changed files with 15277 additions and 493964 deletions

View File

@@ -18,6 +18,7 @@ from pathlib import Path
from typing import Optional, Dict, List, Any, Tuple
from core.paths import get_data_dir, find_tool
from core.daemon import root_exec
class WireGuardManager:
@@ -59,20 +60,20 @@ class WireGuardManager:
return ('', str(e), 1)
def _run_wg_sudo(self, args, timeout=10):
"""Run wg command with sudo, return (stdout, stderr, rc)."""
"""Run wg command with root privileges via daemon, return (stdout, stderr, rc)."""
if not self._wg_bin:
return ('', 'wg binary not found', 1)
cmd = ['sudo', self._wg_bin] + args
try:
proc = subprocess.run(cmd, capture_output=True, text=True, timeout=timeout)
return (proc.stdout, proc.stderr, proc.returncode)
except subprocess.TimeoutExpired:
return ('', 'Command timed out', 1)
except Exception as e:
return ('', str(e), 1)
cmd = [str(self._wg_bin)] + args
r = root_exec(cmd, timeout=timeout)
return (r['stdout'], r['stderr'], r['code'])
def _run_cmd(self, cmd, timeout=10, input_data=None):
"""Run arbitrary command, return (stdout, stderr, rc)."""
"""Run arbitrary command, return (stdout, stderr, rc).
Commands starting with 'sudo' are routed through the privileged daemon."""
# Strip sudo and route through daemon
if cmd and cmd[0] == 'sudo':
r = root_exec(cmd[1:], timeout=timeout, stdin=input_data)
return (r['stdout'], r['stderr'], r['code'])
try:
proc = subprocess.run(
cmd, capture_output=True, text=True,