7.6 KiB
Servers •
Bouwen •
Docker •
Structuur •
Snapshot
[中文] | [Español] | [Français] | [Deutsch] | [Polski] | [Suomi] | [മലയാളം] | [日本語] | [Nederlands] | [Italiano] | [Русский]
We hebben je hulp nodig om deze README te vertalen naar jouw moedertaal
Praat met ons: Discord | Reddit
Nog weer een applicatie voor toegang op afstand, geschreven in Rust. Werkt meteen, geen configuratie nodig. Je hebt volledig beheer over je data, zonder na te hoeven denken over veiligheid. Je kunt onze rendez-vous/relay-server gebruiken, je eigen server opzetten, of je eigen rendez-vous/relay-server schrijven.
RustDesk verwelkomt bijdragen van iedereen. Zie CONTRIBUTING.md
om te lezen hoe je van start kunt gaan.
Gratis openbare servers
Onderstaande servers zijn de servers die je gratis kunt gebruiken, ze kunnen op termijn veranderen. Als je niet fysiek dichtbij een van deze servers bent, kan je verbinding traag werken.
Locatie | Aanbieder | Specificaties |
---|---|---|
Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
Singapore | Vultr | 1 VCPU / 1GB RAM |
Dallas | Vultr | 1 VCPU / 1GB RAM |
Afhankelijkheden
Desktopversies gebruiken sciter voor de grafische schil. Gelieve zelf de sciter-library te downloaden.
Handmatige bouwinstructies
-
Bereid je Rust-ontwikkelomgeving en C++-bouwomgeving voor.
-
Installeer vcpkg en configureer de
VCPKG_ROOT
omgevingsvariabele op de juiste manier:- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
-
Voer uit:
cargo run
Bouwen op 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
Installatie van 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
Fix voor libvpx (voor 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
Bouwen
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
Wissel van Wayland naar X11 (Xorg)
RustDesk ondersteunt Wayland niet. Lees hier hoe je Xorg als standaardsessie kunt instellen voor GNOME.
Bouwen met Docker
Kloon eerst deze repository en bouw de Docker-container:
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
Voer vervolgens de volgende commando's uit iedere keer dat je de applicatie opnieuw moet bouwen:
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
Let op dat de eerste build langer kan duren omdat de dependencies nog niet zijn gecached; latere builds zullen sneller zijn. Als je extra command line arguments wilt toevoegen aan het build-commando, dan kun je dat doen aan het einde van de opdrachtregel in plaats van <OPTIONAL-ARGS>
. Bijvoorbeeld: als je een geoptimaliseerde releaseversie wilt bouwen, draai dan het bovenstaande commando gevolgd door ---release
.
Het uitvoerbare bestand, in debug-modus, zal verschijnen in de target-map, en kan als volgt worden uitgevoerd:
target/debug/rustdesk
Als je een release-versie hebt gebouwd, is het commando als volgt:
target/release/rustdesk
Zorg ervoor dat je deze commando's van de root van de RustDesk-repository uitvoert, anders kan het programma de nodige afhankelijkheden mogelijk niet vinden. Let ook op dat andere cargo-subcommando's zoals install
en run
zijn momenteel niet ondersteund, aangezien deze zouden worden uitgevoerd in een container in plaats van op de host.
Bestandsstructuur
- libs/hbb_common: videocodec, configuratie, TCP/UDP-wrapper, protobuf, bestandssysteemfuncties voor bestandsoverdracht en nog wat andere nuttige functies
- libs/scrap: schermopname
- libs/enigo: platformspecifieke muis- en toetsenbordbeheer
- src/ui: GUI
- src/server: geluids-, klembord-, invoer- en video-services, netwerkverbindingen
- src/client.rs: voor het opzetten van peer-verbindingen
- src/rendezvous_mediator.rs: Communicatie met rustdesk-server, afwachten van redirect op afstand (TCP hole punching) of een relayed verbinding
- src/platform: platformspecifieke code