36 Commits
Author SHA1 Message Date
21pages 24aa2f6947 fix(logging): suppress hyper_util debug logs 2026-09-18 11:04:40 +08:00
21pages 219f917d5a fix(webrtc): make session cleanup deadlock-safe
Release data channel and session cache locks before awaiting close
  operations.

  Remove cached sessions by PeerConnection identity instead of SDP
  fingerprint so delayed callbacks cannot remove replacement sessions.

  Add regression tests for duplicate-session close re-entry and
  identity-based cleanup.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2026-08-30 19:45:17 +08:00
21pages 21fb4e30ae feat(config): add recording visibility and service save path options
- add hide-recording-button to local settings
  - add windows-service-video-save-directory to service settings

Signed-off-by: 21pages <sunboeasy@gmail.com>
2026-07-23 21:43:19 +08:00
21pages 91b13be6fd Add controlled context for controller audit attribution
Add ControlledContext to rendezvous messages so the server can pass a controller-user audit ref to the controlled client.

The controlled client returns the ref when posting audit logs, allowing the server to associate those logs with the controller user.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2026-06-26 14:16:56 +08:00
21pages f1889f6477 Improve WebSocket redirect error message
Signed-off-by: 21pages <sunboeasy@gmail.com>
2026-06-03 15:52:15 +08:00
21pages 24f430b384 option allow-command-line-settings-when-settings-disabled
Signed-off-by: 21pages <sunboeasy@gmail.com>
2026-05-28 11:44:41 +08:00
21pages 035c3198c8 option hide-stop-service
Signed-off-by: 21pages <sunboeasy@gmail.com>
2026-03-05 17:21:21 +08:00
21pages 13c4fb3f7d fix: invalidate key_pair cache instead of setting directly
Signed-off-by: 21pages <sunboeasy@gmail.com>
2026-02-14 12:48:15 +08:00
21pages 5d2acc7340 fix: improve machine_uid handling and add pk decryption fallback
- Cache machine_uid in get_uuid with retry logic for macOS
  - Fallback to pk decryption when machine_uid decryption fails
  - Add is_encrypted check to prevent duplicate encryption
  - Add get_existing_key_pair to get key pair without generating new one

Signed-off-by: 21pages <sunboeasy@gmail.com>
2026-02-14 11:11:03 +08:00
21pages de0d7fded0 update key pair when set config
Signed-off-by: 21pages <sunboeasy@gmail.com>
2026-01-29 20:26:00 +08:00
21pages e163e2d829 add three state control permissions
Signed-off-by: 21pages <sunboeasy@gmail.com>
2026-01-07 12:42:21 +08:00
21pages 510ebdca50 Revert "add ControlPermissions"
This reverts commit 178c97d59f.
2026-01-07 12:42:01 +08:00
21pages 178c97d59f add ControlPermissions
Signed-off-by: 21pages <sunboeasy@gmail.com>
2026-01-05 22:13:56 +08:00
21pages 73ab9575fd add options: disable-change-permanent-password, disable-change-id, disable-unlock-pin
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-12-30 22:53:40 +08:00
21pages 3a0034f104 controlling strategy
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-12-29 14:08:43 +08:00
21pages af5227a537 support restore preset password except clear password
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-12-16 11:33:10 +08:00
21pages c0b279f80a local option allow-ask-for-note
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-11-13 11:06:17 +08:00
21pages 48042dd916 optioin edge-scroll-edge-thickness
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-11-06 18:35:26 +08:00
21pages 2d80f7a295 add function to get proxy username, password
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-10-30 14:04:31 +08:00
21pages b4ebe2ccbb remove a warning
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-10-30 13:44:35 +08:00
21pages bbc8e2f31a add mobile fallback platform verifier
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-10-30 13:13:04 +08:00
21pages bf9a79fda5 mobile wss use rustls_platform_verifier
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-10-27 10:29:26 +08:00
21pages a3ff483639 more preset options
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-09-26 11:04:46 +08:00
21pages 0d900a20ea remove can't save option
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-09-18 14:32:37 +08:00
21pages 44e8a46e94 Revert "ab default password"
This reverts commit f9e903b762.
2025-09-04 18:26:50 +08:00
21pages 3dbe437a8c Revert "remove support_controlling_salt field in Hash"
This reverts commit 11dba932e0.
2025-09-04 18:26:29 +08:00
21pages 11dba932e0 remove support_controlling_salt field in Hash
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-09-04 17:18:17 +08:00
21pages f9e903b762 ab default password
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-09-02 11:31:11 +08:00
21pages 0aae3499f6 add some missing keys
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-07-09 14:30:08 +08:00
21pages cbaaf6f75f fix sync socks from advanced options to config file
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-05-14 13:36:44 +08:00
21pages 585bd1f152 websocket
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-05-08 18:20:38 +08:00
21pages 2a35874424 option allow-d3d-render
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-03-12 11:50:11 +08:00
21pages 6338940d7a buildin option allow-https-21114
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-03-06 00:05:13 +08:00
21pages a8efd320e6 fix device group cache
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-02-14 16:46:49 +08:00
21pages 3515503203 option 'preset-device-group-name'
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-02-14 15:24:42 +08:00
21pages 49c6b24a7a init
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-01-20 16:06:27 +08:00