Signed-off-by: Hamidi Mohammed <mr.hammiddi@gmail.com>
7.8 KiB
Servers •
Build •
Docker •
Structure •
Snapshot
[中文] | [Español] | [فارسی] | [Français] | [Deutsch] | [Polski] | [Indonesian] | [Suomi] | [മലയാളം] | [日本語] | [Nederlands] | [Italiano] | [Русский] | [Português (Brasil)] | [Esperanto] | [한국어] | [العربي]
Kami membutuhkan bantuan Anda untuk menerjemahkan README ini dan RustDesk UI ke bahasa asli anda
Birbincang bersama kami: Discord | Reddit
Perangkat lunak desktop jarak jauh lainnya, ditulis dengan Rust. Bekerja begitu saja, tidak memerlukan konfigurasi. Anda memiliki kendali penuh atas data Anda, tanpa khawatir tentang keamanan. Anda dapat menggunakan server rendezvous/relay kami, konfigurasi server sendiri, or tulis rendezvous/relay server anda sendiri.
RustDesk menyambut baik kontribusi dari semua orang. Lihat CONTRIBUTING.md
untuk membantu sebelum memulai.
Publik Server Gratis
Di bawah ini adalah server yang bisa Anda gunakan secara gratis, dapat berubah seiring waktu. Jika Anda tidak dekat dengan salah satu dari ini, jaringan Anda mungkin lambat.
Lokasi | Vendor | Spesifikasi |
---|---|---|
Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
Singapore | Vultr | 1 VCPU / 1GB RAM |
Dallas | Vultr | 1 VCPU / 1GB RAM |
Dependencies
Versi desktop menggunakan sciter untuk GUI, silahkan download sendiri sciter dynamic library.
Langkah untuk RAW Build
-
Siapkan env pengembangan Rust dan C++ build env
-
Install vcpkg, dan arahkan
VCPKG_ROOT
env variable dengan benar- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
-
jalankan
cargo run
Bagaimana Build di Linux
Ubuntu 18 (Debian 10)
sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake
Fedora 28 (CentOS 8)
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
Arch (Manjaro)
sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pulseaudio
Install vcpkg
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
Perbaiki libvpx (Untuk Fedora)
cd vcpkg/buildtrees/libvpx/src
cd *
./configure
sed -i 's/CFLAGS+=-I/CFLAGS+=-fPIC -I/g' Makefile
sed -i 's/CXXFLAGS+=-I/CXXFLAGS+=-fPIC -I/g' Makefile
make
cp libvpx.a $HOME/vcpkg/installed/x64-linux/lib/
cd
Build
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://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
Ubah Wayland menjadi X11 (Xorg)
RustDesk tidak mendukung Wayland. Cek ini untuk mengonfigurasi Xorg sebagai sesi GNOME default.
Bagaimana build dengan Docker
Mulailah dengan mengkloning repositori dan build dengan docker container:
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
Kemudian, setiap kali Anda perlu build aplikasi, jalankan perintah berikut:
docker run --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)" rustdesk-builder
Perhatikan bahwa build pertama mungkin memerlukan waktu lebih lama sebelum dependensi di-cache, build berikutnya akan lebih cepat. Selain itu, jika Anda perlu menentukan argumen yang berbeda untuk perintah build, Anda dapat melakukannya di akhir perintah di posisi <OPTIONAL-ARGS>
. Misalnya, jika Anda ingin membangun versi rilis yang dioptimalkan, Anda akan menjalankan perintah di atas diikuti oleh --release
. Hasil eksekusi akan tersedia pada target folder di sistem anda, dan dapat dijalankan dengan:
target/debug/rustdesk
Atau, jika Anda menjalankan rilis yang dapat dieksekusi:
target/release/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 perintah cargo seperti install
atau run
saat ini tidak didukung melalui metode ini karena mereka akan menginstal atau menjalankan program di dalam container bukan pada host.
Struktur File
- libs/hbb_common: video codec, config, tcp/udp wrapper, protobuf, fs functions untuk transfer file, dan beberapa fungsi utilitas lainnya
- libs/scrap: screen capture
- libs/enigo: spesifikasi platform keyboard/mouse control
- src/ui: GUI
- src/server: audio/clipboard/input/video services, dan network connections
- src/client.rs: start a peer connection
- src/rendezvous_mediator.rs: Komunikasi dengan rustdesk-server, menunggu untuk remote direct (TCP hole punching) atau relayed connection
- src/platform: kode khusus platform