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

@@ -41,6 +41,9 @@
<span style="font-weight:600;font-size:0.85rem;color:var(--text-secondary)">ADB Mode:</span>
<button id="ap-mode-server" class="btn btn-sm active" onclick="apSetMode('server')">Server (Local ADB)</button>
<button id="ap-mode-direct" class="btn btn-sm" onclick="apSetMode('direct')">Direct (WebUSB)</button>
<button class="btn btn-sm btn-danger" onclick="apAdbKillServer()" title="Kill ADB server process">Kill ADB</button>
<button class="btn btn-sm" onclick="apAdbStartServer()" title="Restart ADB server">Start ADB</button>
<span id="ap-adb-status" style="font-size:0.78rem;color:var(--text-muted)"></span>
<span id="ap-direct-bar" style="display:none;align-items:center;gap:0.5rem">
<span id="ap-device-label" style="font-size:0.85rem;color:var(--text-secondary)">Not connected</span>
<button class="btn btn-sm" onclick="apDirectConnect()">Connect</button>
@@ -387,6 +390,24 @@ let apLastScan = null;
let apMode = 'server';
/* ── Mode Switching ── */
function apAdbKillServer() {
var s = document.getElementById('ap-adb-status');
if (s) s.textContent = 'Killing...';
fetch('/hardware/adb/kill-server', {method: 'POST'}).then(function(r) { return r.json(); }).then(function(d) {
if (s) s.textContent = d.ok ? 'Killed' : 'Error';
setTimeout(function() { if (s) s.textContent = ''; }, 3000);
});
}
function apAdbStartServer() {
var s = document.getElementById('ap-adb-status');
if (s) s.textContent = 'Starting...';
fetch('/hardware/adb/start-server', {method: 'POST'}).then(function(r) { return r.json(); }).then(function(d) {
if (s) s.textContent = d.ok ? 'Started' : 'Error';
setTimeout(function() { if (s) s.textContent = ''; }, 3000);
});
}
function apSetMode(mode) {
apMode = mode;
localStorage.setItem('ap_connection_mode', mode);
@@ -542,6 +563,7 @@ function apScan(type) {
apSetStatus('Done');
apLastScan = data;
box.innerHTML = apRenderScan(type, data);
halAnalyze('Shield', JSON.stringify(data, null, 2), 'android protection', 'android');
}).catch(e => {
apSetStatus('Error');
box.innerHTML = '<span style="color:#e74c3c">Error: ' + e.message + '</span>';
@@ -733,6 +755,7 @@ function apExportReport() {
} else {
box.innerHTML = '<span style="color:#e74c3c">Error: ' + (data.error || 'Unknown') + '</span>';
}
halAnalyze('Shield', JSON.stringify(data, null, 2), 'android protection', 'android');
});
}
@@ -753,6 +776,7 @@ function apFindDangerous() {
});
} else h += '<p style="color:#27ae60">No apps with dangerous combos found.</p>';
box.innerHTML = h;
halAnalyze('Shield', JSON.stringify(data, null, 2), 'android protection', 'android');
});
}
@@ -779,6 +803,7 @@ function apAnalyzePerms() {
(p.denied||[]).forEach(pm => h += '<li><code>' + pm + '</code></li>');
h += '</ul>';
box.innerHTML = h;
halAnalyze('Shield', JSON.stringify(data, null, 2), 'android protection', 'android');
});
}
@@ -805,6 +830,7 @@ function apPermHeatmap() {
h += '</tbody></table></div>';
if (matrix.length > 50) h += '<p><small>Showing 50 of ' + matrix.length + ' apps</small></p>';
box.innerHTML = h;
halAnalyze('Shield', JSON.stringify(data, null, 2), 'android protection', 'android');
});
}
@@ -826,6 +852,7 @@ function apFix(action) {
} else {
box.innerHTML = '<span style="color:#e74c3c">Error: ' + (data.error || JSON.stringify(data)) + '</span>';
}
halAnalyze('Shield', JSON.stringify(data, null, 2), 'android protection', 'android');
});
}
@@ -839,6 +866,7 @@ function apFixProxy() {
h += '<div>' + (r.ok ? '<span style="color:#27ae60">[OK]</span>' : '<span style="color:#e74c3c">[FAIL]</span>') + ' ' + r.setting + '</div>';
});
box.innerHTML = h;
halAnalyze('Shield', JSON.stringify(data, null, 2), 'android protection', 'android');
});
}