7.7 KiB
Servidores •
Compilar •
Docker •
Estructura •
Captura de pantalla
[English] | [中文] | [Deutsch] | [Français] | [Nederlands] | [Polski] | [日本語] | [Русский] | [Português]
Necesitamos tu ayuda para traducir este README a tu idioma
Chat with us: Discord | Reddit
Otro software de escritorio remoto, escrito en Rust. Funciona de forma inmediata, sin necesidad de configuración. Tienes el control total de sus datos, sin preocupaciones sobre la seguridad. Puedes utilizar nuestro servidor de rendezvous/relay, set up your own, o escribir tu propio servidor rendezvous/relay.
RustDesk agradece la contribución de todo el mundo. Ve CONTRIBUTING.md
para ayuda inicial.
Servidores gratis de uso público
A continuación se muestran los servidores que está utilizando de forma gratuita, puede cambiar en algún momento. Si no estás cerca de uno de ellos, tu red puede ser lenta.
- Seoul, AWS lightsail, 1 VCPU/0.5G RAM
- Singapore, Vultr, 1 VCPU/1G RAM
- Dallas, Vultr, 1 VCPU/1G RAM
Dependencies
La versión Desktop usa sciter para GUI, por favor bajate la librería sciter tu mismo..
Pasos para compilar desde el inicio
-
Prepara el entono de desarrollode Rust y el entorno de compilación de C++ y Rust.
-
Instala vcpkg, y configura la variable de entono
VCPKG_ROOT
correctamente.- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/Osx: vcpkg install libvpx libyuv opus
-
run
cargo run
Como compilar en 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
Soluciona libvpx (For 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
Compila
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
Cambia Wayland a X11 (Xorg)
RustDesk no soporta Wayland. Comprueba aquí para configurar Xorg en la sesión por defecto de GNOME.
Como compilar con Docker
Empieza clonando el repositorio y compilando el contenedor de docker:
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
Entonces, cada vez que necesites compilar una modificación, ejecuta el siguiente comando:
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
Ten en cuenta que la primera compilación puede tardar más tiempo antes de que las dependencias se almacenen en la caché, las siguientes compilaciones serán más rápidas. Además, si necesitas especificar diferentes argumentos a la orden de compilación, puede hacerlo al final de la linea de comandos en el apartado<OPTIONAL-ARGS>
. Por ejemplo, si desea compilar una versión optimizada para publicación, deberá ejecutar el comando anterior seguido de ---release
. El ejecutable resultante estará disponible en la carpeta de destino en su sistema, y puede ser ejecutado con:
target/debug/rustdesk
O si estas ejecutando una versión para su publicación:
target/release/rustdesk
Por favor, asegurate de que estás ejecutando estos comandos desde la raíz del repositorio de RustDesk, de lo contrario la aplicación puede ser incapaz de encontrar los recursos necesarios. También hay que tener en cuenta que otros subcomandos de carga como install
o run
no estan actualmente soportados via este metodo y podrían requerir ser instalados dentro del contenedor y no en el host.
Estructura de archivos
- libs/hbb_common: video codec, configuración, tcp/udp wrapper, protobuf, fs funciones para transferencia de ficheros, y alguna función de utilidad.
- libs/scrap: captura de pantalla
- libs/enigo: control específico por cada plataforma para el teclado/ratón
- src/ui: GUI
- src/server: sonido/portapapeles/entrada/servicios de video, y conexiones de red
- src/client.rs: iniciar una conexión "peer to peer"
- src/rendezvous_mediator.rs: Comunicación con rustdesk-server, esperar la conexión remota directa ("TCP hole punching") o conexión indirecta ("relayed")
- src/platform: código específico de cada plataforma