- address the live device by ddns and call /cmd via bare axios
- write the response body once on timeout (was written twice)
- group results by outcome and show stderr in the detail dialog
- default user to root, minimum wait 1s, warn on long/streaming commands
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
Quote $TOKEN in the rtty watchdog so an empty token no longer consumes -d
(empty MAC), and reject empty-MAC registrations before the devices upsert
to avoid the UNIQUE constraint failure.
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
Form validation messages and imperative t() toasts (e.g. delete-user
success) no longer stay stuck in the previous language.
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
Route button labels through the project's vue-i18n; the upstream
fallback only knew en/zh and crashed the footer in de/es/fr/ja/ko.
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
- Add Popconfirm to ant-design-vue component registration to fix recipient removal
- Set device name column width to 200px for balanced table layout
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
- SMTP config with TLS/STARTTLS/plain support and test email
- Notification rules for device online, offline, and remote access
- Recipient management with add/remove endpoints
- Async email sending via goroutines to avoid blocking device runtime
- Admin settings page with SMTP, rules, and recipients sections
- Bell icon added to sidebar menu
- i18n support for all 7 languages
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
- Add locale files for Japanese, Korean, German, French, and Spanish
- Extend language enum and options beyond gl-web-main's zh/en
- Register all locales in i18n and ant-design-vue config
- Auto-detect browser language for all supported locales
- Add language switcher to header after login
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
- Record device online/offline, remote SSH, Web and Control sessions
- Add device_event_logs table with MAC, event type and time range indexes
- Distinguish remote_control vs remote_web by device client type
- Admin-only log page with device/access tabs, duration column and filters
- Permission-gated sidebar entry (device_log.read)
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
- Personal Center page with profile editing and last-login info
- TOTP-based two-factor authentication with QR code setup
- 30-day trusted-device cookie to skip 2FA on familiar browsers
- Friendly browser/OS labels for the trusted device list
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
- Introduced LDAP authentication configuration options in the README and Docker Compose files.
- Updated API to handle dual authentication methods (LDAP and legacy).
- Implemented LDAP authentication logic in a new ldap.go file.
- Enhanced user login flow to support username and password for LDAP.
- Added error handling for authorization and authentication failures.
- Updated UI to include username input when LDAP is enabled and provide authentication options.
- Added localization for new authentication messages in English and Chinese.