Commit Graph

6 Commits

Author SHA1 Message Date
96c8476f77 feat: add minimal web dashboard with stats, top credentials, and sessions
Implements Phase 1.5 — an embedded web UI using Go templates, Pico CSS
(dark theme), and htmx for auto-refreshing stats and active sessions.

Adds read query methods to the Store interface (GetDashboardStats,
GetTopUsernames, GetTopPasswords, GetTopIPs, GetRecentSessions) with
implementations for both SQLite and MemoryStore. Introduces the
internal/web package with server, handlers, templates, and tests.
Web server is opt-in via [web] config section and runs alongside
SSH with graceful shutdown. Bumps version to 0.2.0.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:59:12 +01:00
85e79c97ac docs: mark phase 1.4 as complete in PLAN.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:34:28 +01:00
ae9924ffbb docs: detail shell interface design decisions for phase 1.4
Add session context, shell configuration, and transparent I/O recording
design notes based on exploration of available SSH library context and
forward-planning for session replay (phase 2.3).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 17:43:51 +01:00
d655968216 feat: add SQLite storage for login attempts and sessions
Adds persistent storage using modernc.org/sqlite (pure Go). Login
attempts are deduplicated by (username, password, ip) with counts.
Sessions and session logs are tracked with UUID IDs. Includes embedded
SQL migrations, configurable retention with background pruning, and
an in-memory store for tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 17:33:45 +01:00
fc872b9c1b docs: mark phases 1.1 and 1.2 as complete in PLAN.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 16:53:36 +01:00
f657b90357 chore: initial commit
Add project scaffolding: CLAUDE.md, PLAN.md, README.md, flake.nix, and go.mod.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 16:18:04 +01:00