Commit Graph

81 Commits

Author SHA1 Message Date
PapaTramp 6e3f0ede4d fix(backend): loginctl JSON parse and filter ephemeral SSH sessions (0.20.34)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-22 16:00:02 +10:00
PapaTramp 54c1d96933 fix(backend): non-login SSH and strict loginctl parse, SSH retry (0.20.31)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-22 10:54:56 +10:00
PapaTramp d848d94604 feat: host session list/terminate and event session actions (0.20.28)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-22 10:13:42 +10:00
PapaTramp 7397ec30cd fix(winrm): resolve System32 path for cmd test on minimal PATH (0.20.25)
WinRM run_cmd(hostname) failed on hosts where System32 is not in PATH.
2026-06-21 20:49:01 +10:00
PapaTramp bf7c83c408 feat: hide event types from SAC UI via Settings checkbox (0.20.23)
Per-type «Показывать в событиях» in severity settings; filters lists, dashboard, hosts, and problems.
2026-06-21 20:13:40 +10:00
PapaTramp 5635be1322 feat: background remote agent updates survive SAC navigation (0.20.19) 2026-06-21 11:01:26 +10:00
PapaTramp f3a8952947 fix: friendly 502 handling, 2 uvicorn workers, file bundle cache (0.20.18) 2026-06-20 20:01:46 +10:00
PapaTramp 4d9a9e7e2b fix: decode WinRM Cyrillic from CP866 and show deploy.log UTF-8 (0.20.17) 2026-06-20 19:58:54 +10:00
PapaTramp 9484160045 fix: UTF-8 BOM in RDP bundle zip for Russian Windows PowerShell (0.20.16) 2026-06-20 19:54:12 +10:00
PapaTramp 6acbfe22de fix: deliver RDP bundle via SAC HTTP zip download, not WinRM chunks (0.20.15) 2026-06-20 19:51:45 +10:00
PapaTramp ca90f5c296 fix: SAC pushes RDP bundle from git via WinRM, no client git (0.20.14) 2026-06-20 19:49:20 +10:00
PapaTramp 191fb4e2cf fix: WinRM RDP update only via git clone on client (0.20.13) 2026-06-20 19:46:22 +10:00
PapaTramp 8c1a8fddb1 fix: WinRM RDP update via NETLOGON Deploy, git fallback (0.20.12) 2026-06-20 19:43:34 +10:00
PapaTramp 05408e17c3 fix: WinRM RDP update via run_ps, strip CLIXML noise (0.20.11) 2026-06-20 19:41:05 +10:00
PapaTramp d3517a5706 fix: WinRM RDP update PowerShell quoting via EncodedCommand (0.20.10)
Broken -Command quotes caused ParserError on remote hosts; run deploy script through base64-encoded PowerShell.
2026-06-20 19:35:57 +10:00
PapaTramp ec5ec62240 fix: enforce SAC git URL when updating ssh-monitor agents (0.20.8)
Pass REPO_URL/GIT_BRANCH from agent settings over SSH, preflight git remotes on stale hosts, and stop using GitHub origin on routers.
2026-06-20 19:28:14 +10:00
PapaTramp fc9d630263 docs: refresh README; allow monitor JWT for RDG qwinsta/logoff (0.20.6)
Update platform docs for current features; Seaca and web operators with
monitor role can trigger WinRM actions via SAC API.
2026-06-20 19:02:58 +10:00
PapaTramp 01d72d0f68 fix: show RDG flap badge on 302 and 303 events in SAC UI (0.20.5)
Seaca surfaced flap via Problems; the web UI only flagged 303 in DB and had
no visible label. Resolve flap pairs at read time and show badge plus qwinsta
on both sides of 302→303.
2026-06-20 17:27:41 +10:00
PapaTramp c21043d845 feat: bootstrap ssh-monitor updater when missing on host (0.20.2)
SAC now clones the ssh-monitor repo and installs update_ssh_monitor.sh before running the update when the remote updater script is absent.
2026-06-20 17:01:06 +10:00
PapaTramp f411d8f070 feat: git-based agent version reference and unified outdated badge (0.20.0)
SAC reads latest RDP/ssh-monitor versions from configured git repos for outdated detection, update targets, and settings test-git.
2026-06-20 16:25:53 +10:00
PapaTramp cd2f27792d feat: agent updates from SAC, poll config, SSH/WinRM fallback (0.12.0)
Add agent update settings, pending self-update via poll, desired config per host, and automatic or manual SSH/WinRM fallback when agents do not report agent.update events.
2026-06-20 15:52:10 +10:00
PapaTramp 75f4c475df feat: RDG qwinsta/logoff via WinRM on client workstation (0.11.6)
SAC resolves internal_ip to a registered Windows host and runs qwinsta/logoff synchronously over WinRM instead of queueing commands to the gateway agent.
2026-06-20 15:36:12 +10:00
PapaTramp 2eb06acb5b feat: SSH card UX, agent version sync, persistent ssh_admin_ok (0.11.5)
Silent SSH probe on host card open; manual test feedback auto-hides. Persist ssh_admin_ok in DB (migration 019). After agent update read version from host and refresh UI.
2026-06-20 01:01:56 +10:00
PapaTramp 6fea8262fb fix: skip invalid/unresolvable SSH targets before connect (0.11.2)
Do not use human display_name as SSH host; skip short names that do not resolve on SAC (ubabuba -> IPv4 only).
2026-06-20 00:39:29 +10:00
PapaTramp 2e839e0b16 fix: SSH sudo without TTY for non-root Linux admin (0.11.1)
Probe commands run without sudo; privileged update uses sudo -S. Add SSH connect and Linux admin API tests.
2026-06-20 00:36:12 +10:00
PapaTramp cc8f50de89 feat: Linux SSH admin and remote ssh-monitor update (0.11.0) 2026-06-20 00:25:35 +10:00
PapaTramp 279ea925a8 fix: WinRM try host.hostname first like Enter-PSSession (0.10.4) 2026-06-20 00:13:02 +10:00
PapaTramp c8e3eef9d7 fix: WinRM NTLM username normalize and hostname-first targets (0.10.3) 2026-06-20 00:10:52 +10:00
PapaTramp 2fe492b06b fix: WinRM read_timeout must exceed operation_timeout (0.10.2) 2026-06-20 00:06:26 +10:00
PapaTramp 154ba3efc2 feat: Windows admin in Settings UI and WinRM host test (0.10.1)
Store domain admin in ui_settings (DB overrides env); qwinsta/logoff use effective config.
Host card: POST /hosts/{id}/actions/winrm-test via pywinrm.
2026-06-20 00:01:17 +10:00
PapaTramp 2aec488226 feat: RDG session flap rule, qwinsta/logoff queue and dashboard UI (0.9.13)
Detect 302→303 within 1–10s, Problem with 30s dedup, rdg_flap flag.
Agent command poll API, admin qwinsta/logoff from Overview. Migration 016.
2026-06-19 23:34:01 +10:00
PapaTramp 55f047cd35 fix: Seaca push uses same lifecycle text as Telegram (0.9.11)
Reuse telegram templates for FCM title/body so agent start/restart
reasons reach mobile without Seaca app changes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 11:35:17 +10:00
PapaTramp 3d36faa49d fix(mobile): повторный enroll и удаление устройств в UI (0.9.10).
При повторной привязке Seaca переиспользуется запись device_uuid вместо INSERT.
Добавлены POST /devices/{id}/revoke и DELETE для полного удаления записи в настройках SAC.
2026-06-13 16:36:07 +10:00
PapaTramp 7df718eed3 fix: 12h cooldown before reopening manually closed host_silence (0.9.9)
Track resolved_by on problems; suppress scan/ingest recreate after manual
resolve; reopen same problem after cooldown; auto-close via heartbeat unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 10:33:55 +10:00
PapaTramp 3f671b9899 fix: FCM data-only push so Seaca controls sound (0.9.6)
Send title and body in the data payload instead of notification block so
onMessageReceived always runs and the app can honour silent mode in background.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 10:03:28 +10:00
PapaTramp 3f7095ed03 fix: host_silence proactive notify when event is None
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 09:26:03 +10:00
PapaTramp e38bd8a52a fix: FCM must not break ingest; add requests dependency (0.9.3)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 17:30:32 +10:00
PapaTramp f9baf96d88 fix: test push errors, skip heartbeat notify, stale 5h (0.9.2)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 17:25:16 +10:00
PapaTramp 563b836acc feat: Seaca mobile API, enrollment, FCM push and admin UI (0.9.0)
Adds mobile device registration by admin codes, refresh tokens, push channel
in notification policy, and Settings section for managing Seaca clients.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 13:19:14 +10:00
PapaTramp 77e167b6e3 feat: add actor user column to events and dashboard tables
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 10:11:04 +10:00
PapaTramp f9d56621f6 feat: drill-down filters on overview and outdated agent version highlight
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 09:21:21 +10:00
PapaTramp aafb80fa31 feat: proactive host_silence scan for stale agent.heartbeat (0.8.3)
Background scan every 5 min opens rule:host_silence and notifies without
waiting for the next ingest event. CLI job + optional systemd timer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 09:07:32 +10:00
PapaTramp 54337a5917 feat: host inventory (agent.inventory), host detail page, UI columns
Store hardware/software snapshots on hosts; warn on hardware changes. Host card from Hosts list. Add agent version column to Events/Overview; rename Hosts table columns and sort by status.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-05 09:53:00 +10:00
PapaTramp 57793d24ba feat: SAC support smb.admin_share.access events from RDP agent
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 10:14:14 +10:00
PapaTramp 79185d9186 fix: show RD Gateway session duration in Telegram when present
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-03 10:07:51 +10:00
PapaTramp 0d4a50cd35 fix: dedupe daily report Telegram in dual mode and show host in summary fallback
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-03 09:15:21 +10:00
PapaTramp 3053058cdf feat: SAC 0.7.4 sidebar system stats block with UI toggle
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 09:15:15 +10:00
PapaTramp d3a337992c feat: SAC 0.7.2 security hardening (rate limit, JWT DB check, DOMPurify)
Path traversal fix in SPA fallback, admin-only host delete, login rate limit
with 3 attempts and Telegram alert, JWT validated against active users in DB,
and DOMPurify for agent report HTML.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 11:04:14 +10:00
PapaTramp de29270a25 feat: SAC 0.7.0 display_name columns and event severity overrides
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 10:21:43 +10:00
PapaTramp 56c469ddbd feat: multi-user UI login with admin and monitor roles
Add sac_users table, JWT roles, settings/users API guarded for admin, Users page in UI, and sac_manage_user.py CLI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 09:27:14 +10:00