126 Commits

Author SHA1 Message Date
GL.iNet-Yongping.Xie 8648908793 fix(cmd): fix execute-command execution and result display
- 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>
2026-08-20 00:39:17 -07:00
pengyu.lu afe4cb9370 fix(ui): fix execute command feature 2026-08-20 11:40:13 +08:00
GL.iNet-Yongping.Xie c6c57e450c feat(devices): add online/offline status filter to device list
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
2026-06-24 02:05:28 -07:00
GL.iNet-Yongping.Xie 428d296881 fix(devices): show total device count in header, not current page
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
2026-06-24 01:42:53 -07:00
GL.iNet-Yongping.Xie 2abb1cff9a feat(devices): server-side pagination & search for device list (50/page)
Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
2026-06-23 23:22:54 -07:00
GL.iNet-Yongping.Xie b871dda40c fix(device): guard against empty token/MAC on registration
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>
2026-06-22 21:31:33 -07:00
GL.iNet-Yongping.Xie cbe724f425 fix: keep i18n messages reactive after language switch
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>
2026-04-23 00:05:19 -07:00
GL.iNet-Yongping.Xie 53b7ee4e9e fix: render modal Confirm/Cancel buttons in all locales
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>
2026-04-22 21:01:27 -07:00
GL.iNet-Yongping.Xie c973b41a36 fix: enforce route permission guard and await user info on login
- Add beforeEach route guard to block access to permission-restricted pages
- Await fetchUserInfo() in login flow to ensure permissions load before navigation

Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
2026-04-08 01:25:52 -07:00
GL.iNet-Yongping.Xie fbc269c63a fix: register Popconfirm component and adjust trusted device column width
- 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>
2026-04-07 23:22:56 -07:00
GL.iNet-Yongping.Xie 9459b4709c feat: add email notification for device events
- 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>
2026-04-07 21:02:24 -07:00
GL.iNet-Yongping.Xie f5a8a6ddb6 feat: add multi-language support (ja, ko, de, fr, es)
- 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>
2026-04-07 20:08:38 -07:00
GL.iNet-Yongping.Xie 53b95b71e6 feat: add device event logging with admin log viewer
- 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>
2026-04-07 19:41:33 -07:00
GL.iNet-Yongping.Xie f49525ee9c feat: add personal center with TOTP 2FA and trusted devices
- 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>
2026-04-06 21:17:44 -07:00
GL.iNet-Yongping.Xie 40a1d23ea2 feat: support self-hosted firmware WebUI interface
Add support for the self-hosted firmware WebUI interface.

Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
2026-03-30 00:12:20 -07:00
pengyu.lu ea37a171e9 Merge branch 'main' into dev-ui-0129 2026-03-25 11:45:00 +08:00
pengyu.lu 689793d47f feat: Some UI experiences have been optimized 2026-03-25 11:44:22 +08:00
pengyu.lu 30a132cb4e Merge branch 'dev-ui-0129' 2026-03-10 11:56:20 +08:00
pengyu.lu 52117f044b feat: Optimize the logic for storing data on the front end 2026-03-10 11:56:03 +08:00
pengyu.lu 884f537ae8 Merge branch 'dev-ui-0129' 2026-03-10 10:46:19 +08:00
pengyu.lu 807bab3e2a fix: Fix the issue where the version number is displayed with double quotes 2026-03-10 10:45:56 +08:00
pengyu.lu 3d75a87140 Merge branch 'dev-ui-0129' 2026-03-10 10:17:54 +08:00
pengyu.lu d237847f0d feat: Some UI issues have been optimized to enhance user experience 2026-03-10 10:17:26 +08:00
pengyu.lu 96936ecdd8 Merge branch 'dev-ui-0129' 2026-02-28 10:10:40 +08:00
pengyu.lu a44c9a4833 fix: Fix some UI issues 2026-02-28 10:10:11 +08:00
GL.iNet-Yongping.Xie 13dca8b190 Merge remote-tracking branch 'origin/dev-ui-0129' 2026-02-23 18:14:45 -08:00
pengyu.lu a8414dd025 fix: Optimize the script logic for adding devices 2026-02-12 10:11:43 +08:00
GL.iNet-Yongping.Xie e3857e9f61 Merge remote-tracking branch 'origin/dev-ui-0129' into feature/user-device-group 2026-02-09 17:53:24 -08:00
pengyu.lu f3c32b186c fix: Fixed some ui issues 2026-02-10 09:50:01 +08:00
pengyu.lu 3a503d0e77 feat: Add functions related to device permissions and user permissions 2026-02-06 18:07:17 +08:00
GL.iNet-Yongping.Xie d93e5953ad fix: refactor rtty project structure
Clean up and reorganize the project layout to improve readability and maintainability.

Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
2026-01-21 02:04:36 -08:00
pengyu.lu 8994cccb25 feat: Add the display of version numbers 2026-01-05 14:36:34 +08:00
pengyu.lu 7ed0e263d1 feat: Add the function of deleting devices 2025-12-10 14:24:14 +08:00
pengyu.lu 61172cc9c4 feat: Optimize the UI and add the function of editing descriptions 2025-12-10 11:43:37 +08:00
pengyu.lu a9711565cd feat: Add the function of logging in with OIDC 2025-11-12 17:51:54 +08:00
Jon Agramonte 5e16e10e9a feat: add optional LDAP authentication support
- 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.
2025-09-29 09:59:14 -04:00
pengyu.lu 3c6c214479 fix: Fixed the issue where the gl/main dependency could not be downloaded 2025-09-25 11:40:26 +08:00
pengyu.lu d18637fa5d feat: Modify the rtty regarding the jump address of the button 2025-09-05 12:28:13 +08:00
pengyu.lu 876a77b55b feat: Set the default language according to the browser language 2025-09-04 17:05:23 +08:00
pengyu.lu 6bf91b2ebf feat: Modify the prompt message for adding device pop-up Windows 2025-09-04 12:26:10 +08:00
pengyu.lu 63b8dd295b fix: fix the issue of incorrect time calculation in the list 2025-08-29 16:53:18 +08:00
pengyu.lu fc820b0bfa feat: New version UI development 2025-08-29 09:23:56 +08:00
GL.iNet-Yongping.Xie 0b0763aeb5 feat: Update adding device script
Supported run rtty client to connnected glkvm cloud when reboot

Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
2025-08-06 20:08:23 -07:00
GL.iNet-Yongping.Xie 34f44ead46 feat: Update glkvm cloud setup script
Update glkvm cloud setup script

Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
2025-07-30 02:25:01 -07:00
ClanXie b26e81f6fc feat: Add coturn docker to docker-compose
Add coturn docker to docker-compose

Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
2025-07-28 03:23:24 +00:00
ClanXie 36355871a7 feat: Optimize and test adding device script
Optimize and test adding device script

Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
2025-07-25 09:59:38 +00:00
ClanXie 480844bfbc feat: build rtty docker images
build rtty docker images

Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
2025-07-25 09:21:18 +00:00
ClanXie 897bf4d4c9 feat: Add selfhost feature for KVM production
Add selfhost feature for KVM production

Signed-off-by: GL.iNet-Yongping.Xie <yongping.xie@gl-inet.com>
2025-07-23 07:21:07 +00:00
Jianhui Zhao 5bf9c71aac ui: add addon @xterm/addon-web-links
Adds web link detection and interaction in terminal.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-07-21 10:14:29 +08:00
Jianhui Zhao a905d5b83d ui: add support virtual keyboard
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-07-20 22:37:31 +08:00