rustdesk/src
RustDesk 4e30ee8d1c
tcp proxy (#14633)
* tcp proxy

* fix per review

* fix per review

* Suppress secure_tcp info logs for TCP proxy requests

Signed-off-by: 21pages <sunboeasy@gmail.com>

* copilot review: redact tcp proxy logs, dedupe headers, and avoid body clone

Signed-off-by: 21pages <sunboeasy@gmail.com>

* format common.rs

Signed-off-by: 21pages <sunboeasy@gmail.com>

* copilot review: test function name

Signed-off-by: 21pages <sunboeasy@gmail.com>

* copilot review: format IPv6 tcp proxy log targets correctly

Signed-off-by: 21pages <sunboeasy@gmail.com>

* copilot review: normalize HTTP method before direct request dispatch

Signed-off-by: 21pages <sunboeasy@gmail.com>

* review: extract fallback helper, fix Content-Type override, add overall timeout

- Extract duplicated TCP proxy fallback logic into generic
  `with_tcp_proxy_fallback` helper used by both `post_request` and
  `http_request_sync`, eliminating code drift risk
- Allow caller-supplied Content-Type to override the default in
  `parse_simple_header` instead of silently dropping it
- Take body by reference in `post_request_http` to avoid eager clone
  when no fallback is needed
- Wrap entire `tcp_proxy_request` flow (connect + handshake + send +
  receive) in an overall timeout to prevent indefinite stalls

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* review: make is_public case-insensitive and cover mixed-case rustdesk URLs

Signed-off-by: 21pages <sunboeasy@gmail.com>

* oidc: route auth requests through shared HTTP/tcp-proxy path while keeping TLS warmup

Signed-off-by: 21pages <sunboeasy@gmail.com>

* refactor: replace unused TryFrom<Response> with HbbHttpResponse::parse method

  Remove TryFrom<Response> impl that was never called and replace the
  private parse_hbb_http_response helper in account.rs with a public
  parse() method on HbbHttpResponse, eliminating code duplication.

Signed-off-by: 21pages <sunboeasy@gmail.com>

---------

Signed-off-by: 21pages <sunboeasy@gmail.com>
Co-authored-by: 21pages <sunboeasy@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 23:13:05 +08:00
..
client feat(fs): delegate win --server file reading to CM (#13736) 2025-12-28 15:39:35 +08:00
hbbs_http tcp proxy (#14633) 2026-04-03 23:13:05 +08:00
lang Update Dutch translations (#14654) 2026-04-01 18:10:39 +08:00
platform Fix Windows session-based logon and lock-screen detection (#14620) 2026-03-27 13:22:16 +08:00
plugin refact: remove unnecessary printing (#12000) 2025-06-06 14:52:01 +08:00
privacy_mode feat(macos): initial privacy mode support [a simple try] (#14102) 2026-01-27 16:38:37 +08:00
server Fix Windows session-based logon and lock-screen detection (#14620) 2026-03-27 13:22:16 +08:00
ui refact(password): Store permanent password as hashed verifier (#14619) 2026-03-26 14:49:54 +08:00
whiteboard feat: cursor, linux, Xwayland (#12859) 2025-09-06 20:35:51 +08:00
auth_2fa.rs trust this device to skip 2fa (#9012) 2024-08-12 18:08:33 +08:00
cli.rs revert back to async_trait since having to use 1.75 because of win7 2024-03-27 03:36:33 +08:00
client.rs Fix(wayland): improve error message when xdg-desktop-portal is unavailable #12897 (#14543) 2026-03-17 13:37:20 +08:00
clipboard.rs fix: correct typos and improve code clarity (#14341) 2026-02-17 14:29:50 +08:00
clipboard_file.rs feat: clipboard files, audit (#12730) 2025-08-25 22:29:53 +08:00
common.rs tcp proxy (#14633) 2026-04-03 23:13:05 +08:00
core_main.rs fix https://github.com/rustdesk/rustdesk/issues/14520 2026-03-13 10:42:13 +08:00
custom_server.rs A=b, A case insensitive (#9976) 2024-11-20 19:44:24 +08:00
flutter.rs fix: wayland controlled side, cursor misalignment (#13537) 2025-11-18 00:37:15 +08:00
flutter_ffi.rs refact(password): Store permanent password as hashed verifier (#14619) 2026-03-26 14:49:54 +08:00
hbbs_http.rs tcp proxy (#14633) 2026-04-03 23:13:05 +08:00
ipc.rs refact(password): Store permanent password as hashed verifier (#14619) 2026-03-26 14:49:54 +08:00
kcp_stream.rs fix kcp_stream 2025-06-13 00:30:21 +08:00
keyboard.rs feat: Add relative mouse mode (#13928) 2026-01-09 10:03:14 +08:00
lan.rs refact: suppress warns on macos (#12449) 2025-08-18 15:09:11 +08:00
lang.rs fix: custom client, contains RustDesk (#13783) 2025-12-11 21:17:42 +08:00
lib.rs feat: Add relative mouse mode (#13928) 2026-01-09 10:03:14 +08:00
main.rs refact: rust backtrace logs (#13467) 2025-11-10 15:43:46 +08:00
naming.rs fix: http/https proxy (#7821) 2024-04-25 11:46:21 +08:00
port_forward.rs change port forward listen to localhost 2026-02-24 21:57:55 +08:00
privacy_mode.rs feat(macos): initial privacy mode support [a simple try] (#14102) 2026-01-27 16:38:37 +08:00
rendezvous_mediator.rs feat: windows, custom client, update (#13687) 2026-02-27 21:50:20 +08:00
server.rs Fix some single device multiple ids scenarios on MacOS (#14196) 2026-02-15 16:12:26 +08:00
service.rs missed file 2025-01-01 23:11:38 +08:00
tray.rs add option to hide stop-service when service is running (#14563) 2026-03-19 20:04:10 +08:00
ui.rs refact(password): Store permanent password as hashed verifier (#14619) 2026-03-26 14:49:54 +08:00
ui_cm_interface.rs avatar (#14440) 2026-03-04 21:43:19 +08:00
ui_interface.rs refact(password): Store permanent password as hashed verifier (#14619) 2026-03-26 14:49:54 +08:00
ui_session_interface.rs Fix: note dialog not shown when closing session from reconnecting screen (#14528) 2026-03-16 18:27:39 +08:00
updater.rs feat: windows, custom client, update (#13687) 2026-02-27 21:50:20 +08:00
virtual_display_manager.rs fix: uninstall, idd (#13142) 2025-10-12 09:14:21 +08:00