Add Spanish translation

This commit is contained in:
Daniel HybridNetworks 2022-06-22 22:28:11 -03:00
parent a8207383c9
commit cbc8f25706
21 changed files with 907 additions and 0 deletions

View File

@ -38,6 +38,13 @@ weight = 1
languageName = "English"
landingPageName = "<i class='fas fa-home'></i> Home"
[Languages]
[Languages.es]
title = "Documentación para RustDesk"
weight = 1
languageName = "Español"
landingPageName = "<i class='fas fa-home'></i> Principal"
[Languages.fr]
title = "Documentation du RustDesk"
weight = 2

8
content/_index.es.md Normal file
View File

@ -0,0 +1,8 @@
---
title: "Docs of RustDesk"
---
# RustDesk
{{% children depth="3" showhidden="true" %}}

12
content/dev/_index.es.md Normal file
View File

@ -0,0 +1,12 @@
---
title: Development
weight: 8
pre: "<b>3. </b>"
chapter: true
---
### Capítulo 3
# Desarrollo
{{% children depth="3" showhidden="true" %}}

View File

@ -0,0 +1,8 @@
---
title: Build
weight: 1
---
Verificar [build.py](https://github.com/rustdesk/rustdesk/blob/master/build.py) para compilar versión de escritorio.
{{% children depth="3" showhidden="true" %}}

View File

@ -0,0 +1,46 @@
---
title: Android
weight: 22
---
{{% notice note %}}
Este tutorial se basa en **Linux**, y suponiendo que eres **familiar** con [Android NDK](https://developer.android.com/ndk/downloads), [Rust](https://rustup.rs/) y [Flutter](https://flutter.dev/). Si no lo es, salte.
{{% /notice %}}
## Compilar Rust
```
cd
# Para ahorrar su tiempo y el nuestro, preparamos archivos dependientes para usted.
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/dep.tar.gz
tar xzf dep.tar.gz
# use r22b, el nuevo NDK tiene el siguiente problema
# https://stackoverflow.com/questions/68873570/how-do-i-fix-ld-error-unable-to-find-library-lgcc-when-cross-compiling-rust
wget https://dl.google.com/android/repository/android-ndk-r22b-linux-x86_64.zip
unzip android-ndk-r22b-linux-x86_64.zip
# install ffigen and llvm
dart pub global activate ffigen 5.0.1
# en Ubuntu 18, es: sudo apt install libclang-9-dev
sudo apt-get install libclang-dev
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
rustup target add aarch64-linux-android
cargo install cargo-ndk
VCPKG_ROOT=$HOME/vcpkg ANDROID_NDK_HOME=$HOME/android-ndk-r22b flutter/ndk_arm64.sh
```
## Compilar Flutter
```
cd flutter
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/so.tar.gz
tar xzf so.tar.gz
cp ../target/aarch64-linux-android/release/liblibrustdesk.so android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
# Ejecute en su dispositivo Android, no es compatible con el simulador todavía (no pregunte por qué).
# Buena suerte!
# openjdk 11 requerido, no use más alto o más bajo, ambos tienen problemas
flutter run
```

View File

@ -0,0 +1,35 @@
---
title: Docker
weight: 30
---
## Cómo compilar con Docker
Comience clonando el repositorio y construyendo el contenedor docker:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Luego, cada vez que necesite compilar la aplicación, ejecute el siguiente comando:
```sh
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
```
Tenga en cuenta que la primera compilación puede demorar más antes de que las dependencias se almacenen en caché, las compilaciones posteriores serán más rápidas. Además, si necesita especificar diferentes argumentos para el comando de compilación, puede hacerlo al final del comando en el `<OPTIONAL-ARGS>` posición. Por ejemplo, si quisiera crear una versión de lanzamiento optimizada, ejecutaría el comando anterior seguido de `---release`. El ejecutable resultante estará disponible en la carpeta de destino de su sistema y se puede ejecutar con:
```sh
target/debug/rustdesk
```
O, si está ejecutando un ejecutable de versión:
```sh
target/release/rustdesk
```
Asegúrese de ejecutar estos comandos desde la raíz del repositorio de RustDesk; de lo contrario, es posible que la aplicación no pueda encontrar los recursos necesarios. También tenga en cuenta que otros subcomandos de carga como `install` o `run` actualmente no se admiten a través de este método, ya que instalarían o ejecutarían el programa dentro del contenedor en lugar del host.

View File

@ -0,0 +1,75 @@
---
title: FAQ for Windows
weight: 40
---
## vcpkg el paquete de descarga falló
### Error
```
-- Fetching https://chromium.googlesource.com/libyuv/libyuv 287158925b0e03ea4499a18b4e08478c5781541b...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
Command failed: D:/program/Git/mingw64/bin/git.exe fetch https://chromium.googlesource.com/libyuv/libyuv 287158925b0e03ea4499a18b4e08478c5781541b --depth 1 -n
```
### Solución
Usa un navegador para descargar `https://chromium.googlesource.com/libyuv/libyuv/+archive/287158925b0e03ea4499a18b4e08478c5781541b.tar.gz`, luego muévelo a `vcpkg/downloads` y reinstalar.
## El paquete en Cargo.lock no existe
### Error
```
$ cargo run
Updating git repository `https://github.com/open-trade/confy`
warning: spurious network error (2 tries remaining): failed to receive response: Operation Timeout
; class=Os (2)
error: failed to get `confy` as a dependency of package `hbb_common v0.1.0 (D:\rustdesk\rustdesk\rustdesk\libs\hbb_common)`
Caused by:
failed to load source for dependency `confy`
Caused by:
Unable to update https://github.com/open-trade/confy#27fa1294
Caused by:
object not found - no match for id (27fa12941291b44ccd856aef4a5452c1eb646047); class=Odb (9); code=NotFound (-3)
```
Tal vez el autor usó `git force push` y la confirmación anterior se sobrescribió.
### Solución
`cargo update`, forzar la actualización del paquete
## VCPKG_ROOT no establecido
### Error
```
thread 'main' panicked at 'Failed to find package: VcpkgNotFound("No vcpkg installation found. Set the VCPKG_ROOT environment variable or run 'vcpkg integrate install'")', libs\scrap\build.rs:7:45
```
### Solución
Agregar `VCPKG_ROOT` variable de entorno, o ejecutar con `VCPKG_ROOT=<vcpkg_dir> cargo run`
## clang no instalado, o LIBCLANG_PATH no establecido
### Error
```
thread 'main' panicked at 'Unable to find libclang: "couldn't find any valid shared libraries matching: ['clang.dll', 'libclang.dll'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])"', C:\Users\selfd\.cargo\registry\src\mirrors.ustc.edu.cn-61ef6e0cd06fb9b8\bindgen-0.59.2\src/lib.rs:2144:31
```
### Solución
Instalar [llvm](https://releases.llvm.org/download.html), Añade el `LIBCLANG_PATH` variable de entorno como `llvm_install_dir/bin`

View File

@ -0,0 +1,21 @@
---
title: iOS
weight: 23
---
```
cd
# Para ahorrar su tiempo y el nuestro, preparamos archivos dependientes para usted.
https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/ios_dep.tar.gz
tar xzf ios_dep.tar.gz
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
# Para simulador: VCPKG_ROOT=$HOME/vcpkg ./flutter/ios_x64.sh
VCPKG_ROOT=$HOME/vcpkg ./flutter/ios_arm64.sh
cd flutter
dart pub global activate ffigen
# Buena suerte!
# Para simulador: sed 's/aarch64/x86_64/g' ios/Runner.xcodeproj/project.pbxproj
# Olvídese si es necesario: cd ios; pod install; cd -;
flutter run
```

View File

@ -0,0 +1,85 @@
---
title: Linux
weight: 10
---
## Dependencias
Uso de versiones de escritorio [sciter](https://sciter.com/) para GUI, descargue la biblioteca dinámica sciter usted mismo.
[Windows](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll) |
[Linux](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so) |
[MacOS](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.osx/libsciter.dylib)
## Pasos para construir
- Prepare su entorno de desarrollo de Rust y el entorno de compilación de C++
- Instalar [vcpkg](https://github.com/microsoft/vcpkg), y establecer `VCPKG_ROOT` variable env correctamente
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- run `cargo run`
## Cómo construir en Linux
### Ubuntu 18 (Debian 10)
```sh
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)
```sh
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)
```sh
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
```sh
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
```
### Arreglar libvpx (Para Fedora)
```sh
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
```sh
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
```
### Cambiar Wayland a X11 (Xorg)
RustDesk no es compatible con Wayland. Verificar [this](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) para configurar Xorg como la sesión de GNOME predeterminada.

View File

@ -0,0 +1,18 @@
---
title: macOS
weight: 21
---
```
cd
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2022.04.12
./bootstrap-vcpkg.sh
brew install nasm yasm
./vcpkg install libvpx libyuv opus
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
export VCPKG_ROOT=$HOME/vcpkg
cargo run
```

View File

@ -0,0 +1,28 @@
---
title: Web
weight: 23
---
Ejecutar a continuación en Linux o Mac
Actualmente, el converter yuv y vp9 son cuello de botella
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk/flutter/web/js
# instalar protoc primero http://google.github.io/proto-lens/installing-protoc.html
npm install ts-proto
yarn build
cd ..
# sobre los detalles del convertidor yuv, mira esto https://github.com/rustdesk/rustdesk/issues/364#issuecomment-1023562050
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/web_deps.tar.gz
tar xzf web_deps.tar.gz
cd ..
# Buena suerte!
flutter run -d chrome
```

View File

@ -0,0 +1,54 @@
---
title: Windows
weight: 20
---
## Dependencias
### Entorno de compilación C++
Descargar [msvc](https://visualstudio.microsoft.com/) e instalar.
### Entorno de desarrollo Rust
Descargar [rustup-init.exe](https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe) e instalar.
### vcpkg
Usar [git-bash](https://git-scm.com/download/win) para ejecutar los siguientes comandos download `vcpkg`, install `libvpx`, `libyuv`, `opus`.
```shell
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.bat
export VCPKG_ROOT=$PWD/vcpkg
vcpkg/vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
```
Agregar variable de entorno `VCPKG_ROOT`=`<path>\vcpkg`.
![](/docs/en/dev/build/windows/images/env.png)
### sciter
Uso de versiones de escritorio [sciter](https://sciter.com/) para GUI, descargue [sciter.dll](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll)
### llvm
rust-bindgen depende del clang, descargar [llvm](https://github.com/llvm/llvm-project/releases) e instalar, agregar variable de entorno `LIBCLANG_PATH`=`<llvm_install_dir>/bin`.
## Construir
### Por defecto
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
mkdir -p target/debug
mv sciter.dll target/debug
cargo run
```

View File

@ -0,0 +1,82 @@
---
title: Control your Android
weight: 2
---
### Comparte pantalla/archivos de tu teléfono Android
------
A partir de la versión 1.1.9, el cliente de Android ha agregado las funciones de compartir la pantalla del teléfono y compartir el sistema de archivos del teléfono.
- Se requiere Android 6 y superior para compartir pantalla
- Se requiere Android 10 o superior para compartir el audio interno del sistema del teléfono móvil
- iOS aún no admite compartir pantalla
#### **Solicitar permisos e iniciar servicios**
Haga clic en `Compartir pantalla` desde la barra de navegación inferior
Configure varios permisos según sea necesario. Cada vez que inicia RustDesk, debe solicitar los permisos de "Captura de pantalla" y "Control de entrada" nuevamente.
![](/docs/en/manual/mobile/images/server_off_en.jpg?width=300px)
| Permisos | Descripción |
| -------------------------- | --------------------------------------------------------- |
| Captura de pantalla | Ya sea para habilitar el permiso para compartir capturas de pantalla, el servicio de monitoreo se habilitará al mismo tiempo que se inicia |
| Control de entrada* | Ya sea para permitir que el controlador controle la entrada del teléfono móvil, como la operación de pantalla táctil virtual con el mouse |
| Transferencia de archivos* | Ya sea para habilitar el permiso de transferencia de archivos, después del inicio, puede controlar de forma remota el sistema de archivos de este teléfono |
| Captura de audio | Ya sea para compartir la música del sistema dentro del teléfono (sin entrada de micrófono) |
{{% notice note %}}
Arriba * representa permisos especiales. Para obtener dichos permisos, debe ir a la página de configuración del sistema Android para obtenerlos manualmente. Los detalles son los siguientes
{{% /notice %}}
#### **Solicitud de Permiso Especial - Archivo**
| Al solicitar permisos de archivo de Android, se saltará automáticamente a la página de configuración del sistema |
| :---------------: |
| ![](/docs/en/manual/mobile/images/get_file_en.jpg?width=300px) |
#### **Solicitud de permiso especial: entrada del mouse**
| Paso 1 Busque "Servicios instalados" | Paso 2 Inicie la entrada de RustDesk |
| --------------- | -------------------------------------------------------- |
| ![](/docs/en/manual/mobile/images/get_input1_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/get_input2_en.jpg?width=300px) |
{{% notice note %}}
La página de configuración del sistema de diferentes proveedores puede ser diferente, ajústela de acuerdo con la página de su sistema
{{% /notice %}}
**Métodos abreviados de control remoto del ratón:**
- Hacer clic con el botón derecho del ratón: volver
- Haga clic en la rueda del mouse: Inicio
- Mantenga presionada la rueda del mouse: aplicaciones abiertas recientemente
- Desplazamiento de la rueda del mouse: simule el deslizamiento vertical
#### **Empieza el servicio**
Después de obtener la `screen capture` permiso, el servicio se iniciará automáticamente. También puede hacer clic en el `Start service` botón para iniciar el servicio. Una vez que se inicia el servicio, puede aceptar solicitudes de control de escritorio de otros dispositivos.
Si el `file transfer` el permiso está habilitado, también puede aceptar solicitudes de control de archivos de otros dispositivos.
Una vez iniciado el servicio, se obtendrá automáticamente una identificación única y una contraseña aleatoria para este dispositivo. Otros dispositivos pueden controlar el teléfono a través de la identificación y la contraseña, o confirmar manualmente cuando se recibe una nueva solicitud.
| Antes de iniciar el servicio | Después de iniciar el servicio |
| --------------- | -------------------------------------------------------- |
| ![](/docs/en/manual/mobile/images/server_off_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/server_on_en.jpg?width=300px) |
{{% notice note %}}
1. Haciendo clic `Start Service` habilitará el `Screen capture` permiso por defecto.
2. Cuando el `screen capture` no se obtiene el permiso, otros dispositivos no pueden emitir solicitudes de control.
3. Excepto por el `screen capture` permiso, el cambio de otros permisos solo afectará la nueva conexión y no afectará la conexión establecida. Si necesita cambiar los permisos para una conexión establecida, primero cierre la conexión actual, modifique los permisos y luego reciba una solicitud de control.
{{% /notice %}}
**PC:**
![](/docs/en/manual/mobile/images/android_server_pc_side_en.png?width=700px)
**Terminal móvil:**
| Puede detener el servicio o cerrar la conexión especificada en cualquier momento | Puedes recibir o iniciar chats |
| --------------- | -------------------------------------------------------- |
| ![](/docs/en/manual/mobile/images/server_on_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/android_server2_en.jpg?width=300px) |

View File

@ -0,0 +1,58 @@
---
title: Linux
weight: 4
---
### Installation
------
- Ubuntu (>= 16)
```
# please ignore the wrong disk usage report
sudo apt install -fy ./rustdesk-<version>.deb
```
- CentOS/Fedora (>=18)
```
sudo yum localinstall ./rustdesk-<version>.rpm
```
- Arch/Manjaro
```
sudo pacman -U ./rustdesk-<version>.pkg.tar.zst
```
- Opensuse (>= Leap 15.0)
```
sudo zypper install --allow-unsigned-rpm ./rustdesk-<version>-suse.rpm
```
### X11 Required
RustDesk aún no admite wayland, debe cambiar a X11. RustDesk lo guiará para cambiar a X11.
| Haga clic en "Fix it" | corrección para la pantalla de inicio de sesión | Ingrese su contraseña |
| ---- | ---- | --- |
|![](/docs/en/manual/linux/images/fix1.png)|![](/docs/en/manual/linux/images/fix3.png)|![](/docs/en/manual/linux/images/fix2.png)|
{{% notice note %}}
Por favor **reiniciar** para hacer que los cambios anteriores surtan efecto
{{% /notice %}}
#### También puede hacer los cambios anteriores manualmente
#### Servidor de visualización
Ubuntu: https://askubuntu.com/questions/1260142/ubuntu-set-default-login-desktop
Fedora: https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/
Arch: https://bbs.archlinux.org/viewtopic.php?id=218319
##### Login Screen
Modificar debajo de la línea para `WaylandEnable=false` en `/etc/gdm/custom.conf` o `/etc/gdm3/custom.conf`.
```
#WaylandEnable=false
```

View File

@ -0,0 +1,39 @@
---
title: Mac
weight: 3
---
### Instalación
------
Abra el archivo .dmg y arrastre `RustDesk` a `Applications` como a continuación.
![](/docs/en/manual/mac/images/dmg.png)
Asegúrese de haber dejado de ejecutar RustDesk. También asegúrese de salir del servicio RustDesk que se muestra en la bandeja.
![](/docs/en/manual/mac/images/tray.png)
### Permitir la ejecución de RustDesk
| Desbloquear para cambiar | Haga clic en "App Store y desarrolladores identificados" |
| ---- | ---- |
|![](/docs/en/manual/mac/images/allow2.png)|![](/docs/en/manual/mac/images/allow.png)|
### Habilitar permisos
Para capturar la pantalla, debe otorgar `RustDesk` **accesibilidad** permiso y **grabación de pantalla** permiso. RustDesk lo guiará a la ventana de configuración.
| Ventanas RustDesk | Ventana de configuración |
| ---- | ---- |
|![](/docs/en/manual/mac/images/acc.png)|![](/docs/en/manual/mac/images/acc3.png?v2)|
Si lo ha habilitado en la ventana de configuración, pero RustDesk aún advierte. Elimine RustDesk de las ventanas de configuración por el `-` botón, y haga clic en `+` botón, seleccione RustDesk en `/Applications`.
| `-` y `+` botón | Seleccione RustDesk |
| ---- | ---- |
|![](/docs/en/manual/mac/images/acc2.png)|![](/docs/en/manual/mac/images/add.png?v2)|
Copie los pasos anteriores para obtener el permiso de **grabación de pantalla**.
![](/docs/en/manual/mac/images/screen.png?v2)

View File

@ -0,0 +1,68 @@
---
title: Mobile
weight: 1
---
### Control remoto
------
Ingrese la ID del dispositivo remoto en la página de inicio o seleccione un dispositivo histórico para verificar.
Después de que la verificación sea exitosa, puede controlar el dispositivo remoto.
| Inicio | Conectado con éxito |
| --------------- | -------------------------------------------------------- |
| ![](/docs/en/manual/mobile/images/connection_home_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/connection_en.jpg?width=300px) |
El control de entrada proporciona `mouse mode`/`touch mode` dos modos, que se pueden cambiar a través de la barra de herramientas inferior.
| Entrar | Selección de modo |
| --------------- | -------------------------------------------------------- |
| ![](/docs/en/manual/mobile/images/touch_mode_icon_en.png?width=300px) | ![](/docs/en/manual/mobile/images/touch_mode_en.jpg?width=300px) |
{{% notice note %}}
En `mouse mode`, también puede activar el dispositivo remoto `Right Mouse` con un `Two-Finger Tap`
{{% /notice %}}
### Transferencia de archivos (Android)
------
requiere RustDesk 1.1.9+.
En la lista de dispositivos de la página de inicio, seleccione el dispositivo.
Mantenga presionado o toque más opciones a la derecha para seleccionar `File Transfer`
| Inicio | Conectado con éxito |
| --------------- | -------------------------------------------------------- |
| ![](/docs/en/manual/mobile/images/connection_home_file_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_connection_en.jpg?width=300px) |
- El directorio inicial es el directorio de inicio del dispositivo, puede hacer clic en <i class="fas fa-home"></i> para volver rápidamente a inicio.
- Debajo de la barra de título está el nivel del directorio, puede hacer clic en la carpeta correspondiente para saltar rápidamente.
- Clic <i class="fas fa-arrow-up"></i> para acceder al directorio principal.
- La ruta absoluta actual y las estadísticas del proyecto aparecerán al final de la lista.
- Clic `Local` / `Remote` en la barra de título para cambiar de página.
#### **Cómo para transferir archivos?**
| Modo de selección múltiple | Pegar archivo |
| --------------- | -------------------------------------------------------- |
| ![](/docs/en/manual/mobile/images/file_multi_select_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_copy_en.jpg?width=300px) |
1. **Presione prolongadamente** un archivo o carpeta en la lista para ingresar rápidamente al **modo de selección múltiple**, que puede eliminar varios elementos o transferir archivos.
2. Después de seleccionar el archivo, cambie el `local` / `remote` página, después de cambiar la página, verá `Paste here? ` indicador, haga clic en el icono de pegar archivo en la imagen para transferir el archivo/carpeta seleccionado al directorio de destino.
### **Establecer ID/servidor de retransmisión**
------
Clic `Settings` en la barra de navegación inferior, ingrese a la página de configuración y haga clic en `ID/Relay Server`.
Después de ingresar y enviar, cambiará automáticamente al servidor especificado.
También puede configurar escaneando [QR code](https://rustdesk.com/docs/en/self-host/console/images/console-home.png?v2).
La siguiente imagen es una captura de pantalla de Android. Si es iOS, consulte el menú superior derecho en la página de inicio.
![](/docs/en/manual/mobile/images/id_setting_en.jpg?width=300px)
Para obtener más información sobre el servidor autohospedado, consulte [self-host](/docs/en/self-host/)

View File

@ -0,0 +1,14 @@
---
title: Self-host
weight: 5
pre: "<b>2. </b>"
chapter: true
---
### Capitulo 2
# Self-host
Por favor únete a nuestro [Discord](https://discord.com/invite/nDceKgxnkV) si desea hablar con nosotros sobre el alojamiento propio de su propio servidor RustDesk.
{{% children depth="3" showhidden="true" %}}

View File

@ -0,0 +1,6 @@
---
title: Client-Side Settings
weight: 40
---
[Establecer dirección hbbs/hbbr en el lado del cliente](/docs/en/self-host/install/#step-3--set-hbbshbbr-address-on-client-side)

View File

@ -0,0 +1,141 @@
---
title: Installation
weight: 10
---
## Configura tu propia nube siguiendo simples pasos
-----------
### PASO-1: Descargar programas de software del lado del servidor
[Download](https://github.com/rustdesk/rustdesk-server/) o usa la ventana acoplable [rustdesk/rustdesk-server](https://hub.docker.com/r/rustdesk/rustdesk-server/tags).
Versiones de la plataforma proporcionadas:
- Linux
- Windows
El siguiente tutorial se basa en la compilación de Linux.
Hay dos ejecutables y una carpeta:
- hbbs - ID de RustDesk/servidor Rendezvous
- hbbr - servidor de retransmisión de RustDesk
Están construidos en Centos7, probados en Centos7/8, Ubuntu 18/20.
#### Requisitos del servidor
Los requisitos de hardware son muy bajos, la configuración mínima del servidor en la nube es suficiente y los requisitos de CPU y memoria son mínimos. Con respecto al tamaño de la red, si falla la conexión directa TCP, se consumirá el tráfico de retransmisión. El tráfico de una conexión de retransmisión está entre 30k-3M/s (pantalla de 1920x1080), según la configuración de resolución y la actualización de la pantalla. Si es solo para demanda de trabajo de oficina, el tráfico es de alrededor de 100K/s.
### PASO-2: Ejecute hbbs y hbbr en el servidor
Ejecute hbbs/hbbr en su servidor (Centos o Ubuntu). Le sugerimos que utilice [pm2](https://pm2.keymetrics.io/) administrar su servicio.
```
./hbbs -r <relay-server-ip[:port]>
./hbbr
```
o ejecute hbbs/hbbr con pm2
```
pm2 start hbbs -- -r <relay-server-ip[:port]>
pm2 start hbbr
```
<a name="demo"></a>
{{% notice note %}}
pm2 requiere nodejs v16+, si fallas al correr pm2 (e.g. No puedes ver hbbs/hbbr in `pm2 list`), descargue e instale la versión LTS nodejs desde https://nodejs.org. Si desea que hbbs/hbbr se ejecute automáticamente después de reiniciar, consulte `pm2 save` y `pm2 startup`. Más sobre [pm2](https://pm2.keymetrics.io/docs/usage/quick-start/). Otra buena herramienta para su registro es [pm2-logrotate](https://github.com/keymetrics/pm2-logrotate).
El `-r` El parámetro de hhbs no es obligatorio, solo es conveniente que no especifique un servidor de retransmisión en el lado del cliente controlado, no necesita especificar el puerto si está utilizando el puerto predeterminado 21117. El servidor de retransmisión especificado por el cliente tiene una prioridad más alta que esta.
{{% /notice %}}
Por defecto, hbbs escucha en 21115(tcp) y 21116(tcp/udp), 21118(tcp), hbbr escucha en 21117(tcp), 21119(tcp). Asegúrese de abrir estos puertos en el firewall. **Tenga en cuenta que 21116 debe estar habilitado tanto para TCP como para UDP**. 21115 se utiliza para la prueba de tipo NAT, 21116/UDP se utiliza para el registro de ID y el servicio de latidos, 21116/TCP se utiliza para el servicio de conexión y perforación de agujeros TCP, 21117 se utiliza para los servicios de retransmisión, 21118 y 21119 se utilizan para admitir clientes web. Si no necesitas cliente web (21118, 21119) soporte, los puertos correspondientes se pueden deshabilitar.
- TCP(**21115, 21116, 21117, 21118, 21119**)
- UDP(**21116**)
Ejecute con la opción "-h" para ver ayuda si desea elegir su propio puerto.
#### Docker ejemplo
##### Linux/amd64
```
sudo docker image pull rustdesk/rustdesk-server
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -it --net=host --rm rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -it --net=host --rm rustdesk/rustdesk-server hbbr
```
##### Linux/arm64v8
```
sudo docker image pull rustdesk/rustdesk-server:latest-arm64v8
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -it --net=host --rm rustdesk/rustdesk-server:latest-arm64v8 hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -it --net=host --rm rustdesk/rustdesk-server:latest-arm64v8 hbbr
```
<a name="net-host"></a>
{{% notice note %}}
--net=host only works on Linux so far as I know, which make hbbs/hbbr can see the real incoming ip rather than container ip (172.17.0.1).
If --net=host works fine, -p options are useless.
**Elimine --net=host si ve un problema de conexión en su plataforma**
{{% /notice %}}
### PASO 3: Establecer la dirección hbbs/hbbr en el lado del cliente
Haga clic en el botón de menú en el lado derecho de ID como se muestra a continuación, elija "ID/Servidor de retransmisión".
![](/docs/en/self-host/install/images/server-set-menu.png)
Ingrese el host hbbs o la dirección IP en el cuadro de entrada del servidor ID (lado local + lado remoto), las otras dos direcciones se pueden dejar en blanco, RustDesk deducirá automáticamente (si no se configura especialmente), y el servidor de retransmisión se refiere a hbbr (21116 Puerto).
ejemplo
```
hbbs.example.com
```
o
```
hbbs.example.com:21116
```
![](/docs/en/self-host/install/images/server-set-window.png)
#### Coloque la configuración en el nombre del archivo rustdesk.exe (solo Windows)
Cambie `rustdesk.exe` a rustdesk-`host=<host-ip-or-name>,key=<public-key-string>`.exe, p. rustdesk-`host=192.168.1.137,key=xfdsfsd32=32`.exe, puede ver el resultado de la configuración en la ventana Acerca de como se muestra a continuación.
<a name="invalidchar"></a>
{{% notice note %}}
Necesitas configurar `host` y `key` ambos, perder alguno no funcionará.
Si hay caracteres no válidos en la clave que no se pueden usar en el nombre del archivo, elimínelos.
id_ed25519 y reinicie su hbbs/hbbr, el archivo id_ed25519.pub se regenerará, por favor
repita hasta que obtenga caracteres válidos.
{{% /notice %}}
| Menú | Acerca de la página |
| -- | -- |
![](/docs/en/self-host/install/images/aboutmenu.png) | ![](/docs/en/self-host/install/images/lic.png) |
## Key
-----------
A diferencia de la versión anterior, la clave en esta versión es obligatoria, pero no necesita configurarla usted mismo. Cuando hbbs se ejecuta por primera vez, generará automáticamente un par de claves privadas y públicas cifradas (ubicadas respectivamente en los archivos `id_ed25519` y `id_ed25519.pub` en el directorio en ejecución), el objetivo principal es el cifrado de comunicaciones.
Si no completó la `key:` (el contenido en el archivo de clave pública `id_ed25519.pub`) en el paso anterior, no afecta la conexión, pero la conexión no se puede cifrar.
````
cat ./id_ed25519.pub
````
Si desea prohibir que los usuarios sin clave establezcan conexiones no cifradas, agregue el parámetro `-k _` cuando ejecute hbbs y hbbr, por ejemplo:
````
./hbbs -r <relay-server-ip[:port]> -k _
./hbbr -k _
````
Si desea cambiar la clave, elimine los archivos `id_ed25519` e `id_ed25519.pub` y reinicie hbbs/hbbr, hbbs generará un nuevo par de claves.

View File

@ -0,0 +1,70 @@
---
title: Synology
weight: 22
---
Este tutorial se basa en el último DSM v6.
### Instalar ventana acoplable
Abra el administrador de paquetes e instale la ventana acoplable
| | |
| --------------- | -------------------------------------------------------- |
![](/docs/en/self-host/synogy/images/package-manager.png) | ![](/docs/en/self-host/synogy/images/docker.png)
### Instalar el servidor RustDesk
| Busque rustdesk-server en el registro de Docker e instálelo haciendo doble clic | Imagen de rustdesk-server instalada, haga doble clic para crear el contenedor de rustdesk-server |
| --------------- | -------------------------------------------------------- |
![](/docs/en/self-host/synogy/images/pull-rustdesk-server.png) | ![](/docs/en/self-host/synogy/images/rustdesk-server-installed.png)
### Crear contenedor hbbs
Como se mencionó anteriormente, haga doble clic en la imagen de rustdesk-server para crear un nuevo contenedor, establezca su nombre en `hbbs`.
![](/docs/en/self-host/synogy/images/hbbs.png)
Haga clic en "Configuración avanzada" arriba.
- Habilitar reinicio automático
![](/docs/en/self-host/synogy/images/auto-restart.png)
- Habilite "Usar la misma red que el host de Docker", para obtener más información sobre la red del host, por favor [check](/docs/en/self-host/install/#net-host)
![](/docs/en/self-host/synogy/images/host-net.png)
- Monte un directorio de host (por ejemplo, `Shared/test/`) en `/root`, hbbs generará algunos archivos (incluido el archivo `key`) en este directorio
| Monte | Archivos generados en el directorio host |
|-- | -- |
![](/docs/en/self-host/synogy/images/mount.png?width=500px) | ![](/docs/en/self-host/synogy/images/mounted-dir.png?width=300px)
- Establecer comando
{{% notice note %}}
Synology OS está basado en Debian, os host net (--net=host) funciona bien, no necesitamos asignar puertos con la opción `-p`.
`192.168.16.98` es una IP de intranet utilizada aquí solo para demostración, configúrela en una IP pública cuando implemente.
{{% /notice %}}
![](/docs/en/self-host/synogy/images/hbbs-cmd.png?v2)
- Hecho
![](/docs/en/self-host/synogy/images/hbbs-config.png)
### Crear contenedor hbbr
Repita los pasos `hbbs` anteriores, pero cambie el nombre del contenedor a `hbbr` y el comando a `hbbr`.
![](/docs/en/self-host/synogy/images/hbbr-config.png)
### hbbr/hbbs contenedor
![](/docs/en/self-host/synogy/images/containers.png?width=500px)
| Haga doble clic en el contenedor y verifique el registro | Doble confirmación de hbbs/hbbr usando la red host |
|-- | -- |
![](/docs/en/self-host/synogy/images/log.png?width=500px) | ![](/docs/en/self-host/synogy/images/network-types.png?width=500px)

View File

@ -0,0 +1,32 @@
---
title: Windows & pm2
weight: 20
---
### Instalar NodeJs
Por favor [Download](https://nodejs.org/dist/v16.14.2/node-v16.14.2-x86.msi) e instalar
NodeJs es el entorno de tiempo de ejecución de pm2, por lo que primero debe instalar NodeJs。
### Instalar pm2
Ingrese los siguientes en cmd.exe, presione la tecla Intro para cada línea y ejecútelos línea por línea.
```
npm install -g pm2
npm install pm2-windows-startup -g
pm2-startup install
```
### Ejecutar hbbr y hbbs
Descargue la versión de Windows de [server program](https://github.com/rustdesk/rustdesk-server/releases), suponiendo que lo descomprima en la unidad C. Ejecute las siguientes cuatro líneas de comandos respectivamente.
```
cd c:\rustdesk-server-windows-x64
pm2 start hbbs.exe -- -r <The address of the host where hbbr is running>
pm2 start hbbr.exe
pm2 save
```
### Ver registro
```
pm2 log hbbr
pm2 log hbbs
```