PapaTramp
80320ae698
fix: harden SAC security per audit (0.4.15)
...
Close audit findings: anti-spoof client IP for login rate limit, JWT/CORS
enforce on startup, SSH host-key verification and sudo via stdin, optional
WinRM HTTPS, SSE httpOnly cookie auth, ingest body limit, ILIKE escaping,
and HMAC API key hashing with legacy SHA-256 fallback.
2026-07-07 19:32:12 +10:00
PapaTramp
407ef37004
fix: strict RDG 302/303 IP pairing keeps break button visible (0.3.6)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 16:30:16 +10:00
PapaTramp
64b942447b
fix: reconcile daily report active users count and list (0.3.5)
...
Normalize empty-session placeholders; sync stats with report body after ingest.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-23 14:41:47 +10:00
PapaTramp
8b52c5fe3c
fix: show RDS break only on active or flap 302 events (0.3.4)
...
Hide Obryv RDS on 303 and on 302 after normal session end; keep for open sessions and RDG flap.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 20:15:47 +10:00
PapaTramp
fbd213f323
chore: bump npm dompurify and vite for audit fixes (0.3.3)
...
dompurify 3.4.11, vite 6.4.3 — npm audit reports 0 vulnerabilities.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 20:13:43 +10:00
PapaTramp
1b96a3b2c7
fix: RDG event label and prefix type filter (0.3.2)
...
Use event 302/303 instead of Win302 in RDG titles. Match event types by prefix in events list (e.g. rdg.connection).
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 20:07:22 +10:00
PapaTramp
24ca87a47a
feat: RDG 302/303 display path labels and RDS session break (0.3.1)
...
Show RDS access via RDG-Comp or Haproxy-RDG-Comp, enable qwinsta/logoff on any RDG event with internal_ip.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 19:52:22 +10:00
PapaTramp
4eb41608ea
chore: release SAC 0.3.0
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 16:07:54 +10:00
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
fe818e9946
feat(frontend): terminate session button on Overview recent events (0.20.33)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 15:44:49 +10:00
PapaTramp
5e26834e16
feat(frontend): git agent versions plate on Hosts list (0.20.32)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 15:17:47 +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
fc66b57e78
fix(frontend): match sessions panel height to agent config until loaded (0.20.30)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 10:31:38 +10:00
PapaTramp
ad2425b0ff
fix(frontend): place host sessions panel beside agent config (0.20.29)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 10:22:20 +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
ca0255e13b
fix(frontend): live refresh Events list via SSE (0.20.27)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-22 09:11:19 +10:00
PapaTramp
d96d9d6333
fix(frontend): remove UTF-8 BOM from package.json — breaks vite build (0.20.26)
...
PostCSS config load failed with SyntaxError at position 0 on Linux deploy.
2026-06-21 20:50:13 +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
87ac1e09b0
fix: widen remote action log panel and wrap long WinRM output (0.20.22)
2026-06-21 11:30:37 +10:00
PapaTramp
8adaf3bfd3
fix: WinRM update panel no longer blocks SAC navigation (0.20.21)
2026-06-21 11:07:28 +10:00
PapaTramp
8a451a0c49
fix: alembic 022 down_revision must be 021 not 021_agent_git_release (0.20.20)
2026-06-21 11:04:07 +10:00
PapaTramp
5635be1322
feat: background remote agent updates survive SAC navigation (0.20.19)
2026-06-21 11:01:26 +10:00
PapaTramp
07b97bd111
fix: inline git test feedback and use form URLs (0.20.1)
...
Show git check result next to the button, scroll into view, and test unsaved repo URLs from the form.
2026-06-20 16:29:48 +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
d820d941c1
fix: hide SSH/WinRM test feedback after 30s (0.12.1)
...
WinRM success message now auto-hides like SSH; both use 30 second timeout instead of 60.
2026-06-20 15:57:15 +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
df4c93d243
chore: release 0.10.0 (agent control plane phase 1)
...
Minor release: RDG flap, qwinsta/logoff queue, dashboard UI, agent poll API.
2026-06-19 23:42:03 +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
b328d32f97
docs: agent control plane concept (v0.9.12)
...
Утверждённая концепция v0.7: RDG flap, qwinsta/logoff, обновления
агентов и desired config. Только документация и bump версии — runtime
без изменений.
2026-06-19 23:25:54 +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
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
e65daa8c3b
chore: sync frontend version.ts with API 0.8.3
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 09:11:41 +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
141fc44099
feat: SAC 0.7.3 custom error pages 401/403/404/429
...
Centered logo pages with event explanation and allowed actions; router
and apiFetch redirect to them on auth, permission, not-found, and rate-limit errors.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-01 11:06:21 +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
06a8ed8614
feat: events date filter and preserve list page in URL (SAC 0.7.1)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-01 10:32:24 +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
8de5d14cfb
feat: SAC 0.6.0 user edit UI, login to dashboard, daily report timer sync
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-01 09:55:12 +10:00
PapaTramp
dce5b88b2f
feat: move navigation to dashboard sidebar and bump SAC to 0.5.0
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 13:45:25 +10:00
PapaTramp
b404747f8d
test: version constants without DB import
2026-05-27 13:21:02 +10:00