IronRDP
一套提供微软远程桌面协议实现的Rust库,专注于安全性。
演示
https://user-images.githubusercontent.com/3809077/202049929-76f42471-aeb0-41da-9118-0dc6ea491bd2.mp4
视频编解码器支持
支持的编解码器:
- 未压缩的原始位图
- 交错的运行长度编码(RLE)位图编解码器
- RDP 6.0 位图压缩
- Microsoft RemoteFX(RFX)
示例
ironrdp-client
一个基于IronRDP库套件的功能齐全的RDP客户端,使用非阻塞、异步I/O实现。
cargo run --bin ironrdp-client -- <主机名> --username <用户名> --password <密码>
screenshot
以阻塞同步方式利用IronRDP的示例。
此示例展示了如何以阻塞方式使用IronRDP。 它展示了如何利用IronRDP库套件用几百行代码创建一个基本的RDP客户端。
在此基本客户端实现中,客户端与目标服务器建立连接,解码传入的图形更新,并将生成的输出作为BMP图像文件保存到磁盘上。
cargo run --example=screenshot -- --host <主机名> --username <用户名> --password <密码> --output out.bmp
如何在服务器上启用RemoteFX
运行以下PowerShell命令,然后重启。
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
另外,你也可以使用gpedit.msc
更改一些组策略:
-
运行
gpedit.msc
。 -
启用
计算机配置/管理模板/Windows组件/远程桌面服务/远程桌面会话主机/远程会话环境/为Windows Server 2008 R2配置RemoteFX
-
启用
计算机配置/管理模板/Windows组件/远程桌面服务/远程桌面会话主机/远程会话环境/为设计用于Windows Server 2008 R2 SP1的RemoteFX客户端启用RemoteFX编码
-
启用
计算机配置/管理模板/Windows组件/远程桌面服务/远程桌面会话主机/远程会话环境/限制最大颜色深度
-
重启。
架构
请参阅ARCHITECTURE.md文档。