Please have a look at the warnings in the comments:
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.
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
DO NOT USE THIS
This is a massive security risk and they have had so much controversy. They also routinely delete Github issues and discussions that question them. To top it off they are likely Chinese run.
Source:
China is good though? At least that ensures they aren’t a CIA operation.