Furthermore, the code quality is really bad. 90% of the linux platform-dependant code is just executing shell commands and parsing their output, while the same could be achieved in a safe way with proper rust builtins: https://github.com/rustdesk/rustdesk/blob/master/src/platform/linux.rs
While I agree that Rustdesk works pretty flawlessly, the codebase and the behavior of the developers made me distrust the software and I don’t recommend using it.
@petsoi@discuss.tchncs.de you might want to add that warning to the post.
They also tried to submit the app to Flathub, but had way too broad permissions with no explanation why. “Users expect filesystem access” etc. In the end it was rejected and they publish a .flatpak file themselves.
Really sad about this, because Rust Desk has been the absolute best remote access tool I’ve ever used in the IT world, and that includes many different professional tools like Ninja& Teamviewer.
It’s so clean, easy to install and run, fast and low latency, handles multi-monitors great, runs on mobile, Linux, Windows, etc.
Rustdesk looks good on the outside, but if you look inside, it has a really bad codebase and has done some sketchy stuff in the past.
Last year, it installed custom root certificates as trusted on windows, which is a huge security risk: https://github.com/rustdesk/rustdesk/discussions/6444
On linux systems, it forced its own autostart with no option to disable this behavior: https://github.com/rustdesk/rustdesk/issues/4863
In the past, when it didn’t have Wayland support yet, it edited your GDM config and just disabled wayland: https://github.com/rustdesk/rustdesk/blob/1.1.9/src/platform/linux.rs#L411-L422
Furthermore, the code quality is really bad. 90% of the linux platform-dependant code is just executing shell commands and parsing their output, while the same could be achieved in a safe way with proper rust builtins: https://github.com/rustdesk/rustdesk/blob/master/src/platform/linux.rs
While I agree that Rustdesk works pretty flawlessly, the codebase and the behavior of the developers made me distrust the software and I don’t recommend using it.
@petsoi@discuss.tchncs.de you might want to add that warning to the post.
They also tried to submit the app to Flathub, but had way too broad permissions with no explanation why. “Users expect filesystem access” etc. In the end it was rejected and they publish a .flatpak file themselves.
https://github.com/flathub/flathub/pull/5233
The other points are far worse though.
The whole discussion on that pull request is extremely sketchy, IMO.
Really sad about this, because Rust Desk has been the absolute best remote access tool I’ve ever used in the IT world, and that includes many different professional tools like Ninja& Teamviewer.
It’s so clean, easy to install and run, fast and low latency, handles multi-monitors great, runs on mobile, Linux, Windows, etc.
Such a shame that it is mired in controversy.
Wow that’s so sketchy.
Wth is that, that is the most anti-idiomatic code I have ever seen
https://github.com/rustdesk/rustdesk/blob/master/src%2Fplatform%2Flinux.rs#L176
pub fn get_cursor() -> ResultType<Option<u64>> { let mut res = None; DISPLAY.with(|conn| { if let Ok(d) = conn.try_borrow_mut() { if !d.is_null() { unsafe { let img = XFixesGetCursorImage(*d); if !img.is_null() { res = Some((*img).cursor_serial as u64); XFree(img as _); } } } } }); Ok(res) }
I’m not an expert but this seems wrong.
Yep, I’m not a Rust expert either, but this is pretty cursed. The comments on this post have some more examples of bad rustdesk code: https://lobste.rs/s/njfvjb/rustdesk_with_tailscale_on_arch_linux