![]() Using GATs we achieve genericity over Send and Sync marker traits. The `FramedRead` and `FramedWrite` traits can now be used in both single-threaded and multi-threaded contexts. |
||
---|---|---|
.cargo | ||
.github | ||
crates | ||
fuzz | ||
web-client | ||
xtask | ||
.gitignore | ||
ARCHITECTURE.md | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md | ||
rust-toolchain.toml | ||
rustfmt.toml | ||
typos.toml |
IronRDP
A collection of Rust crates providing an implementation of the Microsoft Remote Desktop Protocol, with a focus on security.
Demonstration
https://user-images.githubusercontent.com/3809077/202049929-76f42471-aeb0-41da-9118-0dc6ea491bd2.mp4
Video Codec Support
Supported codecs:
- Uncompressed raw bitmap
- Interleaved Run-Length Encoding (RLE) Bitmap Codec
- RDP 6.0 Bitmap Compression
- Microsoft RemoteFX (RFX)
How to enable RemoteFX on server
Run the following PowerShell commands, and reboot.
Set-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services' -Name 'ColorDepth' -Type DWORD -Value 5
Set-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services' -Name 'fEnableVirtualizedGraphics' -Type DWORD -Value 1
Alternatively, you may change a few group policies using gpedit.msc
:
-
Run
gpedit.msc
. -
Enable
Computer Configuration/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host/Remote Session Environment/RemoteFX for Windows Server 2008 R2/Configure RemoteFX
-
Enable
Computer Configuration/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host/Remote Session Environment/Enable RemoteFX encoding for RemoteFX clients designed for Windows Server 2008 R2 SP1
-
Enable
Computer Configuration/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host/Remote Session Environment/Limit maximum color depth
-
Reboot.
Architecture
See the ARCHITECTURE.md document.