ironrdp-viewer 0.1.0

Portable RDP viewer (GUI binary) without GPU acceleration
Documentation

IronRDP Viewer

Portable RDP client without GPU acceleration.

This is a a full-fledged RDP client based on IronRDP crates suite, and implemented using non-blocking, asynchronous I/O. Portability is achieved by using softbuffer for rendering and winit for windowing.

Prebuilt binaries

Prebuilt, checksummed archives are attached to each GitHub Release under the ironrdp-viewer-v* tags. See the Releases page for per-platform download and verification instructions.

Sample usage

ironrdp-viewer <HOSTNAME> --username <USERNAME> --password <PASSWORD>

.rdp file support

You can load a .rdp file with --rdp-file <PATH>.

Currently supported properties:

  • full address:s:<value>
  • alternate full address:s:<value>
  • server port:i:<value>
  • username:s:<value>
  • ClearTextPassword:s:<value>
  • domain:s:<value>
  • enablecredsspsupport:i:<0|1>
  • gatewayhostname:s:<value>
  • gatewayusagemethod:i:<value>
  • gatewaycredentialssource:i:<value>
  • gatewayusername:s:<value>
  • GatewayPassword:s:<value>
  • kdcproxyurl:s:<value> (also KDCProxyURL:s:<value>)
  • kdcproxyname:s:<value>
  • alternate shell:s:<value>
  • shell working directory:s:<value>
  • redirectclipboard:i:<0|1>
  • audiomode:i:<0|1|2>
  • desktopwidth:i:<value>
  • desktopheight:i:<value>
  • desktopscalefactor:i:<value>
  • compression:i:<0|1>

Property precedence is:

  1. CLI options
  2. .rdp file values
  3. Defaults and interactive prompts

Unknown or unsupported .rdp properties are ignored and do not cause parsing failures. Parse issues are reported to stderr.

The IRONRDP_LOG environment variable is used to set the log filter directives.

IRONRDP_LOG="info,ironrdp_connector=trace" ironrdp-viewer <HOSTNAME> --username <USERNAME> --password <PASSWORD>

See tracing-subscriber's documentation for more details.

Support for SSLKEYLOGFILE

This client supports reading the SSLKEYLOGFILE environment variable. When set, the TLS encryption secrets for the session will be dumped to the file specified by the environment variable. This file can be read by Wireshark so that in can decrypt the packets.

Example

SSLKEYLOGFILE=/tmp/tls-secrets ironrdp-viewer <HOSTNAME> --username <USERNAME> --password <PASSWORD>

Usage in Wireshark

See this awakecoding's repository explaining how to use the file in wireshark.

This crate is part of the IronRDP project.