RustDesk Software de Escritorio Remoto de Código Abierto
RustDesk Software de Escritorio Remoto de Código Abierto

RustDesk: Software de Escritorio Remoto de Código Abierto

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ónProveedorEspecificación
SeoulAWS lightsail1 VCPU / 0.5GB RAM
SingaporeVultr1 VCPU / 1GB RAM
DallasVultr1 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

Interfaz principal de RustDesk
Interfaz principal de RustDesk
Conexión remota con RustDesk
Conexión remota con RustDesk
Conexión remota entre Windows y MacOS
Conexión remota entre Windows y MacOS
Puerto escucha de Rustdesk
Puerto escucha de Rustdesk
https://github.com/rustdesk/rustdesk

🤞 ¡El Gran Hermano te vigila, pero sabemos cómo detenerlo!

¡No enviamos spam! Lee nuestra Política de Privacidad para más información.

  1. Muchas gracias por tu artículo,
    Recientemente he realizado la instalación del servidor vía script de instalación https://raw.githubusercontent.com/dinger1986/rustdeskinstall/master/install.sh siguiendo los pasos de la web oficial y he probado el funcionamiento con los clientes y todo OK.

    Sin embargo tengo varias dudas a ver si me puedes resolver, en el cliente hay una sección de “Directorio” entiendo para tener ahí una agenda de clientes y poder buscar y conectarte al que sea, pide iniciar sesión, ¿es posible usarlo en servidores instalados en la red local o solo es viable con los servidores rusrDesk oficiales?

    Por otra parte, quisiera saber si el cliente es personalizable, con Team Viewer puedes generar un portable o un instalador con logo y con clave por defecto de acceso desatendido, no se si esto es posible hacerlo con rust, en ese caso, ¿como podría hacerse?

    Muchas gracias

    1. Hola,

      Enhorabuena por la instalación!

      Tengo entendido que funciona con los servidores de RustDesk. Era una característica solicitada, pero aún sin éxito.

      En cuanto a la personalización, también está en espera. Puedes seguir este hilo, tal vez haya una actualización pronto:

      https://github.com/rustdesk/rustdesk/issues/205

      Un saludo,

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

My Cart Close (×)

Tu carrito está vacío
Ver tienda