How do i import ironrdp into my project?

if you goto the repo, it is very confusing GitHub - Devolutions/IronRDP: Rust implementation of the Microsoft Remote Desktop Protocol (RDP)

name = "rdp-connect"
version = "0.1.0"
edition = "2021"

[dependencies]
anyhow = "1.0.86"
tokio = { version = "1.39.1", features = ["full"] }
tokio-rustls = "0.26.0"
x509-cert = "0.2.5"
ironrdp = { git = "https://github.com/Devolutions/IronRDP" }
ironrdp-tokio = {}

The package in that repo is a workspace with a virtual manifest.

In the root Cargo.toml file, members is set to crates/ and that directory in the repo is where you'll find the crates that are part of the workspace (excluding the ones listed under exclude in the root Cargo.toml)

Luckily, cargo just needs the git URL and will search for the package within the repo (docs).

In particular, different packages can come from the same git repo

ironrdp = { git = "https://github.com/Devolutions/IronRDP" }
ironrdp-tokio = { git = "https://github.com/Devolutions/IronRDP" }

have you spotted a direct way to connect to a rdp server in a lightweight way, i will implement something more featured after, but i just need a function that returns a result for a given username, password, ip and optionally a domain. i mean ill find out, but your opinion will help out alot

It's a complicated protocol, but I do sympathise with your struggle.

It looks like you've found a really good rust implementation! They seem to be actively working on it and documentation for end users is still lacking. I don't blame them here, good documentation takes time.

Anyway, from what I can see, the screenshot example should guide you.

It's huge, but focus on the connect function. They've had to write it using lower level building blocks, but you can copy it. They use a similar function, but async, in the client crate. So I really do think this is just the boilerplate needed to connect using ironrdp at this current time.

I don't think there exists the high level of abstraction that you're after in ironrdp yet, but I wouldn't disregard the whole thing because of that.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.