Gan, Jimmy
b03b20aee6
feat: terminal tabs with on-demand connections and Claude Dev host
2026-02-26 02:59:25 +08:00
Gan, Jimmy
332696689a
fix: support port 8443 origin for WebAuthn passkeys and CORS
2026-02-26 02:00:29 +08:00
jimmy
f384a220c7
revert test commit
2026-02-25 13:46:29 +00:00
jimmy
c473552d3c
test: verify Claude Code on NAS can build+deploy
2026-02-25 13:40:11 +00:00
Gan, Jimmy
6c3bb26c3d
Clean up: remove stale scripts/docs, fix debug prints, update PLAN.md
2026-02-24 10:14:48 +08:00
Gan, Jimmy
549af23c14
Fix storage display: deduplicate volumes by device
2026-02-22 18:37:49 +08:00
Gan, Jimmy
87fdabcd50
Fix OpenClaw: auto-include gateway token in dashboard link
2026-02-22 18:30:34 +08:00
Gan, Jimmy
8797231f53
Add container health status, multi-volume storage, auto-refresh Overview
2026-02-22 17:11:17 +08:00
Gan, Jimmy
d388657d04
Fix audit log timezone to UTC+8
2026-02-22 12:42:21 +08:00
Gan, Jimmy
4a666c2914
Categorize audit log by threat level with filtering UI
2026-02-22 12:38:59 +08:00
Gan, Jimmy
a32588a7cc
Add audit log viewer to Settings page
2026-02-22 12:34:21 +08:00
Gan, Jimmy
19b3de3c91
Show passkey names and dates, add individual delete
2026-02-22 12:20:05 +08:00
Gan, Jimmy
be1f3b3ad6
Add security improvements: refresh tokens, passkeys, CSP, audit logging, TOTP encryption
...
- Shorten access token to 30min with 7-day refresh token flow
- Add WebAuthn passkey registration and login with TOTP fallback
- Add Content-Security-Policy header
- Add audit logging middleware to /volume1/docker/nas-dashboard/audit.log
- Block /volume1/docker/ in files endpoint
- Encrypt TOTP secret at rest with Fernet (derived from SECRET_KEY)
- New deps: py_webauthn, cryptography
2026-02-22 11:04:40 +08:00
Gan, Jimmy
b1dee47126
Add CORS, rate limiting, security headers, and files endpoint protection
2026-02-21 11:18:29 +08:00
Gan, Jimmy
17e7073fab
Fix proxy env bug in Telegram alert
2026-02-20 22:21:16 +08:00
Gan, Jimmy
dd3e8e0d2c
security: remove hardcoded secrets, add health endpoint, add security headers
2026-02-20 22:04:01 +08:00
Gan, Jimmy
7aec5976df
fix: resolve OpenClaw iframe connection refused and Docker HTTP proxy conflict
2026-02-20 17:25:16 +08:00
Gan, Jimmy
ec2f60fb2f
fix: add proxy support to httpx to allow Telegram API requests
2026-02-20 10:36:59 +08:00
Gan, Jimmy
b063382085
feat: add container monitor & telegram alerts
...
Added asyncio monitoring task to main.py to watch Docker container state transitions and send Telegram notifications on failures.
2026-02-20 10:31:18 +08:00
Gan, Jimmy
a882f45f2e
Add multi-host terminal: NAS + VPS side-by-side
2026-02-20 00:53:29 +08:00
Gan, Jimmy
64ecd99dc7
Add OpenClaw, backup automation, health checks, Telegram notifications
...
Phase 6: OpenClaw docker-compose (port 3100) with health check
Phase 9: Enhanced backup.sh with full DB/config coverage + Telegram alerts
Phase 10: Health checks on all compose files, /api/system/notify endpoint
2026-02-19 21:40:34 +08:00
Gan, Jimmy
6f540ccdce
Fix terminal: use create_process with binary encoding for PTY I/O
2026-02-19 20:32:36 +08:00
Gan, Jimmy
197b7c1cbb
Fix session expiry: use config value, increase to 7 days
...
- LOGIN was ignoring ACCESS_TOKEN_EXPIRE_MINUTES (hardcoded 15min default)
- Pass expires_delta from config in login route
- Increase token lifetime from 30min to 7 days
2026-02-19 19:44:30 +08:00
Gan, Jimmy
ee2e5dcb3c
Terminal: SSH to NAS host instead of container shell
...
- Rewrite terminal.py to use asyncssh instead of pty/fork
- Add SSH key pair for dashboard container auth
- Mount SSH key and add SSH config vars in docker-compose
- Install openssh-client in Dockerfile
- Add asyncssh to requirements.txt
2026-02-19 19:24:38 +08:00
Gan, Jimmy
69bd41b5a1
Fix terminal: pass JWT via query param, remove Docker-incompatible IP check
Deploy Dashboard / deploy (push) Failing after 2m11s
2026-02-19 17:44:55 +08:00
Gan, Jimmy
bf49e13e56
Add settings page with change password, fix terminal ws bug
Deploy Dashboard / deploy (push) Failing after 2m5s
2026-02-19 17:29:03 +08:00
Gan, Jimmy
4036292273
Bump version to v1.3 — runner DNS fixed
Deploy Dashboard / deploy (push) Successful in 3m39s
2026-02-19 10:26:40 +08:00
Gan, Jimmy
91c8d1b775
Bump version to v1.2 — CI/CD pipeline test
Deploy Dashboard / deploy (push) Failing after 2m6s
2026-02-19 10:18:32 +08:00
Gan, Jimmy
7aeabe1839
Test CI/CD: add version comment
Deploy Dashboard / deploy (push) Failing after 17s
2026-02-19 10:15:14 +08:00
Gan, Jimmy
75c89b1ef9
Fix auth crashes + add CI/CD workflow
...
Deploy Dashboard / deploy (push) Failing after 6m59s
- Fix jose->pyjwt import mismatch
- Fix bcrypt->pbkdf2 password hashing
- Fix Sidebar logout prop (ReferenceError)
- Add .gitea/workflows/deploy.yml for automated deployment
2026-02-19 10:04:38 +08:00
Gan, Jimmy
651bc0580e
Phase 7: Auth & Security upgrade (JWT, 2FA, Login UI)
2026-02-19 03:47:48 +08:00
Gan, Jimmy
f3db7d3654
Dashboard UI overhaul: modern design with system stats, SVG icons, Inter font, theme toggle, loading states, and log modal
2026-02-19 02:29:25 +08:00
Gan, Jimmy
dc605d8e8a
Add NAS dashboard: FastAPI + Svelte with Docker mgmt, Gitea, files, terminal
2026-02-19 01:59:50 +08:00
Gan, Jimmy
70aa421d7f
Add NAS dashboard MVP: Docker mgmt, Gitea, Files, Terminal
2026-02-19 01:59:50 +08:00