cynfo3000
a97b17a682
fix: -OutputEncoding entfernt (inkompatibel), KB null-safe, exec via PS
2026-03-10 02:17:05 +01:00
cynfo3000
5eae071bf9
fix: CustomerAssign in WindowsPanel identisch mit AgentPanel (onChange direkt, kein OK-Button)
2026-03-10 02:07:32 +01:00
cynfo3000
1f8fda6a83
fix: Windows-Seite identisches Format wie Firewalls (Spaltenwahl, Sort, MiniBar)
2026-03-10 02:06:39 +01:00
cynfo3000
4e21fe3c4e
feat: Windows-Seite in Navigation + Agents-Filter excludes Windows
2026-03-10 02:03:40 +01:00
cynfo3000
f7bbe3e4b1
fix: firmware/installer Windows support (label, badge, install cmd)
2026-03-10 01:39:51 +01:00
cynfo3000
4f71bd1520
feat: Windows Agent Frontend Panel
...
- WindowsPanel.jsx: Uebersicht (CPU/RAM/Disk), Software (winget), System
- Dashboard: Windows-Agents mit WIN-Badge, oeffnet WindowsPanel
- Gleiche Navigation wie OPNsense/Proxmox (Sidebar-Menue)
2026-03-10 01:28:30 +01:00
cynfo3000
1923b28fa2
refactor: Firmware Agent-Liste kompakt und nach Kunde gruppiert
2026-03-10 01:02:34 +01:00
cynfo3000
16a7cd3f87
fix: ProxmoxPanel Sub-Navigation als linkes Sidebar-Menü wie AgentPanel
2026-03-10 00:58:21 +01:00
cynfo3000
67e15040fb
feat: ProxmoxPanel mit verschachtelter Navigation wie AgentPanel
...
Haupt-Tabs: Uebersicht / Virtualisierung / Speicher / System
Sub-Tabs: VMs+Container | Storage+ZFS+Backups+PBS | Dienste+Updates+Aufgaben+Tunnel+Agent
2026-03-10 00:53:37 +01:00
cynfo3000
56cb19d052
feat: API-Keys in Einstellungen gruppiert nach Kunde
2026-03-10 00:36:31 +01:00
cynfo3000
cdb2443d8f
refactor: API-Keys in Einstellungen kompakter (gleicher Stil wie Kunden-Panel)
2026-03-10 00:34:42 +01:00
cynfo3000
4023a14fe1
feat: Agent zeigt Warnung wenn er nicht den Kunden-Key nutzt
...
- last_api_key Spalte in agents, wird bei Heartbeat gesetzt
- GetAgentsByCustomer liefert last_api_key mit
- Frontend: rot + Warnsymbol wenn Key abweicht vom Kunden-Agent-Key
- Grau wenn noch kein Heartbeat mit Key-Info
2026-03-10 00:23:59 +01:00
cynfo3000
4a79305eee
feat: Kunden-Panel zeigt Agents + API-Keys nebeneinander
2026-03-10 00:20:56 +01:00
cynfo3000
97eefcde5d
fix: Kopieren auf HTTP nutzt execCommand-Fallback (clipboard API braucht HTTPS)
2026-03-10 00:07:47 +01:00
cynfo3000
5cc3476479
feat: Kunden-Seite zeigt API-Keys beim Aufklappen
...
- Klick auf Kundenzeile klappt Key-Panel auf
- Zeigt Agent + Read-only Keys mit Permission-Badge
- Key teilweise maskiert, Kopier-Button vorhanden
- Backend: GET /api/v1/customers/{id}/apikeys
- DB: ListCustomerAPIKeys() nach customer_id gefiltert
2026-03-10 00:06:16 +01:00
cynfo3000
f658f3c4db
fix: deleteAPIKey this.del statt this.delete (JS-Fehler)
2026-03-09 23:55:45 +01:00
cynfo3000
ec30be7246
security: API-Key Permissions + Customer-Scoping
...
- DB Migration: api_keys bekommt 'permissions' + 'customer_id' Spalten
- Permissions: agent | read | write | admin
- agent: nur /api/v1/agent/ws + /api/v1/agent/heartbeat
- read: GET-Endpoints (optional customer-scoped)
- write: alles ausser Terminal
- admin: voll (Terminal bleibt JWT-only)
- Bestehende Keys werden auf 'admin' migriert (Abwaertskompatibilitaet)
- Frontend: API-Key Verwaltung zeigt Permissions-Badge + Kunden-Scope
- API-Client: createAPIKey nimmt jetzt permissions + customer_id
2026-03-09 23:52:26 +01:00
cynfo3000
e9a47bee26
fix: Terminal Auth per JWT-Token statt leerem API-Key
...
- TerminalModal nutzt jetzt JWT aus localStorage (api.getToken()) fuer WS-Auth
- Backend Middleware: ?token= Query-Parameter fuer WebSocket JWT-Auth
- Behebt: api_key= leer -> 401 -> Terminal nicht erreichbar
2026-03-09 23:39:38 +01:00
cynfo3000
291d2e3c17
feat: VM/CT Start/Stop im Frontend + Agent proxmox_action Handler
...
- Agent: neuer 'proxmox_action' Command (start/stop/shutdown fuer VMs und LXC)
- Backend: POST /api/v1/agents/{id}/proxmox/action Endpoint
- Frontend: Start/Stop/Shutdown Buttons in VMs- und Container-Tab
- Play (gruen) = starten (nur wenn gestoppt)
- Power (gelb) = Graceful Shutdown (nur VMs, nur wenn running)
- Stop (rot) = Hard Stop (wenn running)
- api/client.js: proxmoxAction() Methode
2026-03-09 20:22:45 +01:00
cynfo3000
4cd9764cec
docs: config.example.js auf aktuelles Runtime-Config-Pattern gebracht
2026-03-09 19:11:58 +01:00
cynfo3000
10684dfc0a
feat: TOTP 2FA + diverse Verbesserungen
...
2FA (TOTP):
- backend/api/auth.go: zweistufiger Login-Flow mit Pending-Token (5min),
Endpunkte /2fa/validate, /2fa/setup, /2fa/confirm, /2fa/disable
- backend/db/users.go: GetUserByID, SetTOTPSecret, EnableTOTP, DisableTOTP
- backend/db/postgres.go: Migration totp_secret + totp_enabled Spalten
- backend/models/user.go: TOTPEnabled/TOTPSecret Felder, neue Request-Typen
- backend/main.go: neue Routen registriert (/2fa/validate ohne Auth, rest geschuetzt)
- backend/go.mod+sum: github.com/pquerna/otp hinzugefuegt
- frontend/src/pages/Login.jsx: zweistufiger Login (Passwort -> TOTP)
- frontend/src/pages/SettingsPage.jsx: TwoFactorSection mit Setup/Deaktivieren
- frontend/src/stores/auth.js: validateTOTP Action
- frontend/src/api/client.js: setupTOTP, confirmTOTP, disableTOTP, validateTOTP
Weitere Aenderungen (unstaged -> jetzt committed):
- frontend/src/components/ScriptModal.jsx: neu
- frontend/src/components/AgentPanel.jsx: Erweiterungen
- frontend/src/components/ProxmoxPanel.jsx: Erweiterungen
- agent-linux/ws/handler.go: Erweiterungen
- backend/api/scheduler.go + tasks.go: Erweiterungen
- backend/db/tasks.go + models/task.go: Erweiterungen
2026-03-08 19:17:43 +01:00
cynfo3000
c76868e806
feat: Updates-Tab, Aufgaben-Tab ProxmoxPanel, security_only Tasks, 3x Netzwerk-Charts, Updates-Spalte Übersicht, dist-upgrade, DeleteAgent cascades metrics
2026-03-07 14:30:12 +01:00
cynfo3000
b4caf498a0
feat: Web Terminal in OPNsense TunnelTab; README auf Multi-Platform aktualisiert (OPNsense + Linux/Proxmox)
2026-03-07 00:36:54 +01:00
cynfo3000
e44bd314e8
fix: Terminal WS ueber Nginx-Proxy statt direkt zum Backend (kein self-signed Cert Problem)
2026-03-07 00:30:59 +01:00
cynfo3000
fa623569f6
fix: copyToClipboard Fallback fuer HTTP-Kontext (navigator.clipboard nur HTTPS)
2026-03-07 00:26:42 +01:00
cynfo3000
73ff57eaf0
fix: Proxmox TunnelTab SSH-Copy identisch zu OPNsense (auto-copy + grüne Bestätigung + SSH-Button pro Tunnel)
2026-03-07 00:24:29 +01:00
cynfo3000
67a337ed9f
feat: Web Terminal (xterm.js + PTY over WebSocket) + SSH-Copy-Karte im Tunnel-Tab
2026-03-07 00:20:03 +01:00
cynfo3000
3c83cf11de
feat: PBS — Disk-Auslastung via df, laufende Tasks, Kacheln kleiner ohne Debian-Version
2026-03-07 00:08:01 +01:00
cynfo3000
7ebbdc76cb
fix: React.useState -> useState in PBSTab
2026-03-06 23:37:55 +01:00
cynfo3000
1204e05d0b
feat: PBS Tab — Stat-Karten (Datastores/Backups/SyncJobs/Kernel) + neues Layout
2026-03-06 23:36:48 +01:00
cynfo3000
67651a5aeb
feat: PBS Datastores — Backup-Anzahl, neues Layout mit GC/Verify/Prune Buttons
2026-03-06 23:34:43 +01:00
cynfo3000
474a396589
feat: PBS-Badge neben Hostname in Proxmox-Uebersicht
2026-03-06 23:11:13 +01:00
cynfo3000
c1d1bd8a5e
feat: PBS Collector — automatische Erkennung, Datastores + Tasks + GC, Frontend-Tab 'Backup Server'
2026-03-06 23:02:54 +01:00
cynfo3000
a0fb6b465f
fix: Linux Installationsanleitung auf /installer/download Endpoint und install-linux.sh umgestellt
2026-03-06 22:22:26 +01:00
cynfo3000
9cb504fea1
feat: Interface-Durchsatz-Chart — Backend berechnet RX/TX-Rate (bps), Frontend zeigt Dual-Sparkline per Klick auf Interface
2026-03-06 22:00:33 +01:00
cynfo3000
eb5266f848
feat: Sparkline-Charts für CPU und RAM (8h) — generischer useMetricChart Hook
2026-03-06 21:56:03 +01:00
cynfo3000
aca013b848
feat: PF States Chart (Sparkline letzte 8h) — Backend schreibt pf_states in TimescaleDB, Frontend zeigt SVG-Sparkline
2026-03-06 21:47:47 +01:00
cynfo3000
28ebb5378d
docs: FRONTEND.md vollständig (Nginx, Node, config.js, deploy) + config.js aus Repo entfernt
2026-03-06 09:30:33 +01:00
cynfo3000
48ac353d28
Initial commit — cynfo RMM (clean history, no secrets)
2026-03-06 09:18:45 +01:00
cynfo3000
d4b6ca86e5
feat: Task Health Check + customer_number in webhook payload
...
- Task model: CustomerNumber field (K-Nummer aus customers.number)
- DB: taskSelectCols joined c.number, scanTask scans CustomerNumber
- Hub: WaitForAgentOnline() polls until agent reconnects or timeout
- Scheduler: executeUpdateWithHealthCheck() waits for agent reconnect after update
- health_check: {agent_online: bool, checked_at: RFC3339} in result
- Status: completed_with_warning wenn Update OK aber Agent offline bleibt
- Frontend: Task-Tabelle zeigt Status-Badge (lauft/fehler/warnung/abgebr.)
2026-03-05 10:53:08 +01:00
cynfo3000
721fd5008f
Feature: Recurring jobs with professional scheduling dialog
2026-03-05 09:39:41 +01:00
cynfo3000
f4a28463b7
Feature: PF States, HAProxy + Caddy collectors and dashboard
2026-03-05 09:29:14 +01:00
cynfo3000
31369381d0
UI: Two-level navigation in AgentPanel (DATAZONE style)
2026-03-05 09:09:54 +01:00
cynfo3000
7908ae26a0
Feature: Task Scheduler - planned tasks with webhook support
2026-03-05 08:59:53 +01:00
cynfo3000
e1a3246075
UI: Installationsanleitung Button auf Firewalls und Proxmox Seiten
2026-03-05 07:35:59 +01:00
cynfo3000
5b503e6dba
Feature: System settings in DB - configurable backend URLs and API key
2026-03-04 23:57:14 +01:00
cynfo3000
a64ee3b944
Config: config.js.example with placeholders, real config.js in .gitignore
2026-03-04 23:51:14 +01:00
cynfo3000
70b10a4291
Feature: Audit-Log - tracks all user actions with timestamps
2026-03-04 23:45:01 +01:00
cynfo3000
06189a1468
Feature: Sicherheit Tab - SSH Login Audit + Session History
2026-03-04 23:16:18 +01:00
cynfo3000
7f5bb07409
Security: remove hardcoded credentials, use placeholders and config
2026-03-04 08:17:37 +01:00