A collection of Rust crates providing an implementation of the Microsoft Remote Desktop Protocol, with a focus on security.
ironrdp-tauri-client-hackaton-result.mp4
Supported codecs:
- Uncompressed raw bitmap
- Interleaved Run-Length Encoding (RLE) Bitmap Codec
- RDP 6.0 Bitmap Compression
- Microsoft RemoteFX (RFX)
A full-fledged RDP client based on IronRDP crates suite, and implemented using non-blocking, asynchronous I/O.
This example showcases the use of IronRDP in a blocking manner. It
demonstrates how to create a basic RDP client with just a few hundred lines
of code by leveraging the IronRDP crates suite.
In this basic client implementation, the client establishes a connection
with the destination server, decodes incoming graphics updates, and saves the
resulting output as a BMP image file on the disk.
Run the following PowerShell commands, and reboot.
Set-ItemProperty -Path 'HKLM:SoftwarePoliciesMicrosoftWindows NTTerminal Services' -Name 'ColorDepth' -Type DWORD -Value 5 Set-ItemProperty -Path 'HKLM:SoftwarePoliciesMicrosoftWindows NTTerminal 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
25 Comments
fadedsignal
[flagged]
geenat
Does this implement a server? or client only? Linux?
jeroenhd
The demo in the README is pretty impressive for an independent implementation, but I also noticed the repo includes server code (https://github.com/Devolutions/IronRDP/tree/master/crates/ir…). I wonder if tools like Proxmox could use this as a more efficient alternative to VNC (which is slow and weird) or SPICE (for which there are very few non-Linux tools).
bschmidt112
[flagged]
kayson
This is very cool. I still think MS RDP is the best remote desktop client and protocol. The performance is just insanely good, and the client is easily available on 95% of computers. The multi-monitor support is also awesome. The only downside is that it's Microsoft…
nailer
Fedora recently ditched VNC support in their installer for RDP. https://docs.fedoraproject.org/en-US/fedora-server/installat… (which may be a Wayland think, I just know more about Fedora than general Linux distros).
RDP seems to have taken the zeitgeist in the open source world.
bschmidt108
[flagged]
bschmidt117
[flagged]
bschmidt122
[flagged]
zelon88
[flagged]
bschmidt124
[flagged]
bschmidt125
[flagged]
bschmidt201
[flagged]
graynk
I get the whole Rust -> Iron thing, but when I see Iron prefix I think of dotnet because of https://github.com/ironlanguages and https://ironsoftware.com/
38
cannot build for windows ironically
https://github.com/Devolutions/IronRDP/issues/709
iJohnDoe
Is this available for Linux? Linux desperately needs RDP. Any Linux distros with RDP built-in?
bschmidt230
[flagged]
bschmidt300
[flagged]
alexpadula
That is mighty impressive. Thank you for sharing!
bschmidt301
[flagged]
bschmidt302
[dead]
bschmidt303
[dead]
bschmidt304
[flagged]
bschmidt304
[flagged]
bschmidt305
[flagged]