Commit Graph

2281 Commits

Author SHA1 Message Date
Cursor Agent 376f14a479 Add required argument validation to config_get and config_history handlers 2026-04-04 02:33:24 +00:00
Cursor Agent b787572192 Add required argument validation to MCP config handlers to prevent data loss
The safe argument extraction helpers (mcp.GetString, etc.) return zero values
for nil/missing arguments, which could cause silent data loss. This adds
explicit validation for required arguments in:

- config_modify: validate relative_path and content
- config_add: validate name and content
- config_rename: validate orig_name and new_name
- config_mkdir: validate folder_name

This follows the same pattern already used in handleNginxConfigEnable.
2026-04-04 02:23:36 +00:00
Cursor Agent cd74b3bf4b fix(mcp): prevent panic on nil interface conversion for tool arguments
Add safe argument extraction helper functions in internal/mcp/args.go
that handle nil values gracefully instead of panicking on direct type
assertions.

This fixes the issue where MCP config tools panic with:
'interface conversion: interface {} is nil, not string'
when called via Claude Desktop with protocol version 2025-11-25.

Affected tools:
- nginx_config_list
- nginx_config_get
- nginx_config_add
- nginx_config_modify
- nginx_config_rename
- nginx_config_mkdir
- nginx_config_history
- nginx_config_enable

Fixes #36ec

Co-authored-by: Jacky <me@jackyu.cn>
2026-04-04 02:09:42 +00:00
0xJacky 9f1b9bbbba refactor(ws): implement SafeWebSocketWriter for serialized access
- Introduced SafeWebSocketWriter to ensure thread-safe writes to WebSocket connections.
- Updated WebSocket handling in certificate issuance, revocation, Nginx log tailing, and system upgrades to use the new writer.
- Enhanced WebSocket client management in the site navigation module for improved message handling and connection stability.
2026-04-04 02:01:20 +00:00
Simon Zöllner b9e1951423 Fix #1619, WebSocket check fails during initial setup on custom ports (#1620)
* enhance(ws): improve session security

* Fix #1619, WebSocket check fails during initial setup on custom ports in docker

---------

Co-authored-by: 0xJacky <me@jackyu.cn>
2026-04-04 09:50:48 +08:00
0xJacky d895c4a336 enhance(ws): improve session security 2026-04-04 09:48:18 +08:00
0xJacky 7d9887bfe8 fix: enhance WebSocket origin validation for trusted node requests 2026-04-03 11:31:41 +08:00
0xJacky 02931d6c31 feat: enhance TLS certificate handling and server configuration 2026-04-02 22:44:10 +08:00
renovate[bot] f290060e55 chore(deps): update all non-major dependencies (#1612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-02 11:04:57 +08:00
renovate[bot] 314efd0c25 chore(deps): update pnpm.catalog.default @antfu/eslint-config to v8 (#1617)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-02 11:00:27 +08:00
0xJacky fb37c94276 feat: implement short token endpoint for WebSocket authentication
- Added `InitTokenRouter` to define the `/token/short` endpoint for issuing short tokens.
- Created `IssueShortToken` function to handle short token generation and response.
- Updated WebSocket middleware to require short token for authentication, preventing CSWSH attacks.
- Modified user store and login handling to integrate short token functionality.
- Enhanced documentation to reflect changes in WebSocket security requirements.
2026-04-02 00:06:04 +08:00
renovate[bot] f89f8ff822 chore(deps): update pnpm.catalog.default unplugin-vue-components to v32 (#1605)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-28 11:13:41 +08:00
renovate[bot] c9dfdd4197 chore(deps): update all non-major dependencies (#1603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-23 01:16:38 +00:00
renovate[bot] 95120616df chore(deps): update all non-major dependencies (#1595)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-19 01:03:16 +00:00
0xJacky 926b3248b3 feat: enhance service initialization logic with mutex handling and return types 2026-03-16 13:59:45 +00:00
0xJacky 1a9cd29a30 style: center align WeChat community QR code in documentation v2.3.5 2026-03-16 05:33:37 +00:00
0xJacky 3a38914fe2 feat: add official WeChat community group information to documentation 2026-03-16 05:31:54 +00:00
0xJacky 58b183956a chore(deps): update risefront dependency from v1.3.2 to v1.3.3 2026-03-16 03:45:52 +00:00
0xJacky 95ab34bbe1 feat: implement migration to encrypt sensitive JSON fields in database models 2026-03-16 11:34:10 +08:00
0xJacky 9e41ecf9df feat: add support for root block configuration in NgxConfig and implement parsing logic 2026-03-16 03:15:27 +00:00
0xJacky 88a86edcd2 fix: preserve previous data when saving certificate updates 2026-03-16 00:56:58 +00:00
0xJacky cb92cc4da8 feat: add ACMEUserID to certificate issuance and auto-certification requests 2026-03-16 00:52:12 +00:00
0xJacky af6d3b9ae4 chore: prepare v2.3.5 2026-03-15 16:17:04 +00:00
0xJacky f89916e0fb feat: add ResolveConfPathInDirPreserveLeaf function for symlink handling in configuration paths 2026-03-16 00:03:32 +08:00
0xJacky 20412b5b54 refactor: configuration path resolution for sites and streams v2.3.4 2026-03-15 22:20:29 +08:00
0xJacky 5741b9f9ff style: update Delete component styles for improved UI consistency 2026-03-15 21:41:53 +08:00
renovate[bot] f8ef0494b0 chore(deps): update pnpm.catalog.default vite-plugin-build-id to v0.7.0 (#1568) 2026-03-15 20:49:48 +08:00
0xJacky b06cce311a fix: correct recovery code verification logic in OTP handling 2026-03-15 19:18:03 +08:00
0xJacky bc8df5beda feat: add DELETE endpoint for DDNS configuration and implement deletion logic 2026-03-15 02:44:48 +00:00
0xJacky a2e1e8e31c fix: add IP address family handling and tests for DNS functionality #1572 2026-03-15 02:28:49 +00:00
0xJacky 7f7e569460 chore: prepare v2.3.4 2026-03-15 02:17:16 +00:00
0xJacky f61bcec547 refactor: enhance backup restoration process with integrity checks 2026-03-15 09:52:03 +08:00
0xJacky 1593e6fb7d feat: integrate WebSocket usage in proxy availability store 2026-03-14 23:53:18 +08:00
0xJacky 1cec07d6ea feat: implement demo mode for terminal with restricted commands 2026-03-14 23:49:58 +08:00
0xJacky 413dc631ee feat: add WebSocketTrustedOrigins configuration and implement origin validation for WebSocket connections
- Introduced `WebSocketTrustedOrigins` setting in `app.example.ini` and corresponding documentation.
- Refactored WebSocket origin checks across multiple API endpoints to utilize the new middleware for improved security.
- Added tests for the new origin validation logic to ensure proper handling of trusted origins and node secret requests.
2026-03-14 23:37:10 +08:00
0xJacky 7b66578adb chore(deps): update various dependencies 2026-03-14 15:25:18 +00:00
0xJacky 34fef1f0c5 refactor: replace array sorting method with toSorted for improved readability 2026-03-14 14:30:10 +00:00
0xJacky b3e3aa77a3 fix: update translation file references and add new entries 2026-03-14 14:29:46 +00:00
renovate[bot] 7e981067e5 chore(deps): update docker/login-action action to v4 (#1574)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 22:22:50 +08:00
renovate[bot] 2060aeeb0a chore(deps): update docker/metadata-action action to v6 (#1578)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 22:22:38 +08:00
renovate[bot] 0586b4b93d chore(deps): update docker/build-push-action action to v7 (#1577)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 22:22:23 +08:00
renovate[bot] 333691c3f7 chore(deps): update pnpm.catalog.default eslint to v10 (#1548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 22:21:56 +08:00
renovate[bot] b9dc838939 chore(deps): update pnpm.catalog.default @vitejs/plugin-legacy to v8 (#1585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 22:21:13 +08:00
renovate[bot] aabd58c160 chore(deps): update docker/setup-buildx-action action to v4 (#1575)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 22:19:17 +08:00
renovate[bot] ca58403e8c chore(deps): update github artifact actions (#1570)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 22:18:55 +08:00
0xJacky 0ecd9ad090 chore(deps): update dependencies to latest versions 2026-03-14 14:18:16 +00:00
0xJacky a6491e437f feat: add logrotate settings validation and testing 2026-03-14 22:04:43 +08:00
0xJacky 029142f944 chore: update dependencies and refactor settings management 2026-03-14 21:11:59 +08:00
renovate[bot] 6ec542fd97 chore(deps): update all non-major dependencies (#1562)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-18 01:09:50 +00:00
0xJacky e5da6dd96d chore: update version to 2.3.3 and increment build number v2.3.3 2026-02-15 00:55:30 +00:00