github marcpope/cortendesk v1.17.0
CortenDesk 1.17.0

latest release: v1.17.1
4 hours ago

RustDesk 1.5 WebRTC, end to end: the bundled ID server passes WebRTC signalling, strategies set the STUN and TURN servers, and the web client connects over WebRTC.

New

  • WebRTC in the web client. To a device running RustDesk 1.5 or later, the web client offers WebRTC alongside the relay and goes straight to the device when it can. On a LAN that means machine to machine instead of a trip through the relay. The relay stays the fallback, as before. The session's Details panel shows the Transport: WebRTC direct, WebRTC through TURN, or Relay.
  • WebRTC for desktop clients. The bundled server is now CortenDesk Server 1.2.0, which passes RustDesk 1.5's WebRTC offers, answers and candidates between devices. Stock rustdesk-server does not.
  • Strategies set the ICE servers. A new Network group sets ice-servers, the STUN and TURN servers RustDesk 1.5 uses for WebRTC. The console refuses any entry the client would silently skip, such as a TURN server without credentials.
  • Settings → Server: "Web client uses WebRTC" (on by default) and "Web client ICE servers".
  • Wiki: a new WebRTC connections page covers requirements, the ICE server format, and a tested coturn setup.

How to use it

  1. Upgrade. The Docker image already bundles the new server. On a manual install, also upgrade hbbs to CortenDesk Server 1.2.0.
  2. Web client: nothing to do. It uses WebRTC by default. Open Session → Details during a session to see which path it took.
  3. Desktop clients: on the device you connect from, tick Settings → General → Other → Enable WebRTC P2P connection. The device you connect to needs nothing. To see the path, hover over the session's tab.
  4. Optional, recommended if anyone connects from mobile data: run a TURN server (the wiki has a tested coturn config), then point desktop clients at it with a strategy (Network → WebRTC ICE servers) and the web client with Settings → Server → Web client ICE servers. The format is stun:turn.example.com:3478, turn://user:password@turn.example.com:3478.

When WebRTC cannot connect, the session falls back to the hole punch or the relay, so turning it on breaks nothing. Full guide: WebRTC connections.

Fixed

  • iPhone: tapping a text field no longer zooms the page and leaves it scrolled sideways (login screen, toolbars, web client fields).
  • Web client: labels in the dock, tabs and file panel buttons are escaped (code scanning alerts).
  • Livewire 4.4.8 (GHSA-mhf7-xp6r-6qrc). CortenDesk did not use the affected features.

Notes

  • No database migrations.
  • The browser and the device learn each other's IP addresses over WebRTC, as with the desktop client. "Web client uses WebRTC" turns it off.
  • Users on mobile data or carrier NAT need a TURN server for WebRTC; without one their sessions use the relay as before. See the wiki page for a coturn config.
docker pull marcpope/cortendesk:1.17.0
docker pull ghcr.io/marcpope/cortendesk:1.17.0

Don't miss a new cortendesk release

NewReleases is sending notifications on new releases.