RustDesk | Your Remote Desktop Software
The best open-source remote desktop client software, written in Rust. Works out of the box, no configuration required. Great alternative to TeamViewer and AnyDesk! You have full control of your data, with no concerns about security. You can use our rendezvous/relay server, set up your own, or write your own rendezvous/relay server.
Dependences
Desktop versions use sciter for GUI, please download sciter dynamic library yourself.
How To Build
Steps
-
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
-
run
cargo run
Build on Debain
sudo apt install -y git curl wget nasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake
git clone https://github.com/microsoft/vcpkg
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
mkdir -p target/debug
wget https://github.com/c-smile/sciter-sdk/raw/dc65744b66389cd5a0ff6bdb7c63a8b7b05a708b/bin.lnx/x64/libsciter-gtk.so
mv libsciter-gtk.so target/debug
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
Snapshot
Description
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
anydeskdartflutterflutter-appsflutter-desktopflutter-examplesflutter-mobileflutter-uiflutter-webhacktoberfestlinuxp2prdpremote-controlremote-desktoprustrust-langteamviewervncwayland
Readme
110 MiB
Languages
Rust
65%
Dart
25.3%
C++
1.9%
C
1.8%
Kotlin
1.7%
Other
4.1%