7.7 KiB
Serveurs -
Build -
Docker -
Structure -
Images
[English] | [中文] | [Deutsch] | [Española] | [Nederlands] | [Polski] | [日本語] | [Русский] | [Português]
Nous avons besoin de votre aide pour traduire ce README dans votre langue maternelle.
Chattez avec nous : Discord | Reddit
Encore un autre logiciel de bureau à distance, écrit en Rust. Fonctionne directement, aucune configuration n'est nécessaire. Vous avez le contrôle total de vos données, sans aucun souci de sécurité. Vous pouvez utiliser notre serveur de rendez-vous/relais, configurer le vôtre, ou écrire votre propre serveur de rendez-vous/relais.
RustDesk accueille les contributions de tout le monde. Voir CONTRIBUTING.md
pour plus d'informations.
Serveurs publics libres
Ci-dessous se trouvent les serveurs que vous utilisez gratuitement, cela peut changer au fil du temps. Si vous n'êtes pas proche de l'un d'entre eux, votre réseau peut être lent.
- Séoul, AWS lightsail, 1 VCPU/0.5G RAM
- Singapour, Vultr, 1 VCPU/1G RAM
- Dallas, Vultr, 1 VCPU/1G RAM
Dépendances
Les versions de bureau utilisent sciter pour l'interface graphique, veuillez télécharger la bibliothèque dynamique sciter vous-même.
Étapes brutes de la compilation/build
-
Préparez votre environnement de développement Rust et votre environnement de compilation C++.
-
Installez vcpkg, et définissez correctement la variable d'environnement
VCPKG_ROOT
.- Windows : vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/Osx : vcpkg install libvpx libyuv opus
-
Exécuter
cargo run
Comment compiler/build sous 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
Installer 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
Corriger libvpx (Pour 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
Construire
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 cible/debug
wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
mv libsciter-gtk.so target/debug
Exécution du cargo
Changer Wayland en X11 (Xorg)
RustDesk ne supporte pas Wayland. Lisez cela pour configurer Xorg comme la session GNOME par défaut.
Comment construire avec Docker
Commencez par cloner le dépôt et construire le conteneur Docker :
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
Ensuite, chaque fois que vous devez build le logiciel, exécutez la commande suivante :
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
Notez que le premier build peut prendre plus de temps avant que les dépendances ne soient mises en cache, les constructions suivantes seront plus rapides. De plus, si vous devez spécifier différents arguments à la commande de compilation, vous pouvez le faire à la fin de la commande dans la position <OPTIONAL-ARGS>
. Par exemple, si vous voulez construire une version optimisée de la version release, vous devez exécuter la commande ci-dessus suivie de ---release
. L'exécutable résultant sera disponible dans le dossier cible sur votre système, et peut être lancé avec :
target/debug/rustdesk
Ou, si vous exécutez un exécutable provenant d'une release :
target/release/rustdesk
Veuillez vous assurer que vous exécutez ces commandes à partir de la racine du référentiel RustDesk, sinon l'application ne pourra pas trouver les ressources requises. Notez également que les autres sous-commandes de cargo telles que install
ou run
ne sont pas actuellement supportées par cette méthode car elles installeraient ou exécuteraient le programme à l'intérieur du conteneur au lieu de l'hôte.
Structure du projet
- libs/hbb_common : codec vidéo, config, wrapper tcp/udp, protobuf, fonctions fs pour le transfert de fichiers, et quelques autres fonctions utilitaires.
- libs/scrap : capture d'écran
- libs/enigo : contrôle clavier/souris spécifique à la plate-forme
- src/ui : INTERFACE GRAPHIQUE
- src/server : services audio/clipboard/input/vidéo, et connexions réseau
- src/client.rs : démarrer une connexion entre pairs
- src/rendezvous_mediator.rs : Communiquer avec rustdesk-server, attendre une connexion distante directe (TCP hole punching) ou relayée.
- src/platform : code spécifique à la plateforme