Skip to main content
IronRDP Logo

Welcome to IronRDP

IronRDP is a collection of Rust crates providing a comprehensive implementation of the Microsoft Remote Desktop Protocol. Built with security as a primary focus, IronRDP offers a modular architecture that enables developers to build RDP clients, servers, and custom protocol implementations.

Get Started

Start building with IronRDP in minutes

Architecture

Understand the modular crate system

API Reference

Explore the complete API documentation

Examples

Learn from real-world implementations

Key Features

Modular Architecture

Organized into tiers with strict quality standards and clear API boundaries

Multiple Codecs

Support for RemoteFX, RLE, and RDP 6.0 bitmap compression

Virtual Channels

Comprehensive static and dynamic virtual channel implementations

Security First

Built with security as a priority, including extensive fuzzing

Cross-Platform

no_std compatible with support for diverse platforms

Flexible I/O

Both async and blocking I/O abstractions available

Client & Server

Complete implementations for both client and server scenarios

FFI & WebAssembly

Bindings for C/C# and WebAssembly support for browser integration

Core Crates

ironrdp-core

Common traits and foundational types

ironrdp-pdu

PDU encoding and decoding

ironrdp-graphics

Image processing and codec implementations

ironrdp-connector

Connection sequence state machines

ironrdp-session

Session management state machines

ironrdp-client

Portable RDP client implementation

Community & Support

GitHub Repository

View source code and report issues

Matrix Chat

Join the community discussion

Build docs developers (and LLMs) love