Otro software de escritorio remoto, escrito en Rust. Funciona de forma inmediata, sin necesidad de configuración. Gran alternativa a TeamViewer y AnyDesk. Tendrás el control total de tus datos, sin preocupaciones sobre la seguridad. Puedes utilizar el servidor de rendezvous/relay, configurar el tuyo propio, o escribir tu propio servidor de rendezvous/relay.
https://github.com/rustdesk/rustdesk/releases
Servidores Públicos Gratuitos
A continuación se muestran los servidores que están utilizando de forma gratuita, puedes cambiar a lo largo del tiempo. Si no estás cerca de uno de ellos, tu red puede ser lenta.
Ubicación | Proveedor | Especificación |
---|---|---|
Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
Singapore | Vultr | 1 VCPU / 1GB RAM |
Dallas | Vultr | 1 VCPU / 1GB RAM |
Dependencias
Las versiones de escritorio utilizan sciter para la interfaz gráfica de usuario, por favor descarga la biblioteca dinámica sciter.
https://github.com/andyjsmith/Registry-Spy/releases
https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.osx/libsciter.dylib
Pasos para Construir
- Prepara tu entorno de desarrollo de Rust y tu entorno de construcción de C++
- Instala vcpkg, y establece la variable env
VCPKG_ROOT
env variable correctamente- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- Ejecuta
cargo run
https://github.com/microsoft/vcpkg
Cómo Construir 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
Instalar vcpkg
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
Fix 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
Construir
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
Cómo Construir con Docker
Comienza clonando el repositorio y construyendo el contenedor Docker:
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
Luego, cada vez que necesites construir la aplicació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 construcción puede tardar más tiempo antes de que las dependencias se almacenen en la caché, las construcciones posteriores serán más rápidas. Además, si necesitas especificar diferentes argumentos al comando de construcción, puedes hacerlo al final del comando en la posición <OPTIONAL-ARGS>
. Por ejemplo, si quieres construir una versión de lanzamiento optimizada, debes ejecutar el comando anterior seguido de ---release
. El ejecutable resultante estará disponible en la carpeta de destino en tu sistema, y puede ser ejecutado con:
target/debug/rustdesk
O, si estás ejecutando un ejecutable de lanzamiento:
target/release/rustdesk
Por favor, asegúrate 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 cargo, como install
o run
, no son compatibles actualmente con este método, ya que instalarían o ejecutarían el programa dentro del contenedor en lugar del host.
Cambiar Wayland a X11 (Xorg)
RustDesk no soporta Wayland. Comprueba esto para configurar Xorg como la sesión por defecto de GNOME.
Estructura de los Archivos
- libs/hbb_common: códec de vídeo, config, wrapper tcp/udp, protobuf, funciones fs para la transferencia de archivos, y algunas otras funciones de utilidad
- libs/scrap: captura de pantalla
- libs/enigo: control de mouse/teclado específico de la plataforma
- src/ui: GUI
- src/server: servicios de audio/clipboard/entrada/video, y conexiones de red
- src/client.rs: iniciar una conexión entre pares
- src/rendezvous_mediator.rs: Comunicarse con rustdesk-server, esperar una conexión remota directa (TCP hole punching) o retransmitida
- src/platform: código específico de la plataforma
Capturas de Pantalla
https://github.com/rustdesk/rustdesk