Kami membutuhkan bantuan Anda untuk menerjemahkan README, RustDesk UI, dan RustDesk Doc ini ke bahasa ibu Anda
Ngobrol dengan kami: Perselisihan | Twitter | reddit
Perangkat lunak desktop jarak jauh lainnya, ditulis dalam Rust. Berfungsi di luar kotak, tidak diperlukan konfigurasi. Anda memiliki kendali penuh atas data Anda, tanpa mengkhawatirkan keamanan. Anda dapat menggunakan server rendezvous/relay kami, mengaturnya sendiri, atau menulis server rendezvous/relay Anda sendiri.
RustDesk menyambut kontribusi dari semua orang. Lihat CONTRIBUTING.md untuk bantuan memulai.
Pertanyaan Umum
UNDUH BINER
BANGUNAN MALAM
Versi desktop menggunakan Flutter atau Sciter (tidak digunakan lagi) untuk GUI, tutorial ini hanya untuk Sciter, karena lebih mudah dan ramah untuk memulai. Lihat CI kami untuk membuat versi Flutter.
Silakan unduh sendiri perpustakaan dinamis Sciter.
jendela | Linux | macOS
Siapkan env pengembangan Rust dan env build C++ Anda
Instal vcpkg, dan atur variabel env VCPKG_ROOT
dengan benar
Windows: vcpkg instal libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
Linux/macOS: vcpkg instal libvpx libyuv opus aom
menjalankan cargo run
sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev dentang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake make libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libpam0g-dev
sudo zypper install gcc-c++ git curl wget nasm yasm gcc gtk3-devel dentang libxcb-devel libXfixes-devel cmake alsa-lib-devel gstreamer-devel gstreamer-plugins-base-devel xdotool-devel pam-devel
sudo yum -y install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libxdo-devel libXfixes-devel pulseaudio-libs-devel cmake alsa-lib-devel gstreamer1-devel gstreamer1-plugins-base-devel pam- berkembang
sudo pacman -Syu --dibutuhkan unzip git cmake gcc curl wget yasm nasm zip make pkg-config dentang gtk3 xdotool libxcb libxfixes alsa-lib pipewire
git clone https://github.com/microsoft/vcpkgcd vcpkg git checkout 2023.04.15cd .. vcpkg/bootstrap-vcpkg.shexport VCPKG_ROOT=$HOME/vcpkg vcpkg/vcpkg instal libvpx libyuv opus aom
cd vcpkg/buildtrees/libvpx/srccd *./configure sed -i 's/CFLAGS+=-I/CFLAGS+=-fPIC -I/g' Makefile sed -i 's/CXXFLAGS+=-I/CXXFLAGS+=-fPIC -I/g' Makefile membuat cp libvpx.a $HOME/vcpkg/installed/x64-linux/lib/cd
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sumber $HOME/.cargo/env git clone https://github.com/rustdesk/rustdeskcd Rustdesk mkdir -p target/debug wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so mv libsciter-gtk.so target/debug VCPKG_ROOT=$HOME/kargo vcpkg dijalankan
Mulailah dengan mengkloning repositori dan membangun container Docker:
git clone https://github.com/rustdesk/rustdeskcd Rustdesk buruh pelabuhan membangun -t "rustdesk-builder" .
Kemudian, setiap kali Anda perlu membangun aplikasi, jalankan perintah berikut:
menjalankan buruh pelabuhan --rm -it -v $PWD:/home/user/rustdesk -v Rustdesk-git-cache:/home/user/.cargo/git -v Rustdesk-registry-cache:/home/user/.cargo /registry -e PUID="$(id -u)" -e PGID="$(id -g)" pembuat karatdesk
Perhatikan bahwa build pertama mungkin memerlukan waktu lebih lama sebelum dependensi di-cache, build selanjutnya akan lebih cepat. Selain itu, jika Anda perlu menentukan argumen berbeda pada perintah build, Anda dapat melakukannya di akhir perintah pada posisi
. Misalnya, jika Anda ingin membuat versi rilis yang dioptimalkan, jalankan perintah di atas diikuti dengan --release
. Hasil eksekusinya akan tersedia di folder target di sistem Anda, dan dapat dijalankan dengan:
target/debug/rustdesk
Atau, jika Anda menjalankan rilis yang dapat dieksekusi:
target/rilis/rustdesk
Harap pastikan bahwa Anda menjalankan perintah ini dari root repositori RustDesk, jika tidak, aplikasi mungkin tidak dapat menemukan sumber daya yang diperlukan. Perhatikan juga bahwa subperintah kargo lain seperti install
atau run
saat ini tidak didukung melalui metode ini karena subperintah tersebut akan menginstal atau menjalankan program di dalam container, bukan di host.
libs/hbb_common : codec video, config, tcp/udp wrapper, protobuf, fungsi fs untuk transfer file, dan beberapa fungsi utilitas lainnya
libs/scrap : tangkapan layar
libs/enigo : kontrol keyboard/mouse khusus platform
libs/clipboard : implementasi salin dan tempel file untuk Windows, Linux, macOS.
src/ui : UI Sciter yang sudah usang (tidak digunakan lagi)
src/server : layanan audio/clipboard/input/video, dan koneksi jaringan
src/client.rs : memulai koneksi rekan
src/rendezvous_mediator.rs : Berkomunikasi dengan server karatdesk, tunggu koneksi langsung jarak jauh (lubang TCP) atau koneksi relai
src/platform : kode khusus platform
flutter : Kode Flutter untuk desktop dan seluler
flutter/web/js : JavaScript untuk klien web Flutter
RustDesk didukung oleh server UE gratis, yang disediakan oleh Codext GmbH