2021-07-03 01:29:26 +08:00
< p align = "center" >
2022-09-18 11:28:05 +08:00
< img src = "../res/logo-header.svg" alt = "RustDesk - Your remote desktop" > < br >
2023-02-19 06:24:29 +08:00
< a href = "#freie-öffentliche-server" > Server< / a > •
< a href = "#grobe-schritte-zum-kompilieren" > Kompilieren< / a > •
2021-07-03 01:29:26 +08:00
< a href = "#auf-docker-kompilieren" > Docker< / a > •
< a href = "#dateistruktur" > Dateistruktur< / a > •
< a href = "#screenshots" > Screenshots< / a > < br >
2023-03-06 05:57:29 +08:00
[< a href = "../README.md" > English< / a > ] | [< a href = "README-UA.md" > Українська< / a > ] | [< a href = "README-CS.md" > česky< / a > ] | [< a href = "README-ZH.md" > 中文< / a > ] | [< a href = "README-HU.md" > Magyar< / a > ] | [< a href = "README-ES.md" > Español< / a > ] | [< a href = "README-FA.md" > فارسی< / a > ] | [< a href = "README-FR.md" > Français< / a > ] | [< a href = "README-PL.md" > Polski< / a > ] | [< a href = "README-ID.md" > Indonesian< / a > ] | [< a href = "README-FI.md" > Suomi< / a > ] | [< a href = "README-ML.md" > മലയാളം< / a > ] | [< a href = "README-JP.md" > 日本語< / a > ] | [< a href = "README-NL.md" > Nederlands< / a > ] | [< a href = "README-IT.md" > Italiano< / a > ] | [< a href = "README-RU.md" > Русский< / a > ] | [< a href = "README-PTBR.md" > Português (Brasil)< / a > ] | [< a href = "README-EO.md" > Esperanto< / a > ] | [< a href = "README-KR.md" > 한국어< / a > ] | [< a href = "README-AR.md" > العربي< / a > ] | [< a href = "README-VN.md" > Tiếng Việt< / a > ] | [< a href = "README-DA.md" > Dansk< / a > ] | [< a href = "README-GR.md" > Ελληνικά< / a > ]< br >
2023-03-07 21:55:26 +08:00
< b > Wir brauchen Ihre Hilfe, um dieses README, die < a href = "https://github.com/rustdesk/rustdesk/tree/master/src/lang" > RustDesk-Benutzeroberfläche< / a > und die < a href = "https://github.com/rustdesk/doc.rustdesk.com" > Dokumentation< / a > in Ihre Muttersprache zu übersetzen.< / b >
2021-07-03 01:29:26 +08:00
< / p >
2023-03-07 21:55:26 +08:00
Reden Sie mit uns auf: [Discord ](https://discord.gg/nDceKgxnkV ) | [Twitter ](https://twitter.com/rustdesk ) | [Reddit ](https://www.reddit.com/r/rustdesk )
2021-07-03 01:29:26 +08:00
[![ko-fi ](https://ko-fi.com/img/githubbutton_sm.svg )](https://ko-fi.com/I2I04VU09)
2023-03-07 21:55:26 +08:00
RustDesk ist eine in Rust geschriebene Remote-Desktop-Software, die out of the box ohne besondere Konfiguration funktioniert. Sie haben die volle Kontrolle über Ihre Daten und müssen sich keine Sorgen um die Sicherheit machen. Sie können unseren Rendezvous/Relay-Server nutzen, [einen eigenen Server aufsetzen ](https://rustdesk.com/server ) oder [einen eigenen Server programmieren ](https://github.com/rustdesk/rustdesk-server-demo ).
2023-02-19 06:24:29 +08:00
![image ](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png )
2021-07-03 01:29:26 +08:00
2023-03-07 21:55:26 +08:00
RustDesk heißt jegliche Mitarbeit willkommen. Schauen Sie sich [CONTRIBUTING-DE.md ](CONTRIBUTING-DE.md ) an, wenn Sie Unterstützung beim Start brauchen.
2021-07-03 01:29:26 +08:00
2023-02-27 02:48:20 +08:00
[**FAQ** ](https://github.com/rustdesk/rustdesk/wiki/FAQ )
2021-07-03 01:29:26 +08:00
2023-02-19 06:24:29 +08:00
[**Programm herunterladen** ](https://github.com/rustdesk/rustdesk/releases )
2021-10-01 16:58:08 +08:00
2023-02-19 06:24:29 +08:00
[**Nächtliche Erstellung** ](https://github.com/rustdesk/rustdesk/releases/tag/nightly )
[< img src = "https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="Get it on F-Droid"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Freie öffentliche Server
2021-07-03 01:29:26 +08:00
2023-03-07 21:55:26 +08:00
Nachfolgend sind die Server gelistet, die Sie kostenlos nutzen können. Es kann sein, dass sich diese Liste immer mal wieder ändert. Falls Sie nicht in der Nähe einer dieser Server sind, kann es sein, dass Ihre Verbindung langsam sein wird.
2023-02-19 06:24:29 +08:00
| Standort | Anbieter | Spezifikation |
| --------- | ------------- | ------------------ |
2023-03-07 21:55:26 +08:00
| Deutschland | [Hetzner ](https://www.hetzner.com/de/ ) | 2 vCPU / 4 GB RAM |
| Ukraine (Kiew) | [dc.volia ](https://dc.volia.com ) | 2 vCPU / 4 GB RAM |
2021-07-03 01:29:26 +08:00
2023-02-27 02:48:20 +08:00
## Dev-Container
[![In Dev-Containern öffnen ](https://img.shields.io/static/v1?label=Dev%20Container&message=Open&color=blue&logo=visualstudiocode )](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/rustdesk/rustdesk)
2023-03-07 21:55:26 +08:00
Wenn Sie VS Code und Docker bereits installiert haben, können Sie auf das Abzeichen oben klicken, um loszulegen. Wenn Sie darauf klicken, wird VS Code automatisch die Dev-Container-Erweiterung installieren, den Quellcode in ein Container-Volume klonen und einen Dev-Container für die Verwendung aufsetzen.
2023-02-27 02:48:20 +08:00
2023-03-07 21:55:26 +08:00
Weitere Informationen finden Sie in [DEVCONTAINER-DE.md ](DEVCONTAINER-DE.md ).
2023-02-27 02:48:20 +08:00
2021-07-03 01:29:26 +08:00
## Abhängigkeiten
2023-02-19 06:24:29 +08:00
Desktop-Versionen verwenden [Sciter ](https://sciter.com/ ) oder Flutter für die GUI, dieses Tutorial ist nur für Sciter.
2023-03-07 21:55:26 +08:00
Bitte laden Sie die dynamische Bibliothek Sciter selbst herunter.
2021-07-03 01:29:26 +08:00
2021-10-01 16:58:08 +08:00
[Windows ](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll ) |
2021-07-24 18:25:07 +08:00
[Linux ](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so ) |
2023-02-19 06:24:29 +08:00
[macOS ](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.osx/libsciter.dylib )
2021-07-03 01:29:26 +08:00
2023-02-19 06:24:29 +08:00
## Grobe Schritte zum Kompilieren
2021-07-03 01:29:26 +08:00
2023-03-07 21:55:26 +08:00
- Bereiten Sie Ihre Rust-Entwicklungsumgebung und C++-Build-Umgebung vor
2021-10-01 16:58:08 +08:00
2023-03-07 21:55:26 +08:00
- Installieren Sie [vcpkg ](https://github.com/microsoft/vcpkg ) und fügen Sie die Systemumgebungsvariable `VCPKG_ROOT` hinzu
2021-07-03 01:29:26 +08:00
2023-05-09 11:40:33 +08:00
- Windows: `vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static`
- Linux/macOS: `vcpkg install libvpx libyuv opus aom`
2021-07-03 01:29:26 +08:00
2023-03-07 21:55:26 +08:00
- Nutzen Sie `cargo run`
2021-07-03 01:29:26 +08:00
2023-02-19 06:24:29 +08:00
## [Erstellen](https://rustdesk.com/docs/de/dev/build/)
2021-07-03 01:29:26 +08:00
## Kompilieren auf Linux
### Ubuntu 18 (Debian 10)
2021-10-01 16:58:08 +08:00
2021-07-03 01:29:26 +08:00
```sh
2023-02-19 06:24:29 +08:00
sudo apt install -y zip 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 make \
libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
2021-07-03 01:29:26 +08:00
```
2023-02-19 06:24:29 +08:00
### openSUSE Tumbleweed
```sh
sudo zypper install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libXfixes-devel cmake alsa-lib-devel gstreamer-devel gstreamer-plugins-base-devel xdotool-devel
```
2021-07-03 01:29:26 +08:00
### Fedora 28 (CentOS 8)
2021-10-01 16:58:08 +08:00
2021-07-03 01:29:26 +08:00
```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)
2021-10-01 16:58:08 +08:00
2021-07-03 01:29:26 +08:00
```sh
2022-09-29 10:51:50 +08:00
sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pipewire
2021-07-03 01:29:26 +08:00
```
### vcpkg installieren
2021-10-01 16:58:08 +08:00
2021-07-03 01:29:26 +08:00
```sh
2021-10-01 16:58:08 +08:00
git clone https://github.com/microsoft/vcpkg
2021-07-24 19:06:32 +08:00
cd vcpkg
2023-05-09 11:40:33 +08:00
git checkout 2023.04.15
2021-07-24 19:06:32 +08:00
cd ..
2021-07-03 01:29:26 +08:00
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
2023-05-09 11:40:33 +08:00
vcpkg/vcpkg install libvpx libyuv opus aom
2021-07-03 01:29:26 +08:00
```
2023-02-19 06:24:29 +08:00
### libvpx reparieren (für Fedora)
2021-10-01 16:58:08 +08:00
2021-07-24 20:00:56 +08:00
```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
```
2021-07-03 01:29:26 +08:00
### Kompilieren
2021-10-01 16:58:08 +08:00
2021-07-03 01:29:26 +08:00
```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
2021-07-24 18:25:07 +08:00
wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
2021-07-03 01:29:26 +08:00
mv libsciter-gtk.so target/debug
2023-02-19 06:24:29 +08:00
VCPKG_ROOT=$HOME/vcpkg cargo run
2021-07-03 01:29:26 +08:00
```
2023-02-11 04:32:21 +08:00
## Auf Docker kompilieren
2021-07-03 01:29:26 +08:00
2023-03-07 21:55:26 +08:00
Beginnen Sie damit, das Repository zu klonen und den Docker-Container zu bauen:
2021-07-03 01:29:26 +08:00
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
2023-03-07 21:55:26 +08:00
Führen Sie jedes Mal, wenn Sie das Programm kompilieren müssen, folgenden Befehl aus:
2021-10-01 16:58:08 +08:00
2021-07-03 01:29:26 +08:00
```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
```
2023-03-07 21:55:26 +08:00
Bedenken Sie, dass das erste Kompilieren länger dauern kann, bis die Abhängigkeiten zwischengespeichert sind. Nachfolgende Kompiliervorgänge sind schneller. Wenn Sie verschiedene Argumente für den Kompilierbefehl angeben müssen, können Sie dies am Ende des Befehls an der Position `<OPTIONAL-ARGS>` tun. Wenn Sie zum Beispiel eine optimierte Releaseversion kompilieren wollen, können Sie `--release` am Ende des Befehls anhängen. Das daraus entstehende Programm finden Sie im Zielordner auf Ihrem System. Sie können es mit folgendem Befehl ausführen:
2021-07-03 01:29:26 +08:00
```sh
target/debug/rustdesk
```
2023-03-07 21:55:26 +08:00
Oder, wenn Sie eine Releaseversion benutzen:
2021-07-03 01:29:26 +08:00
```sh
target/release/rustdesk
```
2023-03-07 21:55:26 +08:00
Bitte stellen Sie sicher, dass Sie diese Befehle im Stammverzeichnis des RustDesk-Repositorys nutzen. Ansonsten kann es passieren, dass das Programm die Ressourcen nicht finden kann. Bitte bedenken Sie auch, dass andere Cargo-Unterbefehle wie `install` oder `run` aktuell noch nicht unterstützt werden, da sie das Programm innerhalb des Containers starten oder installieren würden, anstatt auf Ihrem eigentlichen System.
2021-07-03 01:29:26 +08:00
## Dateistruktur
2023-02-19 06:24:29 +08:00
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: Video-Codec, Konfiguration, TCP/UDP-Wrapper, Protokoll-Puffer, fs-Funktionen für Dateitransfer und ein paar andere nützliche Funktionen
2021-07-03 01:29:26 +08:00
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: Bildschirmaufnahme
2023-02-19 06:24:29 +08:00
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: Plattformspezifische Maus- und Tastatursteuerung
2021-07-03 01:29:26 +08:00
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: GUI
2023-02-19 06:24:29 +08:00
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: Audio/Zwischenablage/Eingabe/Videodienste und Netzwerkverbindungen
2021-07-03 01:29:26 +08:00
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: Starten einer Peer-Verbindung
2023-02-19 06:24:29 +08:00
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: Mit [rustdesk-server ](https://github.com/rustdesk/rustdesk-server ) kommunizieren, warten auf direkte (TCP hole punching) oder weitergeleitete Verbindung
2021-07-03 01:29:26 +08:00
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: Plattformspezifischer Code
2023-02-19 06:24:29 +08:00
- **[flutter](https://github.com/rustdesk/rustdesk/tree/master/flutter)**: Flutter-Code für Handys
- **[flutter/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: JavaScript für Flutter-Webclient
2021-07-03 01:29:26 +08:00
## Screenshots
2021-10-01 16:58:08 +08:00
2021-07-03 01:29:26 +08:00
![image ](https://user-images.githubusercontent.com/71636191/113112362-ae4deb80-923b-11eb-957d-ff88daad4f06.png )
![image ](https://user-images.githubusercontent.com/71636191/113112619-f705a480-923b-11eb-911d-97e984ef52b6.png )
![image ](https://user-images.githubusercontent.com/71636191/113112857-3fbd5d80-923c-11eb-9836-768325faf906.png )
2021-09-30 12:07:18 +08:00
![image ](https://user-images.githubusercontent.com/71636191/135385039-38fdbd72-379a-422d-b97f-33df71fb1cec.png )