5 Commits

Author SHA1 Message Date
UNITRONIX a6bc3d6efb fix(signal): stop empty WSS keepalive from breaking RequestRelay (Refs #276)
Ephemeral WebSocket RequestRelay sessions were getting an immediate empty binary frame after HTTP 101, which desktop clients parse as RendezvousMessage{union:None} and disconnect before RelayResponse.
2026-07-20 23:06:22 +02:00
UNITRONIX ad2d4a02cd Enhance WebSocket handling and diagnostics
- Implemented immediate empty keepalive frame after HTTP 101 upgrade to address client connection issues.
- Updated `ws-register-test` tool to support delayed registration modes and improved usage instructions.
- Refactored WebSocket connection handling to log effective remote addresses and frame counts for better diagnostics.
- Added tests for effective remote address handling and immediate keepalive functionality.
- Updated documentation to reflect changes in WebSocket behavior and troubleshooting steps.
2026-07-01 17:48:12 +02:00
UNITRONIX 21a64528d9 fix: keep WSS peers online after heartbeat echo
Treat RustDesk empty WebSocket keepalive replies as peer heartbeat activity. Without this, reverse-proxied WSS clients could stay connected at the WebSocket layer but still be cleaned from the in-memory peer map after RegTimeout, causing the server to close the active rendezvous session.

Add a regression assertion that RustDesk's empty keepalive echo refreshes the peer heartbeat timestamp.

Refs #144

Reported-by: kido <70244282+odixz@users.noreply.github.com>

Tested-by: kido <70244282+odixz@users.noreply.github.com>
2026-05-22 03:08:30 +02:00
UNITRONIX a1e054cdd3 fix: keep RustDesk WSS rendezvous sessions alive
Send empty binary keepalive frames on signal WebSockets and ignore empty RustDesk heartbeat replies across the WS protobuf adapter. This prevents reverse-proxied WSS clients from timing out after the advertised keep_alive interval.

Document the Nginx /ws/id and /ws/relay upstream mapping for BetterDesk Docker deployments.

Fixes #144

Reported-by: @odixz
2026-05-17 23:12:30 +02:00
UNITRONIX e855f5786d Add Go server and security audit; update web console
Add a new betterdesk-server Go codebase (server, api, auth, db, relay, signal, metrics, audit, ratelimit, proto, tools, tests) and related deployment/migration scripts. Add a comprehensive SECURITY_AUDIT_2026-03-01 report and .gitattributes; update copilot-instructions (ALL-IN-ONE v2.4.0), README, VERSION, Dockerfiles, scripts, docker-compose and entrypoint. Large updates to web-nodejs (translations, routes, services, frontend assets and middleware) and numerous new utilities; remove legacy Flask web files and archive hbbs-patch-v2 artifacts. Prepares repository for PostgreSQL support, DB migration tooling and the new Go server as the production backend.
2026-03-02 00:43:04 +01:00