{"id":13596737,"url":"https://github.com/Devolutions/IronRDP","last_synced_at":"2025-04-09T20:31:27.345Z","repository":{"id":35022573,"uuid":"196274912","full_name":"Devolutions/IronRDP","owner":"Devolutions","description":"Rust implementation of the Microsoft Remote Desktop Protocol (RDP)","archived":false,"fork":false,"pushed_at":"2025-04-09T09:06:52.000Z","size":14289,"stargazers_count":2316,"open_issues_count":47,"forks_count":108,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-04-09T19:53:12.841Z","etag":null,"topics":["rdp","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Devolutions.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-10T21:04:54.000Z","updated_at":"2025-04-09T13:32:52.000Z","dependencies_parsed_at":"2024-03-25T16:29:27.791Z","dependency_job_id":"58f1084f-8f17-4506-bc66-e81fe91e6ee4","html_url":"https://github.com/Devolutions/IronRDP","commit_stats":{"total_commits":210,"total_committers":19,"mean_commits":"11.052631578947368","dds":0.6857142857142857,"last_synced_commit":"f3c06b96dc29b2bcdbdfd578b108a255b67bea92"},"previous_names":[],"tags_count":145,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devolutions%2FIronRDP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devolutions%2FIronRDP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devolutions%2FIronRDP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devolutions%2FIronRDP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Devolutions","download_url":"https://codeload.github.com/Devolutions/IronRDP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248103911,"owners_count":21048245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rdp","rust"],"created_at":"2024-08-01T16:02:44.233Z","updated_at":"2025-04-09T20:31:22.334Z","avatar_url":"https://github.com/Devolutions.png","language":"Rust","funding_links":[],"categories":["Rust","网络信息服务","Projects"],"sub_categories":["网络协议"],"readme":"# IronRDP\n\nA collection of Rust crates providing an implementation of the Microsoft Remote Desktop Protocol, with a focus on security.\n\n## Demonstration\n\nhttps://user-images.githubusercontent.com/3809077/202049929-76f42471-aeb0-41da-9118-0dc6ea491bd2.mp4\n\n## Video Codec Support\n\nSupported codecs:\n\n- Uncompressed raw bitmap\n- Interleaved Run-Length Encoding (RLE) Bitmap Codec\n- RDP 6.0 Bitmap Compression\n- Microsoft RemoteFX (RFX)\n\n## Examples\n\n### [`ironrdp-client`](./crates/ironrdp-client)\n\nA full-fledged RDP client based on IronRDP crates suite, and implemented using non-blocking, asynchronous I/O.\n\n```shell\ncargo run --bin ironrdp-client -- \u003cHOSTNAME\u003e --username \u003cUSERNAME\u003e --password \u003cPASSWORD\u003e\n```\n\n### [`screenshot`](./crates/ironrdp/examples/screenshot.rs)\n\nExample of utilizing IronRDP in a blocking, synchronous fashion.\n\nThis example showcases the use of IronRDP in a blocking manner. It\ndemonstrates how to create a basic RDP client with just a few hundred lines\nof code by leveraging the IronRDP crates suite.\n\nIn this basic client implementation, the client establishes a connection\nwith the destination server, decodes incoming graphics updates, and saves the\nresulting output as a BMP image file on the disk.\n\n```shell\ncargo run --example=screenshot -- --host \u003cHOSTNAME\u003e --username \u003cUSERNAME\u003e --password \u003cPASSWORD\u003e --output out.bmp\n```\n\n### How to enable RemoteFX on server\n\nRun the following PowerShell commands, and reboot.\n\n```pwsh\nSet-ItemProperty -Path 'HKLM:\\Software\\Policies\\Microsoft\\Windows NT\\Terminal Services' -Name 'ColorDepth' -Type DWORD -Value 5\nSet-ItemProperty -Path 'HKLM:\\Software\\Policies\\Microsoft\\Windows NT\\Terminal Services' -Name 'fEnableVirtualizedGraphics' -Type DWORD -Value 1\n```\n\nAlternatively, you may change a few group policies using `gpedit.msc`:\n\n1. Run `gpedit.msc`.\n\n2. 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`\n\n3. 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`\n\n4. Enable `Computer Configuration/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host/Remote Session Environment/Limit maximum color depth`\n\n5. Reboot.\n\n## Architecture\n\nSee the [ARCHITECTURE.md](./ARCHITECTURE.md) document.\n\n## Getting help\n\n- Report bugs in the [issue tracker](https://github.com/Devolutions/IronRDP/issues)\n- Discuss the project on the [matrix room](https://matrix.to/#/#IronRDP:matrix.org)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDevolutions%2FIronRDP","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDevolutions%2FIronRDP","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDevolutions%2FIronRDP/lists"}