mirror of
https://github.com/rustdesk/rustdesk.git
synced 2025-05-19 15:54:49 +02:00
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
https://rustdesk.com
anydeskdartflutterflutter-appsflutter-desktopflutter-examplesflutter-mobileflutter-uiflutter-webhacktoberfestlinuxp2prdpremote-controlremote-desktoprustrust-langteamviewervncwayland
.github | ||
libs | ||
src | ||
.gitignore | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
oboe.cc | ||
README.md | ||
windows.cc |
RustDesk | Your Remote Desktop Software
The best open source remote desktop software written with Rust.
Dependence
Desktop versions use sciter for GUI, please download sciter dynamic library yourself.
How To Build
-
Prepare your Rust development env and C++ build env
-
Install vcpkg, and set VCPKG_ROOT env variable correctly
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/Osx: vcpkg install libvpx libyuv opus
-
cargo run
File Structure
- libs/hbb_common: video codec, config, tcp/udp wrapper, protobuf, fs functions for file transfer, and some other utility functions
- libs/scrap: screen capture
- libs/enigo: platform specific keyboard/mouse control
- src/ui: GUI
- src/server: audio/clipboard/input/video services, and network connections
- src/client.rs: start a peer connection
- src/rendezvous_mediator.rs: Communicate with rustdesk-server, wait for remote direct (TCP hole punching) or relayed connection
- src/platform: platform specific code