cynfo3000
|
e7beada405
|
Config-Backup Feature: Agent liest config.xml, Backend speichert versioniert mit Deduplizierung
- Agent: neuer 'backup' Command (SHA256 Hash, Base64 Transfer)
- Backend: config_backups Tabelle in SQLite
- API: trigger, list, download (JSON/XML), delete, diff
- Deduplizierung: gleicher Hash = kein neuer Eintrag
- WebSocket ReadLimit auf 4MB erhoeht (grosse config.xml)
- README aktualisiert mit Backup-Docs
|
2026-02-28 10:44:09 +01:00 |
|
cynfo3000
|
23c8f2cd66
|
Major-Update Ablauf korrigiert und getestet
Agent:
- major_update: opnsense-update -r <ver> -bkp + pkg-static update -f + pkg-static upgrade -y
- Reboot ist bei Major-Updates default true (immer noetig)
- update_check: reboot_required Flag hinzugefuegt
- update: reboot_required korrekt aus opnsense-update -c Exit-Code
- Alle Steps liefern strukturierte Ergebnisse fuer Frontend-Workflow
Getestet auf 192.168.85.19:
- Normales Update: 25.7 → 25.7.11_9 (93 Pakete) erfolgreich
- Major-Upgrade: 25.7.11_9 → 26.1.2_5 erfolgreich (Base+Kernel+Packages+Reboot)
README: Update-Ablauf dokumentiert (Normal vs Major)
|
2026-02-28 09:35:33 +01:00 |
|
cynfo3000
|
f55536623e
|
README: Alle Beispiele mit echten Zugangsdaten (Backend, API-Key, Agent-ID)
|
2026-02-28 09:08:58 +01:00 |
|
cynfo3000
|
33c3b84d0f
|
README: Agent-API-Beispiele ergaenzt (list, get, system, delete, hub, exec)
|
2026-02-28 09:04:38 +01:00 |
|
cynfo3000
|
ebc70f17eb
|
Update-Commands: update, major_update, update_check, reboot
Agent:
- update: opnsense-update + pkg upgrade -y, optionaler Reboot
- major_update: opnsense-update -r <version>, optionaler Reboot
- update_check: Prueft Core- und Paket-Updates, liefert Details
- reboot: Shutdown mit konfigurierbarer Verzoegerung
Backend:
- Synchrone API-Endpoints (warten auf Agent-Response)
- Response-Waiter-System im Hub (Command-ID basiert)
- Konfigurierbare Timeouts pro Command-Typ
- POST /agents/{id}/update[-check] und /major-update und /reboot
README mit Update-Beispielen und API-Doku aktualisiert
|
2026-02-28 09:01:04 +01:00 |
|
cynfo3000
|
68e712b3a3
|
Meilenstein 2: Session-basierte TCP-Tunnel
- Tunnel unterstuetzen mehrere gleichzeitige TCP-Verbindungen
- Jede Proxy-Verbindung bekommt eigene Session-ID
- Agent: Lazy-Connect (Ziel-Verbindung erst bei Datentransfer)
- Backend: Ready-Handshake (wartet auf Agent-Bestaetigung)
- Binary WebSocket Messages mit Session-ID statt Tunnel-ID
- Connection.Close() Race-Condition behoben (sync.Once)
- SendToAgent/SendBinaryToAgent mit Timeout statt Blocking
- Hub verarbeitet Agent-Responses (Session-Confirm)
- README komplett aktualisiert
|
2026-02-28 08:53:10 +01:00 |
|
cynfo3000
|
fa68e191f9
|
Fix Tunnel: ID-Sync Backend<->Agent, bidirektionaler Proxy, API-Key via Query-Param
- Backend gibt tunnel_id vor, Agent uebernimmt sie
- Proxy-Verbindung bidirektional: Daten vom Agent zurueck an TCP-Client
- Middleware akzeptiert api_key als Query-Parameter (fuer WebSocket)
- Getestet: OPNsense WebUI erreichbar ueber Tunnel
|
2026-02-28 07:52:38 +01:00 |
|
cynfo3000
|
f47154787d
|
WebSocket-Infrastruktur: bidirektionaler Command-Kanal + TCP-Tunnel
- Agent: WS-Client mit Reconnect, Command-Handler (exec, tunnel_open/close/data)
- Backend: WS-Hub, Tunnel-Manager mit dynamischen Proxy-Ports (10000-20000)
- API: /agents/{id}/exec, /tunnel, /tunnels, /proxy/{tunnel_id}
- Binary WebSocket Messages fuer effiziente Tunnel-Daten
- gorilla/websocket (pure Go, kein CGO)
- README aktualisiert
|
2026-02-28 07:42:33 +01:00 |
|
cynfo3000
|
6120d0cffa
|
Initial commit: RMM Agent + Backend
- Go Agent (FreeBSD/amd64) fuer OPNsense
- Go Backend (Linux/amd64) mit REST API + SQLite
- Collector: Hardware, CPU, Memory, Disks, Network, Services,
WireGuard, DHCP (KEA/ISC/dnsmasq), Routes, Gateways,
Certificates, Plugins, Updates
- Persistente Agent-ID
- TLS + API-Key Auth
- WebSocket-Infrastruktur (WIP): bidirektionaler Command-Kanal,
TCP-Tunnel fuer Remote-Zugriff auf Firewall-WebUI
- Lastenheft und README
|
2026-02-28 07:38:14 +01:00 |
|