IronRDP Documentation

repository·master·Indexed 25 days ago

https://github.com/devolutions/ironrdp

A suite of Rust crates providing a secure implementation of the Microsoft Remote Desktop Protocol (RDP). It includes clients, agents, and library components such as ironrdp-agent (a CLI-driven daemon for programmatic consumption), ironrdp-client (an embeddable RDP engine), ironrdp-acceptor for connection sequences, and ironrdp-cliprdr for clipboard and file transfer management. The project supports asynchronous operations via ironrdp-async, synchronous I/O via ironrdp-blocking, and WASM modules for web components.

Tokens
40.3K
Snippets
68
Records
254
Agent score
84%

What's inside IronRDP

  1. Overview of IronRDP

    master

    IronRDP is a collection of Rust crates that provides an implementation of the Microsoft Remote Desktop Protocol (RDP), with a primary focus on security. It supports various video codecs including:

    • Uncompressed raw bitmap
    • Interleaved Run-Length Encoding (RLE) Bitmap Codec
    • RDP 6.0 Bitmap Compression
    • Microsoft RemoteFX (RFX)
  2. Overview of IronRDP DVC COM Plugin

    master

    The ironrdp-dvc-com-plugin crate is a Windows-only loader for native Windows Dynamic Virtual Channel (DVC) client plugin DLLs (such as webauthn.dll). It bridges these native COM-based plugins into the IronRDP DVC infrastructure.

    Key Workflow:

    1. The plugin DLL is loaded using LoadLibraryW.
    2. The VirtualChannelGetInstance export is called to obtain IWTSPlugin COM objects.
    3. A Rust implementation of IWTSVirtualChannelManager facilitates bidirectional data transfer between the plugin's COM callbacks and IronRDP's DVC system.
  3. Overview of IronRDP CLIPRDR

    master

    IronRDP CLIPRDR is an implementation of the clipboard static virtual channel (CLIPRDR) as described in the [MS-RDPECLIP] specification. It provides the necessary logic for handling clipboard data within an RDP session.

    Key capabilities include:

    • Parsing Clipboard SVC PDUs.
    • Processing Clipboard SVC data.
    • Providing backend API types for implementing OS-specific clipboard logic.
    • Supporting file transfer via clipboard redirection.
  4. Overview of IronRDP MS-TSGU implementation

    master

    The ironrdp-mstsgu crate provides an implementation of the [MS-TSGU] (Terminal Services Gateway Server Protocol) for IronRDP. It allows connections through a Microsoft RD Gateway.

    Key Capabilities and Limitations:

    • Protocol Support: Only supports HTTPS with WebSocket. It does not support legacy HTTP, HTTP-RPC, or UDP protocols.
    • Authentication: Only supports Basic Authentication.
    • Session Management: Does not implement reconnection or reauthentication logic.