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