Serwery •
Kompilacja •
Docker •
Struktura •
Snapshot
[English] | [中文] | [Deutsch] | [Española] | [Français] | [日本語] | [Русский] | [Português]
Potrzebujemy twojej pomocy w tłumaczeniu README na twój ojczysty język
Porozmawiaj z nami na: Discord | Reddit
Kolejny program do zdalnego pulpitu, napisany w Rust. Działa od samego początku, nie wymaga konfiguracji. Masz pełną kontrolę nad swoimi danymi, bez obaw o bezpieczeństwo. Możesz skorzystać z naszego darmowego serwera publicznego , skonfigurować własny, lub napisać własny serwer rendezvous/relay server.
RustDesk zaprasza do współpracy każdego. Zobacz CONTRIBUTING.md
pomoc w uruchomieniu programu.
Poniżej znajdują się serwery, z których można korzystać za darmo, może się to zmienić z upływem czasu. Jeśli nie znajdujesz się w pobliżu jednego z nich, Twoja prędkość połączenia może być niska.
Lokalizacja | Dostawca | Specyfikacja |
---|---|---|
Seul | AWS lightsail | 1 VCPU / 0.5GB RAM |
Singapur | Vultr | 1 VCPU / 1GB RAM |
Dallas | Vultr | 1 VCPU / 1GB RAM |
Wersje desktopowe używają sciter dla GUI, proszę pobrać bibliotekę dynamiczną sciter samodzielnie.
-
Przygotuj środowisko programistyczne Rust i środowisko programowania C++
-
Zainstaluj vcpkg, i ustaw
VCPKG_ROOT
env zmienną prawidłowo- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
-
uruchom
cargo run
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
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
sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pulseaudio
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 134505003bb46e20fbace51ccfb69243fbbc5f82
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
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
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
cargo run
RustDesk nie obsługuje Waylanda. Sprawdź this by skonfigurować Xorg jako domyślną sesję GNOME.
Rozpocznij od sklonowania repozytorium i stworzenia kontenera docker:
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
Następnie, za każdym razem, gdy potrzebujesz skompilować aplikację, uruchom następujące polecenie:
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
Zauważ, że pierwsza kompilacja może potrwać dłużej zanim zależności zostaną zbuforowane, kolejne będą szybsze. Dodatkowo, jeśli potrzebujesz określić inne argumenty dla polecenia budowania, możesz to zrobić na końcu komendy w miejscu <OPTIONAL-ARGS>
. Na przykład, jeśli chciałbyś zbudować zoptymalizowaną wersję wydania, uruchomiłbyś powyższą komendę a następnie ---release
. Powstały plik wykonywalny będzie dostępny w folderze docelowym w twoim systemie, i może być uruchomiony z:
target/debug/rustdesk
Lub, jeśli uruchamiasz plik wykonywalny wersji:
target/release/rustdesk
Upewnij się, że uruchamiasz te polecenia z katalogu głównego repozytorium RustDesk, w przeciwnym razie aplikacja może nie być w stanie znaleźć wymaganych zasobów. Należy również pamiętać, że inne podpolecenia ładowania, takie jak install
lub run
nie są obecnie obsługiwane za pomocą tej metody, ponieważ instalowałyby lub uruchamiały program wewnątrz kontenera zamiast na hoście.
- libs/hbb_common: kodek wideo, config, wrapper tcp/udp, protobuf, funkcje fs do transferu plików i kilka innych funkcji użytkowych
- libs/scrap: przechwytywanie ekranu
- libs/enigo: specyficzne dla danej platformy sterowanie klawiaturą/myszą
- src/ui: GUI
- src/server: audio/schowek/wejście(input)/wideo oraz połączenia sieciowe
- src/client.rs: uruchamia połączenie peer
- src/rendezvous_mediator.rs: Komunikacja z rustdesk-server, wait for remote direct (TCP hole punching) or relayed connection
- src/platform: specyficzny dla danej platformy kod