Devolution / **IronRDP ** 公开

Rust 实现的 Microsoft Remote Desktop Protocol (RDP)

许可协议

发现 Apache-2.0, MIT 许可

发现的许可协议

Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT 466 stars 59 forks

IronRDP

一组 Rust 包,提供 Microsoft Remote Desktop Protocol 的实现,重点关注安全性。

演示

ironrdp-tauri-client-hackaton-result.mp4

视频编解码器支持

支持的编解码器:

例子

ironrdp-client

一个功能齐全的 RDP 客户端,基于 IronRDP 包套件,并使用非阻塞、异步 I/O 实现。

cargo run --bin ironrdp-client -- <HOSTNAME> --username <USERNAME> --password <PASSWORD>

screenshot

IronRDP 在阻塞、同步方式下的使用示例。 此示例展示了 IronRDP 在阻塞方式下的使用。 它演示了如何通过利用 IronRDP 包套件,用几百行代码创建一个基本的 RDP 客户端。 在这个基本的客户端实现中,客户端建立与目标服务器的连接,解码传入的图形更新,并将结果输出保存为磁盘上的 BMP 图像文件。

cargo run --example=screenshot -- --host <HOSTNAME> --username <USERNAME> --password <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 更改一些组策略:

  1. 运行 gpedit.msc
  2. 启用 计算机配置/管理模板/Windows 组件/远程桌面服务/远程桌面会话主机/远程会话环境/用于 Windows Server 2008 R2 的 RemoteFX/配置 RemoteFX
  3. 启用 计算机配置/管理模板/Windows 组件/远程桌面服务/远程桌面会话主机/远程会话环境/为设计用于 Windows Server 2008 R2 SP1 的 RemoteFX 客户端启用 RemoteFX 编码
  4. 启用 计算机配置/管理模板/Windows 组件/远程桌面服务/远程桌面会话主机/远程会话环境/限制最大颜色深度
  5. 重启。

架构

请参阅 ARCHITECTURE.md 文档。

获取帮助

关于

Rust 实现的 Microsoft Remote Desktop Protocol (RDP)

主题

rust rdp

资源

Readme

许可协议

发现 Apache-2.0, MIT 许可

发现的许可协议

Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT

安全策略

Security policy

Stars

466 stars

Watchers

29 watching

Forks

59 forks