diff --git a/content/dev/build/all/_index.de.md b/content/dev/build/all/_index.de.md index ba73578..ceb5881 100644 --- a/content/dev/build/all/_index.de.md +++ b/content/dev/build/all/_index.de.md @@ -1,5 +1,5 @@ --- -title: Alles über Github-Aktionen +title: Github-Aktionen weight: 35 --- diff --git a/content/dev/build/android/_index.en.md b/content/dev/build/android/_index.en.md index 6eb7f49..b21a607 100644 --- a/content/dev/build/android/_index.en.md +++ b/content/dev/build/android/_index.en.md @@ -9,23 +9,23 @@ Or you can go further but at your own risk {{% /notice %}} {{% notice note %}} -It is possible to build RustDesk Android on **Windows** and **MacOS** but this instruction is still under active development +It is possible to build RustDesk Android on **Windows** and **macOS** but this instruction is still under active development. {{% /notice %}} # Introduction Here you will learn how to prepare your environment to such an extent that you will be able to successfully build the application and enable yourself to work on the code through, for example, Android Studio. -This tutorial is based on latest working workflow file, to ensuree that everything will just works, if you encounter any problems feel free to contact us on our [Discord](https://discord.com/invite/nDceKgxnkV) or by other communication channel. +This tutorial is based on latest working workflow file, to ensuree that everything will just works. If you encounter any problems feel free to contact us on our [Discord](https://discord.com/invite/nDceKgxnkV) or by other communication channel. -It is possible to build, run end edit Android version on Windows, but it requires patched `flutter` directory +It is possible to build, run end edit Android version on Windows, but it requires patched `flutter` directory. By "patched" I mean directory in state like before running `flutter build` on Linux machine. # Assumptions -- You are using **Ubuntu 20.04** or later ( due to fact that this tutorial is based on this version ) +- You are using **Ubuntu 20.04** or later (due to fact that this tutorial is based on this version) - You have working internet connection -- You already installed [**Flutter**](https://docs.flutter.dev/get-started/install/linux), [**vcpkg**]() and [**Rust**](https://www.rust-lang.org/tools/install) +- You already installed [**Flutter**](https://docs.flutter.dev/get-started/install/linux), [**vcpkg**](https://github.com/microsoft/vcpkg) and [**Rust**](https://www.rust-lang.org/tools/install) - You cloned [RustDesk repository](https://github.com/rustdesk/rustdesk) - You know what are you doing @@ -53,13 +53,13 @@ cd rustdesk git clone https://github.com/rustdesk/rustdesk ``` -Then you'll be able to change your directory into `rustdesk` +Then you'll be able to change your directory into `rustdesk`: ``` cd rustdesk ``` -You also might be required to install some prerequisites if you are doing this first time +You also might be required to install some prerequisites if you are doing this first time: ``` sudo apt update -y sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang cmake libclang-dev ninja-build llvm-dev libclang-10-dev llvm-10-dev pkg-config @@ -67,7 +67,7 @@ sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang cmake lib ### Installing Flutter Rust Bridge dependencies At this step you'll install additional dependencies required by [Flutter Rust Bridge](https://cjycode.com/flutter_rust_bridge/index.html) also you'll download flutter dependencies from `pubspec.yaml` file. -This might take some time depending on your internet connection speed and overall desktop performance +This might take some time depending on your internet connection speed and overall desktop performance: ``` cargo install flutter_rust_bridge_codegen pushd flutter && flutter pub get && popd @@ -94,13 +94,13 @@ At this step you might require some additional dependencies, you could install t sudo apt update -y sudo apt-get -qq install -y 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 libclang-dev ninja-build libappindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libvdpau-dev libva-dev libclang-dev llvm-dev libclang-10-dev llvm-10-dev pkg-config tree g++ libc6-dev gcc-multilib g++-multilib openjdk-11-jdk-headless ``` -You might also need to activate ffigen +You might also need to activate ffigen: ``` dart pub global activate ffigen 5.0.1 ``` ### Downloading additional dependencies -For this tutorial we prepared some dependencies for you, feel free to use them. It requires `vcpkg` to be installed, in this case at `/opt` +For this tutorial we prepared some dependencies for you, feel free to use them. It requires `vcpkg` to be installed, in this case at `/opt`: ``` pushd /opt @@ -139,24 +139,24 @@ sed -i "s/gen_flutter_rust_bridge();/\/\//g" build.rs ``` ### Building rustdesk lib -At this step you'll build `librustdesk.so` file +At this step you'll build `librustdesk.so` file. First, add triplet to rust: ``` rustup target add aarch64-linux-android ``` -Then install `cargo-ndk` it is required to generate `librustdesk.so` file +Then install `cargo-ndk` it is required to generate `librustdesk.so` file: ``` cargo install cargo-ndk ``` -Now it's time to run `ndk_arm64.sh`, this script contains code that build's Rust for Flutter, it requires `NDK` in version `r22b`. +Now it's time to run `ndk_arm64.sh`, this script contains code that build's Rust for Flutter, it requires `NDK` in version `r22b`. You could download it [here](https://dl.google.com/android/repository/android-ndk-r22b-linux-x86_64.zip), you'll be required to install it manually or follow [this](https://developer.android.com/studio/projects/install-ndk) instruction. This file is quite heavy so this process might take a while, it mostly depends on your internet connection. -Just remember to set **ANDROID_NDK_HOME** variable and check if it's valid +Just remember to set **ANDROID_NDK_HOME** variable and check if it's valid. Then simply run: ``` @@ -168,7 +168,7 @@ If you generated `librustdesk.so` then create proper directory: ``` mkdir -p ./flutter/android/app/src/main/jniLibs/arm64-v8a ``` -And just copy it there +And just copy it there: ``` cp ./target/aarch64-linux-android/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so ``` @@ -178,27 +178,27 @@ It's the last step, now you will build your version of RustDesk apk. If you done everything correctly you'll be able to build it with ease. -First you need to download `so.tar.gz` +First you need to download `so.tar.gz`: ``` pushd flutter sudo wget -O so.tar.gz https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/so.tar.gz ``` -Then unpack it +Then unpack it: ``` tar xzvf so.tar.gz popd ``` -We'll temporary use debug sign config +We'll temporary use `debug sign config`: ``` sed -i "s/signingConfigs.release/signingConfigs.debug/g" ./flutter/android/app/build.gradle ``` -Then you need to copy `librustdesk.so` file into proper directory +Then you need to copy `librustdesk.so` file into proper directory: ``` mkdir -p ./flutter/android/app/src/main/jniLibs/arm64-v8a cp ./target/aarch64-linux-android/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so ``` -Now we'll finally build Flutter +Now we'll finally build Flutter: ``` pushd flutter flutter build apk --release --target-platform android-arm64 --split-per-abi @@ -206,7 +206,7 @@ flutter build apk --release --target-platform android-arm64 --split-per-abi {{% notice note %}} At this step you might see some errors in terminal, this is normal as long as they about `incompatible version of Kotlin` or `Runtime JAR files in the classpath should have the same version`. -If your result is like `✓ Built build/app` then ignore it, it just means that you builded your apk successfully +If your result is like `✓ Built build/app` then ignore it, it just means that you builded your apk successfully. {{% /notice %}} @@ -214,4 +214,4 @@ If your result is like `✓ Built build/app` then ignore it, it just means that If you want you might move builded app somewhere else, feel free to run: ``` mv build/app/outputs/flutter-apk/app-arm64-v8a-release.apk ../rustdesk-release.apk -``` \ No newline at end of file +``` diff --git a/content/dev/build/docker/_index.de.md b/content/dev/build/docker/_index.de.md index 91c311e..eb2b487 100644 --- a/content/dev/build/docker/_index.de.md +++ b/content/dev/build/docker/_index.de.md @@ -5,6 +5,7 @@ weight: 30 ## Mit Docker erstellen +### Funktioniert nicht unter Windows Beginnen Sie mit dem Klonen des Repositorys und der Erstellung des Docker-Containers: diff --git a/content/dev/build/faq/_index.de.md b/content/dev/build/faq/_index.de.md index f9aa9ac..5ae1723 100644 --- a/content/dev/build/faq/_index.de.md +++ b/content/dev/build/faq/_index.de.md @@ -15,7 +15,7 @@ weight: 40 ### Lösung -Verwenden Sie einen Browser, um `https://chromium.googlesource.com/libyuv/libyuv/+archive/287158925b0e03ea4499a18b4e08478c5781541b.tar.gz` herunterzuladen, verschieben Sie es dann in `vcpkg/downloads` und installieren Sie es neu. +Verwenden Sie einen Browser, um [libyuv-287158925b0e03ea4499a18b4e08478c5781541b.tar.gz](https://chromium.googlesource.com/libyuv/libyuv/+archive/287158925b0e03ea4499a18b4e08478c5781541b.tar.gz) herunterzuladen, verschieben Sie es dann in `vcpkg/downloads` und installieren Sie es neu. diff --git a/content/dev/build/linux/_index.de.md b/content/dev/build/linux/_index.de.md index b0d6e0f..e66bda5 100644 --- a/content/dev/build/linux/_index.de.md +++ b/content/dev/build/linux/_index.de.md @@ -5,7 +5,7 @@ weight: 10 ## Abhängigkeiten -Desktop-Versionen nutzen [Sciter](https://sciter.com/) für die Benutzeroberfläche, bitte laden Sie die dynamische Bibliothek sciter selbst herunter. +Desktop-Versionen nutzen [Sciter](https://sciter.com/) für die Benutzeroberfläche, bitte laden Sie die dynamische Bibliothek Sciter selbst herunter. [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) | diff --git a/content/dev/build/windows/_index.de.md b/content/dev/build/windows/_index.de.md index cfe3fe6..eb3f152 100644 --- a/content/dev/build/windows/_index.de.md +++ b/content/dev/build/windows/_index.de.md @@ -36,9 +36,9 @@ Fügen Sie die Systemumgebungsvariable `VCPKG_ROOT`=`\vcpkg` hinzu. ` ./hbbr ``` -#### Option 2 - pm2 -Starten Sie hbbs/hbbr mit pm2. +#### Option 2 - PM2 +Starten Sie hbbs/hbbr mit PM2. ```bash pm2 start hbbs -- -r @@ -188,9 +188,9 @@ pm2 start hbbr {{% notice note %}} -pm2 benötigt Node.js v16+. Wenn Sie pm2 nicht starten können (z. B. können Sie `hbbs`/`hbbr` nicht in `pm2 list` sehen), laden Sie bitte die Node.js-LTS-Version von https://nodejs.org herunter und installieren Sie sie. Wenn Sie `hbbs`/`hbbr` nach einem Neustart automatisch ausführen lassen wollen, schauen Sie sich bitte `pm2 save` und `pm2 startup` an. Mehr über [pm2](https://pm2.keymetrics.io/docs/usage/quick-start/). Ein weiteres gutes Werkzeug für Ihre Logs ist [pm2-logrotate](https://github.com/keymetrics/pm2-logrotate). +PM2 benötigt Node.js v16+. Wenn Sie PM2 nicht starten können (z. B. können Sie `hbbs`/`hbbr` nicht in `pm2 list` sehen), laden Sie bitte die Node.js-LTS-Version von https://nodejs.org herunter und installieren Sie sie. Wenn Sie `hbbs`/`hbbr` nach einem Neustart automatisch ausführen lassen wollen, schauen Sie sich bitte `pm2 save` und `pm2 startup` an. Mehr über [PM2](https://pm2.keymetrics.io/docs/usage/quick-start/). Ein weiteres gutes Werkzeug für Ihre Logs ist [pm2-logrotate](https://github.com/keymetrics/pm2-logrotate). -Der Parameter `-r` von `hbbs` ist nicht zwingend erforderlich, es ist nur praktisch, wenn Sie auf der kontrollierten Client-Seite keinen Relay-Server angeben müssen. Sie brauchen den Port nicht anzugeben, wenn Sie den Standardport 21117 verwenden. Der vom Client angegebene Relay-Server hat eine höhere Priorität als dieser. +Der Parameter `-r` von `hbbs` ist nicht zwingend erforderlich. Es ist nur praktisch, wenn Sie auf der kontrollierten Client-Seite keinen Relay-Server angeben müssen. Sie müssen den Port nicht angeben, wenn Sie den Standardport 21117 verwenden. Der vom Client angegebene Relay-Server hat eine höhere Priorität als dieser. {{% /notice %}} Standardmäßig lauscht `hbbs` auf 21115 (TCP), 21116 (TCP/UDP) und 21118 (TCP), `hbbr` lauscht auf 21117 (TCP) und 21119 (TCP). Diese Ports müssen in der Firewall geöffnet sein. **Bitte beachten Sie, dass 21116 sowohl für TCP als auch für UDP aktiviert sein muss.** 21115 wird für den NAT-Typ-Test verwendet, 21116/UDP wird für die ID-Registrierung und den Heartbeat-Dienst verwendet, 21116/TCP wird für das TCP-Hole-Punching und den Verbindungsdienst verwendet, 21117 wird für die Relay-Dienste verwendet und 21118 sowie 21119 werden zur Unterstützung von Webclients verwendet. *Wenn Sie die Webclient-Unterstützung (21118, 21119) nicht benötigen, können die entsprechenden Ports deaktiviert werden.* @@ -200,16 +200,6 @@ Standardmäßig lauscht `hbbs` auf 21115 (TCP), 21116 (TCP/UDP) und 21118 (TCP), Wenn Sie einen eigenen Port auswählen möchten, geben Sie bitte die Option `-h` ein, um die Hilfe anzuzeigen. - - -{{% notice note %}} -`--net=host` funktioniert nur unter **Linux**, was dazu führt, dass `hbbs`/`hbbr` die tatsächliche eingehende IP-Adresse sehen und nicht die Container-IP (172.17.0.1). -Wenn `--net=host` gut funktioniert, werden die Optionen `-p` nicht verwendet. Wenn Sie unter Windows arbeiten, lassen Sie `sudo` und `--net=host` weg. - -**Bitte entfernen Sie `--net=host`, wenn Sie Verbindungsprobleme auf Ihrer Plattform haben.** -{{% /notice %}} - - ### Schritt 3: hbbs/hbbr-Adresse auf der Client-Seite einstellen Klicken Sie auf die Menü-Schaltfläche [ ⋮ ] rechts neben ID, wie unten gezeigt, und wählen Sie "ID/Relay-Server". diff --git a/content/self-host/install/_index.zh-cn.md b/content/self-host/install/_index.zh-cn.md index fc032da..0145531 100644 --- a/content/self-host/install/_index.zh-cn.md +++ b/content/self-host/install/_index.zh-cn.md @@ -71,6 +71,55 @@ sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server:latest-arm64v8 hbbr ``` +##### Docker Compose + +以 arm64 架构机器为例: + +```yaml +version: '3' + +networks: + rustdesk-net: + external: false + +services: + hbbs: + container_name: hbbs + ports: + - 21115:21115 + - :21116 # 自定义 hbbs 映射端口 + - :21116/udp # 自定义 hbbs 映射端口 + image: rustdesk/rustdesk-server:latest-arm64v8 + command: hbbs -r : # 填入个人域名或 IP + hddr 暴露端口 + volumes: + - :/root # 自定义挂载目录 + networks: + - rustdesk-net + depends_on: + - hbbr + restart: unless-stopped + deploy: + resources: + limits: + memory: 64M + + hbbr: + container_name: hbbr + ports: + - :21117 # 自定义 hbbr 映射端口 + image: rustdesk/rustdesk-server:latest-arm64v8 # 镜像选用 arm64 版 + command: hbbr + volumes: + - :/root # 自定义挂载目录 + networks: + - rustdesk-net + restart: unless-stopped + deploy: + resources: + limits: + memory: 64M +``` + {{% notice note %}} diff --git a/content/self-host/windows/_index.de.md b/content/self-host/windows/_index.de.md index d8ad57c..8105776 100644 --- a/content/self-host/windows/_index.de.md +++ b/content/self-host/windows/_index.de.md @@ -1,10 +1,10 @@ --- -title: Windows und pm2 oder NSSM +title: Windows und PM2 oder NSSM weight: 20 --- ## Optionen -Sie haben nun zwei Möglichkeiten, Sie können entweder pm2 (einfacher) oder NSSM (etwas schwieriger) verwenden, um den RustDesk-Server zu starten +Sie haben nun zwei Möglichkeiten, Sie können entweder PM2 (einfacher) oder NSSM (etwas schwieriger) verwenden, um den RustDesk-Server zu starten. Die Verwendung von NSSM hat einige Vorteile: - Abwärtskompatibilität mit älteren Windows-Versionen (Windows Server 2008 R2/Windows 7 und früher, obwohl nicht getestet). - Ideal für Windows-Server @@ -12,15 +12,15 @@ Die Verwendung von NSSM hat einige Vorteile: - Beide Binärdateien werden als Dienste ausgeführt. - Eigenständig (keine Abhängigkeit von Node.js) -Die Vorteile von pm2 sind unter anderem: -- Eine gute Idee, wenn Sie den Server auf demselben Computer wie Ihren Hauptarbeitsrechner betreiben -- Sie melden sich regelmäßig mit dem Benutzer an, der den RustDesk-Starteintrag erstellt hat +Die Vorteile von PM2 sind unter anderem: +- Eine gute Idee, wenn Sie den Server auf demselben Computer wie Ihren Hauptarbeitsrechner betreiben. +- Sie melden sich regelmäßig mit dem Benutzer an, der den RustDesk-Starteintrag erstellt hat. - Mehr Benutzerfreundlichkeit ## Installation mit NSSM ### Installation von NSSM -Bitte laden Sie NSSM [herunter](http://nssm.cc/release/nssm-2.24.zip), extrahieren Sie es und wählen +Bitte laden Sie NSSM [herunter](https://nssm.cc/release/nssm-2.24.zip), extrahieren Sie es und wählen Sie die entsprechende Architektur für Ihr Windows-System (für x86 verwenden Sie den Inhalt des win32-Ordners, für x64 den Inhalt des win64-Ordners). Es ist auch sinnvoll, die Binärdatei von NSSM nach `Program Files\NSSM` zu verschieben (Wenn NSSM einmal als Dienst gestartet wurde, kann es nicht @@ -30,33 +30,33 @@ Es ist auch ratsam, den Pfad (z. B. `C:\Program Files\NSSM`) in die Pfadvariable ### Prüfen, ob NSSM korrekt installiert ist -Wenn Sie alles richtig gemacht haben, sollte der Ordner `C:\Program Files\NSSM` (als Beispiel, der gewählte Pfad kann anders sein) +Wenn Sie alles richtig gemacht haben, sollte der Ordner `C:\Program Files\NSSM` (der Pfad ist frei wählbar) nur die Datei `nssm.exe` enthalten. -In dieser Anleitung wird `C:\Program Files\NSSM` verwendet +In dieser Anleitung wird `C:\Program Files\NSSM` verwendet. -Öffnen Sie die Eingabeaufforderung und führen Sie `nssm` aus. Wenn Sie eine Hilfeseite sehen, können Sie mit dem nächsten Schritt fortfahren +Öffnen Sie die Eingabeaufforderung und führen Sie `nssm` aus. Wenn Sie eine Hilfeseite sehen, können Sie mit dem nächsten Schritt fortfahren. ### hbbr und hbbs ausführen Laden Sie die Windows-Version von [Serverprogramm](https://github.com/rustdesk/rustdesk-server/releases) herunter. -Entpacken Sie das Programm nach `C:\Program Files\RustDesk Server` (oder wo immer Sie wollen. Stellen Sie nur sicher, -dass sich der Ort nach der Installation des Dienstes nicht ändert). Gehen Sie nun zurück zur Eingabeaufforderung +Entpacken Sie das Programm nach `C:\Program Files\RustDesk Server` oder wo immer Sie wollen. Stellen Sie nur sicher, +dass sich der Ort nach der Installation des Dienstes nicht ändert. Gehen Sie nun zurück zur Eingabeaufforderung. -In diesem Beispiel verwenden wir `C:\Program Files\RustDesk Server` +In diesem Beispiel verwenden wir `C:\Program Files\RustDesk Server`. ```cmd nssm install "RustDesk hbbs service" "C:\Program Files\RustDesk Server\hbbs.exe" -r 0.0.0.0 -k _ nssm install "RustDesk hbbr service" "C:\Program Files\RustDesk Server\hbbr.exe" -k _ ``` **Hinweise:** -- Sie können `RustDesk hbbs service` in einen beliebigen Namen für den Dienst hbbs ändern -- Sie können `RustDesk hbbr service` in einen beliebigen Namen für den Dienst hbbr ändern -- Sie können `C:\Programme\RustDesk Server\hbbs.exe` in den Ort ändern, an dem Sie die RustDesk-Binärdateien abgelegt haben -- Sie können `C:\Programme\RustDesk Server\hbbr.exe` in den Ort ändern, an dem Sie die RustDesk-Binärdateien abgelegt haben -- Die Option `-k _` ist optional und dient nur der Sicherheit +- Sie können `RustDesk hbbs service` in einen beliebigen Namen für den Dienst hbbs ändern. +- Sie können `RustDesk hbbr service` in einen beliebigen Namen für den Dienst hbbr ändern. +- Sie können `C:\Programme\RustDesk Server\hbbs.exe` in den Ort ändern, an dem Sie die RustDesk-Binärdateien abgelegt haben. +- Sie können `C:\Programme\RustDesk Server\hbbr.exe` in den Ort ändern, an dem Sie die RustDesk-Binärdateien abgelegt haben. +- Die Option `-k _` ist optional und dient nur der Sicherheit. **Befehlsvorlagen:** -Die Befehlsvorlage für den Fall, dass Sie nur kopieren und einfügen sowie bearbeiten möchten. +Die Befehlsvorlage ist für den Fall, dass Sie nur kopieren, einfügen und bearbeiten möchten. ```cmd nssm install @@ -64,27 +64,27 @@ nssm install nssm start ``` - **Fertig!** -(Die obige Methoden wurde auf einem Windows Server Core 2022 Standard getestet). +(Die obige Methode wurde auf einem Windows Server Core 2022 Standard getestet). ## oder -## Installation mit pm2 +## Installation mit PM2 ### Node.js installieren Bitte Node.js [herunterladen](https://nodejs.org/dist/v16.14.2/node-v16.14.2-x86.msi) und installieren. -Node.js ist die Laufzeitumgebung von pm2, Sie müssen also zuerst Node.js installieren. +Node.js ist die Laufzeitumgebung von PM2, Sie müssen also zuerst Node.js installieren. -### pm2 installieren +### PM2 installieren Öffnen Sie die Eingabeaufforderung und führen Sie Zeile für Zeile mit Enter aus. @@ -96,7 +96,7 @@ pm2-startup install ### hbbr und hbbs ausführen -Laden Sie die Windows-Version von [Serverprogramm](https://github.com/rustdesk/rustdesk-server/releases) herunter. Entpacken Sie das Programm auf Laufwerk C:. Führen Sie die folgenden vier Befehle aus (achten Sie darauf, den Parameter `-r` bearbeiten): +Laden Sie die Windows-Version von [RustDesk Server](https://github.com/rustdesk/rustdesk-server/releases) herunter. Entpacken Sie das Programm auf Laufwerk C:. Führen Sie die folgenden vier Befehle aus und achten Sie darauf, den Parameter `-r` zu bearbeiten: ```cmd cd c:\rustdesk-server-windows-x64