Phantom OFFLINE/online Telegram spam from brief poll failures.
Wait 5 min sustained offline, re-verify auth before alerting,
30 min cooldown between repeat alerts, single recovery message.
Co-authored-by: Cursor <cursoragent@cursor.com>
Wire keenetic monitor loop and router into main app. Add deduplicated
Telegram alerts for router offline, internet, CPU/RAM, and VPN down.
Update README with KeenDNS edit, import format, troubleshooting.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Footer on dashboard, login, Telegram Mini App
- Author section in README
- Consistent styling across light/dark themes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Switch xterm.js from cdnjs (404) to jsdelivr (working)
- Add xterm-addon-fit for auto-resize terminal
- Change default port from 8000 to 7272 everywhere
- Install script: --port flag for custom port selection
- sed-based port injection into systemd service at install time
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- FastAPI backend with auth, server CRUD, metrics collection
- Web dashboard with dark theme, server cards, SSH terminal (xterm.js)
- Telegram bot with inline keyboards, server management, reboot
- Telegram Mini App for mobile monitoring
- Background monitoring via asyncssh (CPU, RAM, Disk, Network, Uptime)
- Alert system with configurable thresholds
- WebSocket SSH terminal in browser
- One-command install script
- Systemd service configuration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>