Merge branch 'rustdesk:master' into master

This commit is contained in:
Xp96 2024-10-31 00:08:01 -03:00 committed by GitHub
commit 79e59810d4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
270 changed files with 30978 additions and 472 deletions

View File

@ -14,7 +14,7 @@ jobs:
- name: Install Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
hugo-version: '0.135.0'
- name: Add SSH key to agent
run: |

View File

@ -11,14 +11,6 @@ We can help you install RustDesk using supported methods as documented here.
We may give pointers, or provide additional troubleshooting steps if we believe your issue may be related to a recent update or bug.
### Commercial Support
Paid Support: You can [email](mailto:support@rustdesk.com) to get started.
We can help with lots of problems, installations and configurations. Fully managed hosted servers are also available as well as monthly support packages.
You get Priority #1 fast responses and service.
### Ticket for Pro User
Please post the ticket on https://github.com/rustdesk/rustdesk-server-pro/discussions, it is more efficient for us to communicate and track issue there than email.
Please post the ticket on https://github.com/rustdesk/rustdesk-server-pro/discussions, it is more efficient for us to communicate and track issue there than [email](mailto:support@rustdesk.com).

View File

@ -5,7 +5,7 @@ weight: 1
# RustDesk Documentation
RustDesk is a full-featured open source remote control alternative for self-hosting and security with minimal configuration. You have full control of your data, with no concerns about security. The Client is open source and theres a choice between the fully featured **Professional Server** available to purchase on our [website](https://rustdesk.com) and the basic free and OSS Server based on our **Professional Server**.
RustDesk is a full-featured open source remote control alternative for self-hosting and security with minimal configuration. You have full control of your data, with no concerns about security. The Client is open source and there's a choice between the fully featured **Professional Server** available to purchase on our [website](https://rustdesk.com) and the basic free and OSS Server based on our **Professional Server**.
### Features
- Works on Windows, macOS, Linux, iOS, Android, Web.

View File

@ -3,25 +3,6 @@ title: Linux
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.
[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)
### Grobe Schritte zum Erstellen
- Bereiten Sie Ihre Rust-Entwicklungsumgebung und Ihre C++-Build-Umgebung vor
- Installieren Sie [vcpkg](https://github.com/microsoft/vcpkg) und setzen Sie die Umgebungsvariable `VCPKG_ROOT` korrekt
- Windows: `vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static`
- Linux/macOS: `vcpkg install
- Nutzen Sie `cargo run`
### Auf Linux erstellen
#### Ubuntu 18 (Debian 10)
@ -80,9 +61,3 @@ mv libsciter-gtk.so target/debug
# Note: VCPKG_ROOT still set
cargo run
```
#### Wayland zu X11 ändern (Xorg)
~~RustDesk unterstützt Wayland nicht.~~ Lesen Sie diese [Anleitung](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/), um Xorg als Standard-GNOME-Sitzung zu konfigurieren.
RustDesk unterstützt jetzt experimentell Wayland. Um dieses Feature zu aktivieren, müssen Sie möglicherweise die [Nightly-Version](https://github.com/rustdesk/rustdesk/releases/tag/nightly) herunterladen.

View File

@ -3,25 +3,6 @@ title: Linux
weight: 10
---
### Dependencies
Desktop versions use [Sciter](https://sciter.com/) for GUI, please download Sciter dynamic library yourself.
[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)
### Raw steps to build
- Prepare your Rust development env and C++ build env
- Install [vcpkg](https://github.com/microsoft/vcpkg) and set `VCPKG_ROOT` env variable correctly
- Windows: `vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static`
- Linux/macOS: `vcpkg install
- Run `cargo run`
### How to build on Linux
#### Ubuntu 18 (Debian 10)
@ -81,9 +62,4 @@ mv libsciter-gtk.so target/debug
cargo run
```
#### Change Wayland to X11 (Xorg)
~~RustDesk does not support Wayland.~~ Check this [guide](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) to configuring Xorg as the default GNOME session.
RustDesk now has experimental Wayland support. You may need to download the [nightly version](https://github.com/rustdesk/rustdesk/releases/tag/nightly) to enable this feature.

View File

@ -3,25 +3,6 @@ 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 aom:x64-windows-static
- Linux/MacOS: vcpkg install
- run `cargo run`
## Cómo construir en Linux
### Ubuntu 18 (Debian 10)
@ -80,7 +61,3 @@ mv libsciter-gtk.so target/debug
# Note: VCPKG_ROOT still set
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

@ -3,25 +3,6 @@ title: Linux
weight: 10
---
## Dépendances
Les versions de bureau utilisent [sciter](https://sciter.com/) pour l'interface graphique, veuillez télécharger la bibliothèque dynamique sciter vous-même.
[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)
## Étapes brutes de la compilation/build
- Préparez votre environnement de développement Rust et votre environnement de compilation C++.
- Installez [vcpkg](https://github.com/microsoft/vcpkg), et définissez correctement la variable d'environnement `VCPKG_ROOT`.
- Windows : vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/Osx : vcpkg install
- Exécuter `cargo run`
## Comment compiler/build sous Linux
### Ubuntu 18 (Debian 10)
@ -80,7 +61,3 @@ mv libsciter-gtk.so target/debug
# Note: VCPKG_ROOT still set
cargo run
```
### Changer Wayland en X11 (Xorg)
RustDesk ne supporte pas Wayland. Lisez [cela](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) pour configurer Xorg comme la session GNOME par défaut.

View File

@ -3,25 +3,6 @@ title: Linux
weight: 10
---
## Dipendenze
La versione Desktop utilizza [sciter](https://sciter.com/) per la GUI, per favore scarica sciter dynamic library.
[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)
## Passaggi per la compilazione
- Prepara l'ambiente per lo sviluppo e compilazione in Rust e C++
- Installa [vcpkg](https://github.com/microsoft/vcpkg), e imposta correttamente la variabile d'ambiente `VCPKG_ROOT`
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/MacOS: vcpkg install
- Esegui `cargo run`
## Come compilare su Linux
### Ubuntu 18 (Debian 10)
@ -80,7 +61,3 @@ mv libsciter-gtk.so target/debug
# Note: VCPKG_ROOT still set
cargo run
```
### Cambiare Wayland a X11 (Xorg)
RustDesk non supporta Wayland. Controlla [questo](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) per configurare Xorg come sessione di default di GNOME.

View File

@ -3,26 +3,6 @@ title: Linux
weight: 10
---
## 依存関係
デスクトップ版ではGUIに [sciter](https://sciter.com/) が使われています。 sciter dynamic library をダウンロードしてください。
[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)
## ビルド手順
- Rust開発環境とC ++ビルド環境を準備します
- [vcpkg](https://github.com/microsoft/vcpkg), をインストールし、 `VCPKG_ROOT` 環境変数を正しく設定します。
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/MacOS: vcpkg install
- run `cargo run`
## Linuxでのビルド手順
### Ubuntu 18 (Debian 10)
@ -81,8 +61,3 @@ mv libsciter-gtk.so target/debug
# Note: VCPKG_ROOT still set
cargo run
```
### Wayland の場合、X11Xorgに変更します
RustDeskはWaylandをサポートしていません。
[こちら](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) を確認して、XorgをデフォルトのGNOMEセッションとして構成します。

View File

@ -3,25 +3,6 @@ title: Linux
weight: 10
---
## Afhankelijkheden
Desktop versies gebruiken [sciter](https://sciter.com/) voor GUI, download dan zelf de sciter dynamische bibliotheek.
[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)
## Ruwe build stappen
- Bereid uw Rust ontwikkelomgeving en C++ build omgeving voor
- Installeer [vcpkg](https://github.com/microsoft/vcpkg), en stel `VCPKG_ROOT` omgevingsvariabele correct
- Windows: vcpkg installeer libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/MacOS: vcpkg install
- run `cargo run`
## Build op Linux
### Ubuntu 18 (Debian 10)
@ -80,7 +61,3 @@ mv libsciter-gtk.so target/debug
# Note: VCPKG_ROOT still set
cargo run
```
### Verander Wayland in X11 (Xorg)
RustDesk ondersteunt Wayland niet. Controleer [dit](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) om Xorg te configureren als de standaard GNOME sessie.

View File

@ -3,25 +3,6 @@ title: Linux
weight: 10
---
## Dependências
Versões de desktop utilizam [sciter](https://sciter.com/) para a GUI, por favor baixe a biblioteca dinâmica sciter por conta própria.
[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)
## Compilação crua
- Prepare seu ambiente de desenvolvimento Rust e ambiente de compilação C++
- Instale [vcpkg](https://github.com/microsoft/vcpkg), e configure a variável de ambiente `VCPKG_ROOT` corretamente
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/MacOS: vcpkg install
- Execute `cargo run`
## Como compilar no Linux
### Ubuntu 18 (Debian 10)
@ -80,7 +61,3 @@ mv libsciter-gtk.so target/debug
# Note: VCPKG_ROOT still set
cargo run
```
### Mude Wayland para X11 (Xorg)
RustDesk não suporta Wayland. Veja [esse link](https://docs.fedoraproject.org/pt_BR/quick-docs/configuring-xorg-as-default-gnome-session/) para configurar o Xorg como a sessão padrão do GNOME.

View File

@ -3,26 +3,6 @@ title: Linux
weight: 10
---
## Зависимости
Настольные версии используют [sciter](https://sciter.com/) для графического интерфейса, загрузите динамическую библиотеку sciter самостоятельно.
[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)
## Первичные шаги для сборки
- Подготовьте среду разработки Rust и среду сборки C++.
- Установите [vcpkg](https://github.com/microsoft/vcpkg), и правильно установите переменную `VCPKG_ROOT`
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/MacOS: vcpkg install
- Запустите`cargo run`
## Как собрать в Linux
### Ubuntu 18 (Debian 10)
@ -81,7 +61,3 @@ mv libsciter-gtk.so target/debug
# Note: VCPKG_ROOT still set
cargo run
```
### Смените Wayland на X11 (Xorg)
RustDesk не поддерживает Wayland. Смотрите [этот документ](https://docs.fedoraproject.org/ru/quick-docs/configuring-xorg-as-default-gnome-session/) для настройки Xorg в качестве сеанса GNOME по умолчанию.

View File

@ -3,25 +3,6 @@ title: Linux
weight: 10
---
## 依赖
桌面版本界面使用[sciter](https://sciter.com/), 请自行下载。
[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)
## 基本构建步骤
- 请准备好 Rust 开发环境和 C++编译环境
- 安装[vcpkg](https://github.com/microsoft/vcpkg), 正确设置`VCPKG_ROOT`环境变量
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/Osx: vcpkg install
- 运行 `cargo run`
## 在 Linux 上编译
### Ubuntu 18 (Debian 10)
@ -80,8 +61,3 @@ mv libsciter-gtk.so target/debug
# Note: VCPKG_ROOT still set
cargo run
```
### 把 Wayland 修改成 X11 (Xorg)
RustDesk 暂时不支持 Wayland不过正在积极开发中.
请查看[this](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/)配置 X11.

View File

@ -3,25 +3,6 @@ title: Linux
weight: 10
---
## 依賴
桌面版本界面使用[sciter](https://sciter.com/), 請自行下載。
[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)
## 基本構建步驟
- 請準備好 Rust 開發環境和 C++編譯環境
- 安裝[vcpkg](https://github.com/microsoft/vcpkg), 正確設置`VCPKG_ROOT`環境變量
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/Osx: vcpkg install
- 運行 `cargo run`
## 在 Linux 上編譯
### Ubuntu 18 (Debian 10)
@ -80,8 +61,3 @@ mv libsciter-gtk.so target/debug
# Note: VCPKG_ROOT still set
cargo run
```
### 把 Wayland 修改成 X11 (Xorg)
RustDesk 暫時不支持 Wayland不過正在積極開發中.
請查看[this](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/)配置 X11.

View File

@ -8,6 +8,29 @@ If you are using RustDesk you should have your own RustDesk Server, these docs w
Support is available via our [Discord](https://discord.com/invite/nDceKgxnkV) for OSS and [email](mailto:support@rustdesk.com) for Pro.
### How does self-hosted server work?
There are technically two executables (servers):
- `hbbs` - RustDesk ID (rendezvous / signaling) server, listen on TCP (`21114` - for http in Pro only, `21115`, `21116`, `21118` for web socket) and UDP (`21116`)
- `hbbr` - RustDesk relay server, listen on TCP (`21117`, `21119` for web socket)
When you install via installation script / docker compose / deb, the two services will be both installed.
Here is [illustrations](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F) of how RustDesk client communicates with `hbbr` / `hbbs`.
As long as RustDesk is running on a machine, the machine constantly pings the ID server (`hbbs`) to make its current IP address and port known.
When you start a connection from computer A to computer B, computer A contacts the ID server and requests to communicate with computer B.
The ID server then attempts to connect A and B directly to each other using hole punching.
If hole punching fails, A will communicate with B via the relay server (`hbbr`).
In the majority of cases, hole punching is successful, and the relay server is never used.
Here is a discussion about [Should you self-host a rustdesk server?](https://www.reddit.com/r/rustdesk/comments/1cr8kfv/should_you_selfhost_a_rustdesk_server/)
### Basic Setup
[Set up your own server instance manually.](https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/#set-up-your-own-server-instance-manually)

View File

@ -316,7 +316,20 @@ Eingehende Sitzungen automatisch aufzeichnen.
| Installation erforderlich | Werte | Standard | Beispiel |
| :------: | :------: | :------: | :------: |
| N | Y, N | N | `allow-auto-record-incoming=N` |
| N | Y, N | N | `allow-auto-record-incoming=Y` |
### allow-auto-record-outgoing
Ausgehende Sitzungen automatisch aufzeichnen.
**Position**:
1. **Desktop** Einstellungen → Allgemein → Aufnahme → Ausgehende Sitzungen automatisch aufzeichnen
2. **Mobil** Einstellungen → Aufnahme → Ausgehende Sitzungen automatisch aufzeichnen
| Installation erforderlich | Werte | Standard | Beispiel | Version |
| :------: | :------: | :------: | :------: | :------: |
| N | Y, N | N | `allow-auto-record-outgoing=Y` | >= 1.3.2 |
### video-save-directory

View File

@ -146,7 +146,7 @@ Allow the control side to change the settings in controlled RustDesk UI.
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y, N | Y | `allow-remote-config-modification=Y` |
| N | Y, N | N | `allow-remote-config-modification=Y` |
### enable-lan-discovery
@ -242,6 +242,14 @@ Accept incoming connections via password or manually click.
| :------: | :------: | :------: | :------: |
| N | password, click, password-click | password-click | `approve-mode=password-click` |
### verification-method
What type of password can be used, `temporary password` refers to the one-time random password.
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | use-temporary-password, use-permanent-password, use-both-passwords | use-both-passwords | `verification-method=use-permanent-password` |
### proxy-url
The proxy URL.
@ -318,7 +326,20 @@ Automatically record incoming sessions.
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y, N | N | `allow-auto-record-incoming=N` |
| N | Y, N | N | `allow-auto-record-incoming=Y` |
### allow-auto-record-outgoing
Automatically record outgoing sessions.
**Location**:
1. **Desktop** Settings → General → Recording → Automatically record outgoing sessions
2. **Mobile** Settings → Recording → Automatically record outgoing sessions
| Install required | Values | Default | Example | Version |
| :------: | :------: | :------: | :------: | :------: |
| N | Y, N | N | `allow-auto-record-outgoing=Y` | >= 1.3.2 |
### video-save-directory
@ -1078,3 +1099,46 @@ https://github.com/rustdesk/rustdesk-server-pro/issues/332
| Values | Default | Example |
| :------: | :------: | :------: |
| Y, N | N | `hide-tray=Y` |
### one-way-clipboard-redirection
Disable clipboard sync from controlled side to controlling side, available in RustDesk client >=1.3.1 (controlled side)
https://github.com/rustdesk/rustdesk/discussions/7837
| Values | Default | Example |
| :------: | :------: | :------: |
| Y, N | N | `one-way-clipboard-redirection=Y` |
### one-way-file-transfer
Disable file transfer from controlled side to controlling side, available in RustDesk client >=1.3.1 (controlled side)
https://github.com/rustdesk/rustdesk/discussions/7837
| Values | Default | Example |
| :------: | :------: | :------: |
| Y, N | N | `one-way-file-transfer=Y` |
### sync-init-clipboard
If sync initial clipboard when establishing connection (only from controlling side to controlled side), available in RustDesk client >=1.3.1 (controlling side)
https://github.com/rustdesk/rustdesk/discussions/9010
| Values | Default | Example |
| :------: | :------: | :------: |
| Y, N | N | `sync-init-clipboard=Y` |
### allow-logon-screen-password
If allow password input on logon screen when [click-only approve mode](https://rustdesk.com/docs/en/self-host/client-configuration/advanced-settings/#approve-mode) is used, available in RustDesk client >=1.3.1 (controlled side)
https://github.com/rustdesk/rustdesk/discussions/9269
| Values | Default | Example |
| :------: | :------: | :------: |
| Y, N | N | `allow-logon-screen-password=Y` |

View File

@ -318,7 +318,20 @@ Gravar automaticamente sessões recebidas.
| Instalação necessária | Valores | Padrão | Exemplo |
| :------: | :------: | :------: | :------: |
| N | Y, N | N | `allow-auto-record-incoming=N` |
| N | Y, N | N | `allow-auto-record-incoming=Y` |
### allow-auto-record-outgoing
Grave automaticamente sessões de saída.
**Localização**:
1. **Desktop**: Configurações → Geral → Gravação → Grave automaticamente sessões de saída
2. **Mobile**: Configurações → Gravação → Grave automaticamente sessões de saída
| Instalação necessária | Valores | Padrão | Exemplo | Versão |
| :------: | :------: | :------: | :------: | :------: |
| N | Y, N | N | `allow-auto-record-outgoing=Y` | >= 1.3.2 |
### video-save-directory

View File

@ -150,7 +150,7 @@ weight: 49
允许局域网发现。
局域网法相后, 如果支持 [WOL](https://en.wikipedia.org/wiki/Wake-on-LAN) , 则可使用 WOL 。
局域网发现后, 如果支持 [WOL](https://en.wikipedia.org/wiki/Wake-on-LAN) , 则可使用 WOL 。
**位置**:
@ -240,6 +240,14 @@ IP 直接访问的端口。
| :------: | :------: | :------: | :------: |
| N | password, click, password-click | password-click | `approve-mode=password-click` |
### verification-method
可以使用什么类型的密码,“临时密码”是指一次性随机密码。
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | use-temporary-password, use-permanent-password, use-both-passwords | use-both-passwords | `verification-method=use-permanent-password` |
### proxy-url
代理的 url 。
@ -307,16 +315,29 @@ ar, bg, ca, cs, da, de, el, en, eo, es, et, fa, fr, he, hr, hu, id, it, ja, ko,
### allow-auto-record-incoming
自动录制来访会话。
自动录制传入会话。
**位置**:
1. **桌面端** 设置 -> 常规 -> 录屏 -> 自动录制来访会话
1. **移动端** 设置 -> 录屏 -> 自动录制来访会话
1. **桌面端** 设置 -> 常规 -> 录屏 -> 自动录制传入会话
1. **移动端** 设置 -> 录屏 -> 自动录制传入会话
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y, N | N | `allow-auto-record-incoming=N` |
| N | Y, N | N | `allow-auto-record-incoming=Y` |
### allow-auto-record-outgoing
自动录制传出会话。
**位置**:
1. **桌面端** 设置 -> 常规 -> 录屏 -> 自动录制传出会话
1. **移动端** 设置 -> 录屏 -> 自动录制传出会话
| 是否需要安装 | 可设值 | 默认值 | 示例 | 版本 |
| :------: | :------: | :------: | :------: | :------: |
| N | Y, N | N | `allow-auto-record-outgoing=Y` | >= 1.3.2 |
### video-save-directory
@ -1066,4 +1087,4 @@ https://github.com/rustdesk/rustdesk/discussions/8513#discussioncomment-10234494
| 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: |
| Y, N | Y | `enable-trusted-devices=N` |
| Y, N | Y | `enable-trusted-devices=N` |

View File

@ -14,7 +14,7 @@ The permanent password can be changed from random to one you prefer using by cha
### PowerShell
```ps
```powershell
$ErrorActionPreference= 'silentlycontinue'
# Assign the value random password to the password variable
@ -186,6 +186,17 @@ You can also use msi instead of `rustdesk.exe --silent-install`.
https://rustdesk.com/docs/en/client/windows/msi/
### Winget
you can deploy via powershell with winget as well (this installs via microsofts version of apt - part of most recent windows installs)
from a powershell window or via script (for example via GPO)
```
winget install --id=RustDesk.RustDesk -e
```
### macOS Bash
```sh

View File

@ -17,7 +17,7 @@ Standardmäßig lauscht `hbbs` auf 21114 (TCP für die Webkonsole, nur in der Pr
```sh
sudo docker image pull rustdesk/rustdesk-server
sudo docker run --name hbbs -v ./data:/root -td --net=host rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbs -v ./data:/root -td --net=host rustdesk/rustdesk-server hbbs
sudo docker run --name hbbr -v ./data:/root -td --net=host rustdesk/rustdesk-server hbbr
```
<a name="net-host"></a>

View File

@ -6,7 +6,7 @@ weight: 7
### Install your own server with Docker
#### Requirements
You need to have Docker/Podman installed to run a rustdesk-server as a Docker container, if in doubt install Docker with this [guide](https://docs.docker.com/engine/install) to ensure its the most up to date!
You need to have Docker/Podman installed to run a rustdesk-server as a Docker container. If in doubt, install Docker with this [guide](https://docs.docker.com/engine/install) to ensure it's the most up to date!
By default, `hbbs` listens on 21114 (TCP, for web console, only available in Pro version), 21115 (TCP), 21116 (TCP/UDP) and 21118 (TCP), `hbbr` listens on 21117 (TCP) and 21119 (TCP). Be sure to open these ports in the firewall. **Please note that 21116 should be enabled both for TCP and UDP.** 21115 is used for the NAT type test, 21116/UDP is used for the ID registration and heartbeat service, 21116/TCP is used for TCP hole punching and connection service, 21117 is used for the Relay services, and 21118 and 21119 are used to support web clients. *If you do not need web client (21118, 21119) support, the corresponding ports can be disabled.*
@ -17,7 +17,7 @@ By default, `hbbs` listens on 21114 (TCP, for web console, only available in Pro
```sh
sudo docker image pull rustdesk/rustdesk-server
sudo docker run --name hbbs -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbs -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbs
sudo docker run --name hbbr -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbr
```
<a name="net-host"></a>
@ -30,7 +30,7 @@ If `--net=host` works fine, the `-p` options are not used. If on Windows, leave
{{% /notice %}}
{{% notice note %}}
If you can not see logs with `-td`, you can see logs via `docker logs hbbs`. Or you can run with `-it`, `hbbs/hbbr` will not run as daemon mode.
If you cannot see logs with `-td`, you can see logs via `docker logs hbbs`. Or you can run with `-it`, `hbbs/hbbr` will not run as daemon mode.
{{% /notice %}}
#### Docker Compose examples

View File

@ -25,7 +25,7 @@ Por padrão, o `hbbs` escuta nas portas 21114 (TCP, para console web, disponíve
```sh
sudo docker image pull rustdesk/rustdesk-server
sudo docker run --name hbbs -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbs -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbs
sudo docker run --name hbbr -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbr
```
<a name="net-host"></a>

View File

@ -0,0 +1,24 @@
---
title: 宝塔面板
weight: 40
---
本手册基于宝塔面板正式版 9.2.0
## 前提
已安装宝塔面板正式版,前往[宝塔面板](https://www.bt.cn/new/index.html)官网,选择对应的脚本下载安装
## 部署
步骤一:登录宝塔面板,在菜单栏中点击 `Docker`
步骤二:首次会提示安装`Docker`和`Docker Compose`服务,点击立即安装,若已安装请忽略。
步骤三:安装完成后在`Docker-应用商店-实用工具`中找到 `RustDesk`,点击`安装`
步骤四:设置域名等基本信息,点击`确定`
- 名称:应用名称,默认`RustDesk-随机字符`
- 版本选择:默认`1.1.11`
- 允许外部访问:请勾选。
- 端口默认情况下hbbs 监听21115(tcp), 21116(tcp/udp), 21118(tcp)hbbr 监听21117(tcp), 21119(tcp)。务必在防火墙开启这几个端口, 请注意21116同时要开启TCP和UDP。其中21115是hbbs用作NAT类型测试21116/UDP是hbbs用作ID注册与心跳服务21116/TCP是hbbs用作TCP打洞与连接服务21117是hbbr用作中继服务, 21118和21119是为了支持网页客户端。如果您不需要网页客户端2111821119支持对应端口可以不开。
- CPU 核心数限制0为不限制可根据需要进行修改
- 内存限制0为不限制可根据需要进行修改
步骤五:提交后面板会自动进行应用初始化,大概需要`1-3`分钟,初始化完成后即可使用。

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 KiB

View File

@ -71,7 +71,7 @@ Wir empfehlen Ihnen die Verwendung von [PM2](https://pm2.keymetrics.io/) für di
Starten Sie hbbs/hbbr ohne PM2.
```sh
./hbbs -r <relay-server-ip[:port]>
./hbbs
./hbbr
```
@ -79,7 +79,7 @@ Starten Sie hbbs/hbbr ohne PM2.
Starten Sie hbbs/hbbr mit PM2.
```sh
pm2 start hbbs -- -r <relay-server-ip[:port]>
pm2 start hbbs
pm2 start hbbr
```
@ -87,7 +87,6 @@ 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).
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 21114 (TCP für die Webkonsole, nur in der Pro-Version verfügbar), 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.*

View File

@ -17,7 +17,7 @@ You need to have Linux installed, script is tested working with CentOS Linux 7/8
##### How to Install the server
Please setup your firewall on your server prior to running the script.
Make sure you have got access via SSH or otherwise setup prior setting up the firewall. The example commands for UFW (Debian based) are:
Make sure you have got access via SSH or otherwise setup prior to setting up the firewall. The example commands for UFW (Debian based) are:
```
ufw allow proto tcp from YOURIP to any port 22
```
@ -74,7 +74,7 @@ We suggest you use [PM2](https://pm2.keymetrics.io/) for managing your service.
Run hbbs/hbbr without PM2.
```sh
./hbbs -r <relay-server-ip[:port]>
./hbbs
./hbbr
```
@ -82,15 +82,13 @@ Run hbbs/hbbr without PM2.
Run hbbs/hbbr with PM2.
```sh
pm2 start hbbs -- -r <relay-server-ip[:port]>
pm2 start hbbs
pm2 start hbbr
```
<a name="demo"></a>
{{% notice note %}}
PM2 requires Node.js v16+, if you fail to run PM2 (e.g. you can not see `hbbs`/`hbbr` in `pm2 list`), please download and install the Node.js LTS version from https://nodejs.org. If you want to make `hbbs`/`hbbr` auto-run after reboot, please check out `pm2 save` and `pm2 startup`. More about [PM2](https://pm2.keymetrics.io/docs/usage/quick-start/). Another good tool for your logs is [pm2-logrotate](https://github.com/keymetrics/pm2-logrotate).
The `-r` parameter of `hbbs` is not mandatory, it is just convenient for you not to specify a relay server on the controlled client side. You do not need to specify port if you are using default 21117 port. The relay server specified by the client has a higher priority than this.
{{% /notice %}}
#### Ports

View File

@ -34,7 +34,7 @@ Le sugerimos que use [pm2](https://pm2.keymetrics.io/) para administrar su servi
Ejecute hbbs/hbbr sin usar pm2
```
./hbbs -r <relay-server-ip[:port]>
./hbbs
./hbbr
```
@ -42,7 +42,7 @@ Ejecute hbbs/hbbr sin usar pm2
Ejecute hbbs/hbbr usando pm2
```
pm2 start hbbs -- -r <relay-server-ip[:port]>
pm2 start hbbs
pm2 start hbbr
```
@ -50,7 +50,6 @@ pm2 start hbbr
{{% 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.
@ -64,7 +63,7 @@ Ejecute con la opción "-h" para ver ayuda si desea elegir su propio puerto.
```
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 -td --net=host rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr
```
@ -127,11 +126,4 @@ Si no completó la `key:` (el contenido en el archivo de clave pública `id_ed25
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

@ -45,7 +45,7 @@ Vous devez avoir installé Docker/Podman afin d'exécuter un serveur Rustdesk en
### Exemples avec Docker
```bash
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 -td --net=host rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr
```
<a name="net-host"></a>
@ -75,7 +75,7 @@ services:
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest
command: hbbs -r example.com:21117
command: hbbs
volumes:
- ./data:/root
networks:
@ -129,7 +129,7 @@ Les exigences matérielles sont très faibles. La configuration minimale d'un se
Exécutez hbbs/hbbr sur votre serveur (CentOS ou Ubuntu). Nous vous suggérons d'utiliser [pm2](https://pm2.keymetrics.io/) pour gérer votre service.
```bash
./hbbs -r <relay-server-ip[:port]>
./hbbs
./hbbr
```
@ -137,7 +137,7 @@ Exécutez hbbs/hbbr sur votre serveur (CentOS ou Ubuntu). Nous vous suggérons d
Exécutez hbbs/hbbr avec pm2
```bash
pm2 start hbbs -- -r <relay-server-ip[:port]>
pm2 start hbbs
pm2 start hbbr
```
@ -145,7 +145,6 @@ pm2 start hbbr
{{% notice note %}}
pm2 nécessite Node.js v16+, si vous ne parvenez pas à exécuter pm2 (par exemple, vous ne pouvez pas voir `hbbs`/`hbbr` dans `pm2 list`), veuillez télécharger et installer la version Node.js LTS à partir de https://nodejs.org. Si vous souhaitez que `hbbs`/`hbbr` s'exécute automatiquement après le redémarrage, veuillez vous référer à `pm2 save` et `pm2 startup`. En savoir plus sur [pm2](https://pm2.keymetrics.io/docs/usage/quick-start/). Un autre bon outil pour vos journaux est [pm2-logrotate](https://github.com/keymetrics/pm2-logrotate).
Le paramètre `-r` de `hbbs` n'est pas obligatoire, il est juste pratique pour ne pas avoir à spécifier de serveur relais côté client contrôlé. Vous n'avez pas besoin de spécifier le port si vous utilisez le port 21117 par défaut. Le serveur relais spécifié par le client est prioritaire sur ce paramètre.
{{% /notice %}}
Par défaut, `hbbs` écoute sur 21115 (TCP) et 21116 (TCP/UDP), 21118 (TCP), et `hbbr` écoute sur 21117 (TCP), 21119 (TCP). Assurez-vous d'ouvrir ces ports dans le pare-feu. **Veuillez noter que 21116 doit être activé à la fois pour TCP et UDP**. 21115 est utilisé pour le test de type NAT, 21116/UDP est utilisé pour l'enregistrement d'ID et le service `heartbeat`, 21116/TCP est utilisé pour le service `TCP hole punching`, 21117 est utilisé pour le service de relais, et 21118 et 21119 sont utilisés pour prendre en charge les clients Web. *Si vous n'avez pas besoin de la prise en charge du client Web (21118, 21119), les ports correspondants peuvent être désactivés.*
@ -198,13 +197,6 @@ Si vous n'avez pas rempli la clé `Key:` (avec le contenu du fichier de clé pub
cat ./id_ed25519.pub
````
Si vous souhaitez interdire aux utilisateurs sans clé d\'établir des connexions non chiffrées, veuillez ajouter le paramètre `-k _` lors de l\'exécution de
`hbbs` et `hbbr`, par exemple :
```bash
./hbbs -r <relay-server-ip[:port]> -k _
./hbbr -k _
```
Si vous voulez changer de clé, supprimez les fichiers `id_ed25519` et `id_ed25519.pub` et redémarrez `hbbs`/`hbbr``hbbs` générera une nouvelle paire de clés.
{{% notice note %}}

View File

@ -31,14 +31,14 @@ Centos7 でビルドされ Centos7/8, Ubuntu18/20 で動作確認されていま
あなたのサーバー (Centos または Ubuntu) でhbbs/hbbrを実行します。[pm2](https://pm2.keymetrics.io/) を使用してサービスを管理することを推奨します。
```
./hbbs -r <relay-server-ip[:port]>
./hbbs
./hbbr
```
もしくは hbbs/hbbr を pm2 を使用して実行します
```
pm2 start hbbs -- -r <relay-server-ip[:port]>
pm2 start hbbs
pm2 start hbbr
```
@ -46,7 +46,6 @@ pm2 start hbbr
{{% notice note %}}
pm2 を動作させるには nodejs v16+ が必要です。pm2 を実行できない場合 (例えば `pm2 list` に hbbs/hbbr が表示されない時) はLTS版の node.js を https://nodejs.org からダウンロードしインストールしてください。もし hbbs/hbbr を再起動後に自動実行させたいなら `pm2 save``pm2 startup` を確認してみてください。 詳しくは [pm2](https://pm2.keymetrics.io/docs/usage/quick-start/) から確認できます。 ログを記録するのは [pm2-logrotate](https://github.com/keymetrics/pm2-logrotate) を使うのがオススメです。
hhbsの `-r` パラメータは必須ではなくサーバー側で指定するとクライアント側で中継サーバを指定せず済むので便利です。またデフォルトの 21117 ポートを使う場合はポートを指定する必要はありません。クライアント側が指定するリレーサーバーはこれよりも優先度が高いです。 **RustDeskコントロールクライアント 1.1.9 以降では中継サーバーが別のホストやポートで動作していない場合、クライアント側でも中継サーバーのアドレスを指定する必要はありません。**
{{% /notice %}}
デフォルトでは hbbs は 21115(tcp) と 21116(tcp/udp) と 21118(tcp) を使用し hbbr は 21117(tcp) と 21119(tcp) を使用します。ファイアウォールでこれらのポートを必ず開放してください。**21116はTCPとUDPの両方で開放する必要があることに注意してください。** 21115 はNATタイプの確認、21116/UDP はTCPホールパンチング,コネクションサービス、21117はリレーサービス、21118 と 21119 はWebクライアントのサポートに使用します。ウェブクライアント(21118, 21119) のサポートが不要な場合は該当するポートを無効にしても良いです。
@ -60,7 +59,7 @@ hhbsの `-r` パラメータは必須ではなくサーバー側で指定する
```
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 -td --net=host rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr
```
@ -118,10 +117,4 @@ hbbs.example.com:21116
cat ./id_ed25519.pub
````
もし鍵のないユーザが暗号化されていない接続を確立することを禁止したい場合は、hbbs と hbbr を実行する際に `-k _` パラメータを追加してください。
````
./hbbs -r <relay-server-ip[:port]> -k _
./hbbr -k _
````
鍵を変更したい場合は `id_ed25519``id_ed25519.pub` を削除し hbbs/hbbr を再起動すると新しい鍵ペアが生成されます。

View File

@ -43,7 +43,7 @@ U moet Docker/Podman installeren om een rustdesk-server als docker container te
### Docker voorbeelden
```bash
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 -td --net=host rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr
```
<a name="net-host"></a>
@ -72,7 +72,7 @@ services:
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest
command: hbbs -r example.com:21117
command: hbbs
volumes:
- ./data:/root
networks:
@ -126,7 +126,7 @@ De hardwarevereisten zijn zeer laag; de minimale configuratie van een basiscloud
Voer hbbs/hbbr uit op uw server (CentOS of Ubuntu). We stellen voor dat u [pm2](https://pm2.keymetrics.io/) gebruikt voor het beheer van uw service.
```bash
./hbbs -r <relay-server-ip[:port]>
./hbbs
./hbbr
```
@ -134,7 +134,7 @@ Voer hbbs/hbbr uit op uw server (CentOS of Ubuntu). We stellen voor dat u [pm2](
Voer hbbs/hbbr uit met pm2
```bash
pm2 start hbbs -- -r <relay-server-ip[:port]>
pm2 start hbbs
pm2 start hbbr
```
@ -142,7 +142,6 @@ pm2 start hbbr
{{% notice note %}}
pm2 vereist Node.js v16+, Als het niet lukt om pm2 te starten (bijv. u kunt `hbbs`/`hbbr` niet zien in `pm2 list`), download en installeer dan de Node.js LTS versie van https://nodejs.org. Als je `hbbs`/`hbbr` automatisch wilt laten draaien na een herstart, kijk dan naar `pm2 save` en `pm2 startup`. Meer over [pm2](https://pm2.keymetrics.io/docs/usage/quick-start/). Een ander goed hulpmiddel voor uw logs is [pm2-logrotate](https://github.com/keymetrics/pm2-logrotate).
De `-r` parameter van `hbbs` is niet verplicht, het is gewoon handig om geen relay server te specificeren aan de gecontroleerde client kant. U hoeft geen poort op te geven als u de standaardpoort 21117 gebruikt. De door de klant opgegeven relaisserver heeft dan een hogere prioriteit.
{{% /notice %}}
Standaard luistert `hbbs` op 21115 (TCP) en 21116 (TCP/UDP), 21118 (TCP), en `hbbr` luistert op 21117 (TCP), 21119 (TCP). Zorg ervoor dat u deze poorten in de firewall opent. **Let op: 21116 moet zowel voor TCP als voor UDP zijn ingeschakeld**. 21115 wordt gebruikt voor de NAT type test, 21116/UDP wordt gebruikt voor de ID registratie en heartbeat service, 21116/TCP wordt gebruikt voor TCP hole punching en connection service, 21117 wordt gebruikt voor de Relay services, en 21118 en 21119 worden gebruikt om web clients te ondersteunen. *Als u geen ondersteuning voor webclients (21118, 21119) nodig hebt, kunnen de corresponderende poorten worden uitgeschakeld.
@ -201,13 +200,6 @@ Ials u de `Sleutel:` (de inhoud van het openbare sleutelbestand `id_ed25519.pub`
cat ./id_ed25519.pub
````
Als u wilt voorkomen dat gebruikers zonder sleutel niet-versleutelde verbindingen tot stand brengen, voeg dan bijvoorbeeld de `-k _` parameter toe bij het uitvoeren van `hbbs` en `hbbr`:
```bash
./hbbs -r <relay-server-ip[:port]> -k _
./hbbr -k _
```
Als je de sleutel wilt veranderen, verwijder dan de `id_ed25519` en `id_ed25519.pub` bestanden en herstart `hbbs`/`hbbr``hbbs` zal een nieuw sleutelpaar genereren.
{{% notice note %}}

View File

@ -75,7 +75,7 @@ Sugerimos usar o [PM2](https://pm2.keymetrics.io/) (em inglês) para gerenciar s
Executar hbbs/hbbr sem PM2.
```sh
./hbbs -r <ip_do_servidor_relay[:porta]>
./hbbs
./hbbr
```
@ -83,7 +83,7 @@ Executar hbbs/hbbr sem PM2.
Executar hbbs/hbbr com PM2.
```sh
pm2 start hbbs -- -r <ip_do_servidor_relay[:porta]>
pm2 start hbbs
pm2 start hbbr
```
@ -91,7 +91,6 @@ pm2 start hbbr
{{% notice note %}}
O PM2 requer Node.js v16+. Se você não conseguir executar o PM2 (por exemplo, não consegue ver `hbbs/hbbr` em `pm2 list`), faça o [download](https://nodejs.org/pt) e instale a versão LTS do Node.js. Para configurar a execução automática do `hbbs/hbbr` após a reinicialização, use os comandos `pm2 save` e `pm2 startup`. Saiba mais sobre o [PM2](https://pm2.keymetrics.io/docs/usage/quick-start/) (em inglês). Outra ferramenta útil para seus logs é o [pm2-logrotate](https://github.com/keymetrics/pm2-logrotate) (em inglês).
O parâmetro `-r` do hbbs é opcional, serve apenas para sua conveniência para não precisar especificar um servidor relay no lado do cliente controlado. Você não precisa especificar a porta se estiver usando a porta padrão **21117**. O servidor relay especificado pelo cliente tem prioridade sobre esta opção.
{{% /notice %}}
#### Portas

View File

@ -32,14 +32,14 @@ weight: 10
Запустите hbbs/hbbr на вашем сервере (Centos или Ubuntu). Мы рекомендуем использовать [pm2](https://pm2.keymetrics.io/) для управления службами.
```
./hbbs -r <IP-адрес ретранслятора[:port]>
./hbbs
./hbbr
```
или запустите hbbs/hbbr при помощи pm2
```
pm2 start hbbs -- -r <IP-адрес ретранслятора[:port]>
pm2 start hbbs
pm2 start hbbr
```
@ -48,7 +48,6 @@ pm2 start hbbr
pm2 требует для себя nodejs v16+. Если не получится запустить pm2 (например, вы не видите hbbs/hbbr в `pm2 list`), установите последнюю LTS версию nodejs по ссылке https://nodejs.org. Если вы хотите чтобы hbbs/hbbr запускался вмести с системой, посмотрите `pm2 save` и `pm2 startup`. Подробности по ссылке: [pm2](https://pm2.keymetrics.io/docs/usage/quick-start/). Хороший инстурмет для записи логов: [pm2-logrotate](https://github.com/keymetrics/pm2-logrotate).
Параметр `-r` у hhbs не обязательный. Он необходим для автоподстановки адреса ретранслятора на стороне клиента. Адрес ретранслятора на стороне клиента имеет приоритет над адресом, указанным с ключом `-r`.
{{% /notice %}}
По умолчанию hbbs слушает порты 21115(tcp) и 21116(tcp/udp), 21118(tcp), hbbr слушает порты 21117(tcp) и 21119(tcp). Удостоверьтесь, что эти порты открыты на файрволле. **Обратите внимание: Порт 21116 должен быть открыт и как TCP и как UDP**. Порт 21115 используется для проверки типа NAT, 21116/UDP используется для регистрации и службы heartbeat, 21116/TCP используется для пробивания TCP отверстий и службы соединений, 21117 используется для службы ретранслятора, 21118 и 21119 используется для поддержки Web-клиентов. Если вам не нужны Web-клиент (21118, 21119) соответствующие порты можно отключить.
@ -62,7 +61,7 @@ pm2 требует для себя nodejs v16+. Если не получится
```
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 -td --net=host rustdesk/rustdesk-server hbbs -r <IP-адрес ретранслятора[:port]>
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr
```
@ -122,10 +121,4 @@ hbbs.example.com:21116
cat ./id_ed25519.pub
````
Если вы хотите запретить незашифрованные соединения, используйте параметр `-k _` для запуска hbbs и hbbr, например:
````
./hbbs -r <адрес ретранслятора[:port]> -k _
./hbbr -k _
````
Если вы хотите сменить ключ, удалите файлы `id_ed25519` и `id_ed25519.pub` и перезапустите hbbs/hbbrhbbs автоматически сгенерирует новую пару ключей.

View File

@ -30,14 +30,14 @@ Linux版本在Centos7构建在 Centos7/8Ubuntu 18/20上测试过Debian
在服务器上运行 hbbs/hbbr (Centos 或 Ubuntu)。建议使用[pm2](https://pm2.keymetrics.io/) 管理服务。
```
./hbbs -r <hbbr运行所在主机的地址[:port]>
./hbbs
./hbbr
```
或者使用 pm2 运行 hbbs/hbbr
```
pm2 start hbbs -- -r <relay-server-ip[:port]>
pm2 start hbbs
pm2 start hbbr
```
@ -46,7 +46,6 @@ pm2 start hbbr
`pm2` 需要 nodejs v16+,如果你运行 pm2 失败(例如在 `pm2 list` 中看不到 hbbs/hbbr请从 https://nodejs.org 下载并安装 LTS 版本的 nodejs。 如果你想让 hbbs/hbbr 在重启后自动运行,请查看 `pm2 save``pm2 startup`。 更多关于 [pm2](https://pm2.keymetrics.io/docs/usage/quick-start/)。另一个不错的日志工具是 [pm2-logrotate](https://github.com/keymetrics/pm2-logrotate)。
hhbs的`-r`参数不是必须的他只是方便你不用在客户端指定中继服务器如果是默认21117端口可以不填port。客户端指定的中继服务器优先级高于这个。
{{% /notice %}}
默认情况下hbbs 监听21115(tcp), 21116(tcp/udp), 21118(tcp)hbbr 监听21117(tcp), 21119(tcp)。务必在防火墙开启这几个端口, **请注意21116同时要开启TCP和UDP**。其中21115是hbbs用作NAT类型测试21116/UDP是hbbs用作ID注册与心跳服务21116/TCP是hbbs用作TCP打洞与连接服务21117是hbbr用作中继服务, 21118和21119是为了支持网页客户端。如果您不需要网页客户端2111821119支持对应端口可以不开。
@ -64,7 +63,7 @@ hhbs的`-r`参数不是必须的,他只是方便你不用在客户端指定中
```
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 -td --net=host rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr
```
@ -84,7 +83,7 @@ services:
- <hbbs_port>:21116 # 自定义 hbbs 映射端口
- <hbbs_port>:21116/udp # 自定义 hbbs 映射端口
image: rustdesk/rustdesk-server
command: hbbs -r <your_domain>:<hbbr_port> # 填入个人域名或 IP + hbbr 暴露端口
command: hbbs
volumes:
- <mount_path>:/root # 自定义挂载目录
networks:
@ -168,12 +167,6 @@ If there are invalid characters in the key which can not be used in file name, p
cat ./id_ed25519.pub
```
如果您禁止没有key的用户建立非加密连接请在运行hbbs和hbbr的时候添加`-k _ `参数,例如:
```
./hbbs -r <relay-server-ip[:port]> -k _
./hbbr -k _
```
如果要更改key请删除 `id_ed25519``id_ed25519.pub` 文件并重新启动 hbbs/hbbrhbbs将会产生新的密钥对。

View File

@ -30,14 +30,14 @@ Linux版本在Centos7構建在 Centos7/8Ubuntu 18/20上測試過Debian
在伺服器上運行 hbbs/hbbr (Centos 或 Ubuntu)。建議使用[pm2](https://pm2.keymetrics.io/) 管理服務。
```
./hbbs -r <hbbr運行所在主機的地址[:port]>
./hbbs
./hbbr
```
或者使用 pm2 運行 hbbs/hbbr
```
pm2 start hbbs -- -r <relay-server-ip[:port]>
pm2 start hbbs
pm2 start hbbr
```
@ -46,9 +46,6 @@ pm2 start hbbr
`pm2` 需要 nodejs v16+,如果你運行 pm2 失敗(例如在 `pm2 list` 中看不到 hbbs/hbbr請從 https://nodejs.org 下載並安裝 LTS 版本的 nodejs。如果你想讓 hbbs/hbbr 在重啟後自動運行,請查看 `pm2 save``pm2 startup`。更多關於 [pm2](https://pm2.keymetrics.io/docs/usage/quick-start/)。另一個不錯的日誌工具是 [pm2-logrotate](https://github.com/keymetrics/pm2-logrotate)。
hhbs的`-r`參數不是必須的,他只是方便你不用在客戶端指定中繼伺服器。客戶端指定的中繼伺服器優先級高於這個。
{{% /notice %}}
默認情況下hbbs 監聽21115(tcp), 21116(tcp/udp), 21118(tcp)hbbr 監聽21117(tcp), 21119(tcp)。務必在防火牆開啟這幾個端口, **請注意21116同時要開啟TCP和UDP**。其中21115是hbbs用作NAT類型測試21116/UDP是hbbs用作ID註冊與心跳服務21116/TCP是hbbs用作TCP打洞與連接服務21117是hbbr用作中繼服務, 21118和21119是為了支持網頁客戶端。如果您不需要網頁客戶端2111821119支持對應端口可以不開。
@ -61,7 +58,7 @@ hhbs的`-r`參數不是必須的,他只是方便你不用在客戶端指定中
#### Docker示範
```
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 -td --net=host rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr
```
@ -118,11 +115,5 @@ If there are invalid characters in the key which can not be used in file name, p
```
cat ./id_ed25519.pub
```
如果您禁止沒有key的用戶建立非加密連接請在運行hbbs和hbbr的時候添加`-k _ `參數,例如:
```
./hbbs -r <relay-server-ip[:port]> -k _
./hbbr -k _
```
如果要更改key請刪除 `id_ed25519``id_ed25519.pub` 文件並重新啟動 hbbs/hbbrhbbs將會產生新的密鑰對。

View File

@ -3,8 +3,8 @@ title: Synology
weight: 22
---
Synology has two types of Docker, "Docker" and "Container Manager". If you're using DSM 7.2 and later, please follow the guide for DSM 7.2, or follow the DSM 6 guide if you're on older system.
Synology has two types of Docker, "Docker" and "Container Manager". If you're using DSM 7.2 and later, please follow the guide for DSM 7.2, or follow the DSM 6 guide if you're on an older system.
If you are using Synology with Portainer, please check [this tutorial](https://mariushosting.com/how-to-install-rustdesk-on-your-synology-nas/).
If you are using Synology with Portainer, please refer to [this tutorial](https://mariushosting.com/how-to-install-rustdesk-on-your-synology-nas/).
{{% children depth="3" showhidden="true" %}}

View File

@ -50,7 +50,7 @@ Das Betriebssystem von Synology basiert auf Debian, daher funktioniert das Hostn
{{% /notice %}}
![](images/hbbs-cmd.png?v2)
![](images/hbbs-cmd.png?v3)
- Fertig

View File

@ -46,11 +46,9 @@ Click on above `Advanced Settings`.
{{% notice note %}}
Synology's OS is Debian based, so host net (--net=host) works fine, we do not need to map ports with `-p` option.
`192.168.16.98` is an internal IP used here for demonstration only, please set it to a public IP when you deploy (or you can use your DDNS address if you have configured one in "Control Panel → Connectivity → DDNS") and don't forget to open ports on your router and your Synology firewall if this is enabled ("Control Panel → Connectivity → Firewall")!
{{% /notice %}}
![](images/hbbs-cmd.png?v2)
![](images/hbbs-cmd.png?v3)
- Done
@ -58,7 +56,7 @@ Synology's OS is Debian based, so host net (--net=host) works fine, we do not ne
### Create hbbr container
Please repeat above `hbbs` steps, but name the container `hbbr` and command (for Set Command Step) should be `hbbr -k _`.
Please repeat above `hbbs` steps, but name the container `hbbr` and command (for Set Command Step) should be `hbbr`.
![](images/hbbr-config.png)

View File

@ -47,7 +47,7 @@ Synology OS está basado en Debian, os host net (--net=host) funciona bien, no n
{{% /notice %}}
![](images/hbbs-cmd.png?v2)
![](images/hbbs-cmd.png?v3)
- Hecho

View File

@ -47,7 +47,7 @@ Le système d'exploitation Synology est basé sur Debian. La configuration sur r
{{% /notice %}}
![](images/hbbs-cmd.png?v2)
![](images/hbbs-cmd.png?v3)
- Terminé

View File

@ -47,7 +47,7 @@ Synology の OS は Debian ベースなのでホストネット (--net=host) は
{{% /notice %}}
![](images/hbbs-cmd.png?v2)
![](images/hbbs-cmd.png?v3)
- 完了

View File

@ -47,7 +47,7 @@ Het OS van Synology is gebaseerd op Debian, dus host net (--net=host) werkt prim
{{% /notice %}}
![](images/hbbs-cmd.png?v2)
![](images/hbbs-cmd.png?v3)
- Klaar

View File

@ -47,7 +47,7 @@ weight: 22
{{% /notice %}}
![](images/hbbs-cmd.png?v2)
![](images/hbbs-cmd.png?v3)
- Готово

View File

@ -48,7 +48,7 @@ Synology 的操作系统是基于 Debian 的因此host net (--net=host) 可
{{% /notice %}}
![](images/hbbs-cmd.png?v2)
![](images/hbbs-cmd.png?v3)
- 搞定

View File

@ -47,7 +47,7 @@ weight: 22
{{% /notice %}}
![](images/hbbs-cmd.png?v2)
![](images/hbbs-cmd.png?v3)
- 搞定

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View File

@ -28,20 +28,20 @@ Nach der Installation von "Container Manager" wird ein gemeinsamer Ordner `docke
Öffnen Sie Ihren Container Manager, gehen Sie zu Project und klicken Sie auf Create.
Geben Sie den Projektnamen `rustdesk-server` ein, ändern Sie Source von "Upload compose.yml" zu "Create compose.yml" und kopieren Sie den folgenden Inhalt in das Feld. Danach sollten Sie `rustdesk.example.com` (die auf Ihre `hbbr` verweist) durch die Domain ersetzen, die auf Ihr NAS verweist.
Geben Sie den Projektnamen `rustdesk-server` ein, ändern Sie Source von "Upload compose.yml" zu "Create compose.yml" und kopieren Sie den folgenden Inhalt in das Feld.
{{% notice note %}}
Sie könnten die Zeile mit `hbbs` vorübergehend in die LAN-IP Ihres NAS ändern, wie auf dem Bild gelb markiert zu sehen. Nachdem Sie sich vergewissert haben, dass Ihr Server funktioniert, **sollten** Sie die Änderung zurücknehmen.
{{% /notice %}}
![](images/dsm7_creating_project_init.png)
![](images/dsm7_creating_project_init.png?v2)
```yaml
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs -r rustdesk.example.com:21117 -k _
command: hbbs
volumes:
- ./data:/root
network_mode: host
@ -52,7 +52,7 @@ services:
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr -k _
command: hbbr
volumes:
- ./data:/root
network_mode: host
@ -89,7 +89,7 @@ Wenn Sie Ihren `hbbs`-Befehl so eingestellt haben, dass er auf Ihre LAN-IP verwe
5.2. Nach dem Stoppen klicken Sie auf "YAML Configurations", ändern Sie die Zeile, die mit `command: hbbs` beginnt, in Ihre Domäne und klicken Sie dann auf "Save". Stellen Sie sicher, dass Sie "Build and start the project (rebuild the image)" wählen.
![](images/dsm7_recreate_project_after_modified_args.png)
![](images/dsm7_recreate_project_after_modified_args.png?v2)
5.3. Ihr RustDesk-Server sollte für Verbindungen aus dem Internet bereit sein, als nächstes sollten Sie eine Portweiterleitung einrichten.

View File

@ -28,20 +28,20 @@ Open your File Station, create a folder named `rustdesk-server`(or whatever you
Open your Container Manager, go to Project and click Create.
Enter the project name `rustdesk-server` and change Source from "Upload compose.yml" to "Create compose.yml", and copy following contents to the box. After you copied, you should replace `rustdesk.example.com` (Which point to your `hbbr`) to the domain that will point to your NAS.
Enter the project name `rustdesk-server` and change Source from "Upload compose.yml" to "Create compose.yml", and copy following contents to the box.
{{% notice note %}}
You could modify the line with `hbbs` to your NAS's LAN IP temporarily just like the picture. After you verify your server is working, you **should** change back.
{{% /notice %}}
![](images/dsm7_creating_project_init.png)
![](images/dsm7_creating_project_init.png?v2)
```yaml
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest # Please change this to rustdesk/rustdesk-server-pro:latest if you want to install Pro.
command: hbbs -r rustdesk.example.com:21117 -k _
command: hbbs
volumes:
- ./data:/root
network_mode: host
@ -52,7 +52,7 @@ services:
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest # Please change this to rustdesk/rustdesk-server-pro:latest if you want to install Pro.
command: hbbr -k _
command: hbbr
volumes:
- ./data:/root
network_mode: host
@ -89,7 +89,7 @@ If you have set your `hbbs` command to point to your LAN IP, and verified it is
5.2. After stopped, click "YAML Configurations", modify the line start with `command: hbbs` to your domain, then click "Save". Make sure you choose "Build and start the project (rebuild the image)".
![](images/dsm7_recreate_project_after_modified_args.png)
![](images/dsm7_recreate_project_after_modified_args.png?v2)
5.3. Your RustDesk Server should ready for connections from the Internet, next, you should setup port forwarding.

View File

@ -26,20 +26,20 @@ Container Manager 為部分低階的 ARM64 的機型帶來支援,例如 j 系
打開您的 Container Manager前往專案並點擊新增。
輸入您的專案名稱 `rustdesk-server` 然後變更來源從"上傳 compose.yml" 至 "建立 compose.yml",接著複製下方內容到框框,在您複製貼上後,您應該將 `rustdesk.example.com` (它該指向到您的 `hbbr`) 改為會指向至您NAS的網域
輸入您的專案名稱 `rustdesk-server` 然後變更來源從"上傳 compose.yml" 至 "建立 compose.yml",接著複製下方內容到框框。
{{% notice note %}}
如圖所示,您可以暫時將 `hbbs` 那行改為指向至您的NAS的 LAN IP在您驗證您的伺服器可以正常運作後您**應當**變更回來。
{{% /notice %}}
![](images/dsm7_creating_project_init.png)
![](images/dsm7_creating_project_init.png?v2)
````yaml
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs -r rustdesk.example.com:21117 -k _
command: hbbs
volumes:
- ./data:/root
network_mode: host
@ -50,7 +50,7 @@ services:
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr -k _
command: hbbr
volumes:
- ./data:/root
network_mode: host
@ -86,7 +86,7 @@ services:
5.2 在停止之後,點擊 "YAML 設定",修改開始為 `command: hbbs` 的那一行至您的網域,接著點擊 "停止",請確保您選擇了 "建立並啟動專案(重建映像檔)"
![](images/dsm7_recreate_project_after_modified_args.png)
![](images/dsm7_recreate_project_after_modified_args.png?v2)
5.3 您的 RustDesk 伺服器應該可接受來自網際網路的連線了,接著,您應該設定 port forwarding (通訊埠轉發)。
@ -104,4 +104,4 @@ services:
* `21115` `TCP` NAT 類型測試
* `21116` `TCP` TCP 打洞
* `21116` `UDP` 心跳/ID 伺服器
* `21117` `TCP` Relay/中繼
* `21117` `TCP` Relay/中繼

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 322 KiB

After

Width:  |  Height:  |  Size: 217 KiB

View File

@ -177,8 +177,6 @@ Klicken Sie mit der rechten Maustaste auf den Ordner `rustdesk-server` und erste
Fügen Sie dies in `compose.yml` ein.
Nach dem Kopieren sollten Sie `rustdesk.example.com` (die auf Ihr `hbbr` verweist) durch die Domäne ersetzen, die auf Ihren Server verweist.
{{% notice note %}}
Sie könnten die Zeile mit `hbbs` vorübergehend in die LAN-IP Ihres Servers ändern (wenn Sie in Ihrem LAN arbeiten), um sicherzustellen, dass er funktioniert. Nachdem Sie sich vergewissert haben, dass Ihr Server funktioniert, **sollten** Sie die Änderung zurücknehmen.
{{% /notice %}}
@ -192,7 +190,7 @@ services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs -r rustdesk.example.com:21117
command: hbbs
volumes:
- ./data:/root
network_mode: host

View File

@ -177,8 +177,6 @@ Right click `rustdesk-server` folder, create new file named `compose.yml`.
Paste this to `compose.yml`.
After you copied, you should replace `rustdesk.example.com` (Which point to your `hbbr`) to the domain that will point to your server.
{{% notice note %}}
You could modify the line with `hbbs` to your server's LAN IP temporarily (If you're deploying in your LAN) to ensure it is working. After you verify your server is working, you **should** change back.
{{% /notice %}}
@ -192,7 +190,7 @@ services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs -r rustdesk.example.com:21117
command: hbbs
volumes:
- ./data:/root
network_mode: host

View File

@ -20,7 +20,7 @@ pm2-startup install
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 hbbs.exe
pm2 start hbbr.exe
pm2 save
```
@ -29,4 +29,4 @@ pm2 save
```
pm2 log hbbr
pm2 log hbbs
```
```

View File

@ -21,7 +21,7 @@ Téléchargez la version Windows du [programme serveur](https://github.com/rustd
```
cd c:\rustdesk-server-windows-x64
pm2 start hbbr.exe
pm2 start hbbs.exe -- -r <L'adresse de l'hôte sur lequel hbbr est exécuté>
pm2 start hbbs.exe
pm2 save
```
@ -29,4 +29,4 @@ pm2 save
```
pm2 log hbbr
pm2 log hbbs
```
```

View File

@ -20,7 +20,7 @@ pm2-startup install
Windows版のサーバープログラムをダウンロードします。Cドライブに解凍するのであれば以下の4行のコマンドをそれぞれ実行します。
```
cd c:\rustdesk-server-windows-x64
pm2 start hbbs.exe -- -r <The address of the host where hbbr is running>
pm2 start hbbs.exe
pm2 start hbbr.exe
pm2 save
```
@ -29,4 +29,4 @@ pm2 save
```
pm2 log hbbr
pm2 log hbbs
```
```

View File

@ -43,15 +43,14 @@ het niet verandert nadat de service is ingesteld). Ga nu terug naar de Command p
In dit voorbeeld gebruiken we `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 _
nssm install "RustDesk hbbs service" "C:\Program Files\RustDesk Server\hbbs.exe"
nssm install "RustDesk hbbr Service" "C:\Program Files\RustDesk Server\hbbr.exe"
```
**Merk op:**
- U kunt `RustDesk hbbs service` wijzigen in wat u wenst om de service hbbs te benoemen
- U kunt `RustDesk hbbr service` aanpassen in wat u wenst om hbbr de service te noemen.
- U kunt `C:\Program Files\RustDesk Server\hbbs.exe` veranderen naar waar u de rustdesk bestanden heeft geplaatst.
- U kunt `C:\Program Files\RustDesk Serverhbbr.exe` veranderen naar waar u de rustdesk bestanden hebt geplaatst
- U hebt de optie `-k _` niet nodig, die is optioneel, het is alleen voor een betere beveiliging
**Commando-sjablonen:**
@ -95,11 +94,11 @@ pm2-startup install
### Voer hbbr en hbbs uit
Download de Windows-versie van het [serverprogramma] (https://github.com/rustdesk/rustdesk-server/releases). Unzip het programma naar de C: drive. Voer de volgende vier commando's uit (let op de `-r` parameter):
Download de Windows-versie van het [serverprogramma] (https://github.com/rustdesk/rustdesk-server/releases). Unzip het programma naar de C: drive. Voer de volgende vier commando's uit:
```cmd
cd c:\rustdesk-server-windows-x64
pm2 start hbbs.exe -- -r <De host waar hbbr draait>
pm2 start hbbs.exe
pm2 start hbbr.exe
pm2 save
```

View File

@ -22,7 +22,7 @@ pm2-startup install
В консоли (cmd, PowerShell, и т.п.) используйте команды:
```
cd <каталог с распакованными файлами сервера>
pm2 start hbbs.exe -- -r <адрес ретранслятора>
pm2 start hbbs.exe
pm2 start hbbr.exe
pm2 save
```

View File

@ -44,8 +44,8 @@ win64 文件夹的内容)。 将 NSSM 的二进制文件移至
在此示例中,我们将使用`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 _
nssm install "RustDesk hbbs service" "C:\Program Files\RustDesk Server\hbbs.exe"
nssm install "RustDesk hbbr Service" "C:\Program Files\RustDesk Server\hbbr.exe"
```
**笔记:**
@ -53,7 +53,6 @@ nssm install "RustDesk hbbr Service" "C:\Program Files\RustDesk Server\hbbr.exe"
- 您可以将`RustDesk hbbr 服务`更改为您想要将 hbbr 服务命名为任何名称
- 您可以将 `C:\Program Files\RustDesk Server\hbbs.exe` 更改为放置 RustDesk 二进制文件的位置
- 您可以将 `C:\Program Files\RustDesk Server\hbbr.exe` 更改为放置 RustDesk 二进制文件的位置
- 你不需要`-k _`选项,它是可选的,它只是为了更好的安全性
**命令模板:**
@ -96,7 +95,7 @@ pm2-startup install
下载Windows版本[服务器程序](https://github.com/rustdesk/rustdesk-server/releases)假设你解压缩到了C盘下。分别运行下面四行命令。
```
cd c:\rustdesk-server-windows-x64
pm2 start hbbs.exe -- -r hbbr运行所在主机的地址
pm2 start hbbs.exe
pm2 start hbbr.exe
pm2 save
```

View File

@ -38,15 +38,14 @@ Windows 安全政策較為複雜,如果這份教程對您不適用,或您遇
我們將在範例中使用 `C:\Program Files\RustDesk Server`
```cmd
nssm install "RustDesk hbbs service" "C:\Program Files\RustDesk Server\hbbs.exe" -k _
nssm install "RustDesk hbbr service" "C:\Program Files\RustDesk Server\hbbr.exe" -k _
nssm install "RustDesk hbbs service" "C:\Program Files\RustDesk Server\hbbs.exe"
nssm install "RustDesk hbbr service" "C:\Program Files\RustDesk Server\hbbr.exe"
```
**注意:**
- 您可以將 `RustDesk hbbs service` 改為任何您希望命名 hbbs 的服務名稱。
- 您可以將 `RustDesk hbbr service` 改為任何您希望命名 hbbr 的服務名稱。
- 您可以將 `C:\Program Files\RustDesk Server\hbbs.exe` 改為 RustDesk 執行檔所在的位置。
- 您可以將 `C:\Program Files\RustDesk Server\hbbr.exe` 改為 RustDesk 執行檔所在的位置。
- 您不需要使用 `-k _` 選項,這是可選的,只是為了更好的安全性。在 `Pro` 版本中,請忽略 `-k _`,它是隱含應用的。
**指令範例:**

View File

@ -46,10 +46,7 @@ Vergessen Sie nicht, Ihre Lizenz unter [https://rustdesk.com/pricing.html](https
#### Manuelle Installation
Fast dasselbe wie die [Open-Source-Version](https://rustdesk.com/docs/de/self-host/rustdesk-server-oss/install/), aber Sie müssen hbbs/hbbr nicht mit irgendwelchen Argumenten ausführen. Diese können später in der Webkonsole eingestellt werden.
- `-k _` ist standardmäßig eingestellt
- `-r <server:host>` wird nicht mehr benötigt, wenn der Relay-Server auf demselben Rechner wie hbbs läuft. Sie können in der Webkonsole mehrere Relay-Server einstellen.
Fast dasselbe wie die [Open-Source-Version](https://rustdesk.com/docs/de/self-host/rustdesk-server-oss/install/), sondern verwenden Sie die Pro-Version der Software.
#### Erforderliche Ports

View File

@ -6,6 +6,7 @@ pre: "<b>2.2. </b>"
RustDesk Server Pro has more features compared to the open source version.
- Account
- No concurrent connection limit, aka no limit of simultaneous connections (OSS version has no limit either, but TeamViewer etc. have this limit)
- [Web console](https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/console/)
- API
@ -59,10 +60,7 @@ Don't forget to get your license from [https://rustdesk.com/pricing.html](https:
#### Manual Installation
Almost the same as [the open source version](https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/), but you do not need to run hbbs/hbbr with any arguments. These can be set later in web console.
- `-k _` is set by default
- `-r <server:host>` is not needed any more if the relay server runs on the same machine with hbbs, and you can set multiple relay servers in the web console
Almost the same as [the open source version](https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/), but please use the `Pro` version of the software.
#### Docker Installation

View File

@ -41,10 +41,7 @@ Non dimenticare di prendere la tua licenza da [https://rustdesk.com/pricing.html
#### Installazione Manuale
L' installazione è simile alla [versione opensource](https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/), ma non è necessario eseguire hbbs/hbbr con alcun argomento. Possono essere inseriti in seguito dalla console web.
- `-k _` è impostato di default
- `-r <server:host>` non è più necessario se il server relay è eseguito sulla stessa macchina tramite hbbs, in seguito possono essere impostati relay multipli dalla console web.
L' installazione è simile alla [versione opensource](https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/), ma ti preghiamo di utilizzare la versione Pro del software.
#### Porte Richieste
@ -53,4 +50,4 @@ Sono necessarie le porte TCP `21114-21119` e UDP `21116`, assicurati che queste
{{% notice note %}}
E' consigliato utilizzare un proxy come Nginx per utilizzare HTTPS, questo richiede che la porta `443` venga aperta.
{{% /notice %}}
{{% /notice %}}

View File

@ -59,10 +59,7 @@ Você pode obter a licença em [https://rustdesk.com/pricing.html](https://rustd
### Instalação manual
É quase idêntica à versão [gratuita](https://rustdesk.com/docs/pt/self-host/rustdesk-server-oss/install/), mas você não precisa executar hbbs/hbbr com nenhum argumento. Eles podem ser definidos posteriormente no console web.
- `-k _` é definido por padrão.
- `-r <servidor:host>` não é mais necessário se o servidor de retransmissão estiver executando na mesma máquina que o hbbs, e você pode definir vários servidores de retransmissão no console web.
É quase idêntica à versão [gratuita](https://rustdesk.com/docs/pt/self-host/rustdesk-server-oss/install/), mas utilize a versão Pro do software.
#### Instalação Docker

View File

@ -34,10 +34,7 @@ weight: 100
### 手动安装
几乎与[开源版本](/docs/zh-cn/self-host/install/)相同,但您在执行 hbbs/hbbr 时不需加上任何参数,全部都能在网页控制台中设定。
- `-k _` 预设设定
- `-r <server:host>` 如果中继服务器跟 hbbs 在同一台服务器执行,便不需要加上此参数。且您可以在网页控制台设置多台中继服务器。
几乎与[开源版本](/docs/zh-cn/self-host/install/)相同,只是注意换成`Pro`版本的软件。
### 额外端口 (或使用 Proxy)

View File

@ -34,10 +34,7 @@ weight: 100
### 手動安裝
幾乎與[開源版本](/docs/zh-tw/self-host/install/)相同,但您在執行 hbbs/hbbr 時不需加上任何參數,全部都能在網頁控制台中設定。
- `-k _` 預設設定
- `-r <server:host>` 如果中繼伺服器跟 hbbs 在同一台伺服器執行,便不需要加上此參數。且您可以在網頁控制台設置多台中繼伺服器。
幾乎與[開源版本](/docs/zh-tw/self-host/install/)相同,只是注意換成`Pro`版本的軟體。
### 額外連接埠 (或使用 Proxy)

View File

@ -134,11 +134,6 @@ Your mail server may not be using port 25. Please make sure you are using the co
### Can I deploy RustDesk using PowerShell or similar?
Sure, you can find scripts to aid deployment [here](https://rustdesk.com/docs/en/self-host/client-deployment/).
### I have installed RustDesk Server Pro manually but the API web console isn't behind SSL, how can I secure this?
Use a proxy like Nginx, the simple install script has one, it's really simple. [This is how we do it](https://github.com/rustdesk/rustdesk-server-pro/blob/493ad90daf8815c3052ff4d0d4aa9cc07e411efa/install.sh#L252).
Similar configs should work with Traefik v2, HAProxy, Apache Proxy and Cloudflare Tunnel.
### How can I file a bug report?
Please file via [GitHub](https://github.com/rustdesk/rustdesk-server-pro/issues).
@ -263,7 +258,7 @@ There are two ways:
```sh
cat > /etc/nginx/sites-available/rustdesk.conf << EOF
server {
server_name <YOUR_DOMAIN>;
server_name <YOUR_DOMAIN>;
location / {
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
@ -280,7 +275,7 @@ Run `cat /etc/nginx/sites-available/rustdesk.conf` to make sure its content is c
```sh
cat > /etc/nginx/conf.d/rustdesk.conf << EOF
server {
server_name <YOUR_DOMAIN>;
server_name <YOUR_DOMAIN>;
location / {
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
@ -302,15 +297,15 @@ sudo ufw --force reload
```
#### 6. Generate SSL certificate
Replace `<YOUR_DOMAIN>` with your domain name, then run
`sudo certbot --nginx --cert-name <YOUR_DOMAIN> --key-type ecdsa --renew-by-default --no-eff-email --agree-tos --server https://acme-v02.api.letsencrypt.org/directory -d <YOUR_DOMAIN>`.
Replace `$YOUR_DOMAIN` with your domain name, then run
`sudo certbot --nginx --cert-name $YOUR_DOMAIN --key-type ecdsa --renew-by-default --no-eff-email --agree-tos --server https://acme-v02.api.letsencrypt.org/directory -d $YOUR_DOMAIN`.
If it prompts `Enter email address (used for urgent renewal and security notices)`, enter your email address.
Finally, the content of `rustdesk.conf` should be like this:
```
server {
server_name <YOUR_DOMAIN>;
server_name <YOUR_DOMAIN>;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@ -322,17 +317,16 @@ server_name <YOUR_DOMAIN>;
ssl_certificate_key /etc/letsencrypt/live/<YOUR_DOMAIN>/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = <YOUR_DOMAIN>) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name <YOUR_DOMAIN>;
server_name <YOUR_DOMAIN>;
listen 80;
return 404; # managed by Certbot
}
```
@ -363,7 +357,109 @@ Solution: it may be caused by firewall, please refer to https://rustdesk.com/doc
Notice: Run `sudo service nginx restart` if you change the `rustdesk.conf` manually.
#### 7. Login to the web page
* Open https://<YOUR_DOMAIN> in the browser, log in using the default user name "admin" and password "test1234", then change the password to your own.
* Open `https://<YOUR_DOMAIN>` in the browser, log in using the default user name "admin" and password "test1234", then change the password to your own.
#### 8. Add WebSocket Secure (WSS) support for the id server and relay server to enable secure communication for the web client.
Add the following configuration to the first `server` section of the `/etc/nginx/.../rustdesk.conf` file, then restart the `Nginx` service.
```
location /ws/id {
proxy_pass http://localhost:21118;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /ws/relay {
proxy_pass http://localhost:21119;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
```
The full configuration is
```
server {
server_name <YOUR_DOMAIN>;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:21114/;
}
location /ws/id {
proxy_pass http://localhost:21118;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /ws/relay {
proxy_pass http://localhost:21119;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/<YOUR_DOMAIN>/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/<YOUR_DOMAIN>/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = <YOUR_DOMAIN>) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name <YOUR_DOMAIN>;
listen 80;
return 404; # managed by Certbot
}
```
#### 9. Log in to your server from RustDesk public web client at `https://rustdesk.com/web`.
You need to add below in the `location /` section of the `/etc/nginx/.../rustdesk.conf` to bypass CORS limitation of browsers.
```
if ($http_origin ~* (https?://(www\.)?rustdesk\.com)) {
add_header 'Access-Control-Allow-Origin' "$http_origin" always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, PATCH, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Origin, Content-Type, Accept, Authorization' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
}
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' "$http_origin" always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, PATCH, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Origin, Content-Type, Accept, Authorization' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
add_header 'Content-Length' 0;
add_header 'Content-Type' 'text/plain charset=UTF-8';
return 204;
}
```
### SELinux

View File

@ -5,3 +5,7 @@ weight: 16
- Use your existing `Google`, `Okta`, `Facebook`, `Azure`, `GitHub`, `GitLab`, etc. accounts to easily create and log in to your `RustDesk Pro` account.
- For the specification see [OpenID Connect Core 1.0 incorporating errata set 1](https://openid.net/specs/openid-connect-core-1_0.html).
# Examples
{{% children depth="4" showhidden="true" %}}

View File

@ -376,7 +376,7 @@ label {
<div>Our Self-hosting Plans</div>
</a>
<a data-w-tab="Tab 2" class="uui-pricing08_tab-link w-inline-block w-tab-link">
<div>Bigger Plans &amp; 3rd-Party Hosting & Help</div>
<div>Bigger Plans &amp Help</div>
</a>
</div>
<div class="uui-pricing08_tab-content w-tab-content">

12
v3/.editorconfig Normal file
View File

@ -0,0 +1,12 @@
# https://EditorConfig.org
# top-most EditorConfig file
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = false

41
v3/.github/workflows/actions.yaml vendored Normal file
View File

@ -0,0 +1,41 @@
name: GitHub Actions
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version:
- 18
- 20
- 22
steps:
- uses: actions/checkout@v4
- name: Use Node.js v${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
- run: npm ci
- run: npm run build
# - run: npm test
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run check

24
v3/.gitignore vendored Normal file
View File

@ -0,0 +1,24 @@
# build output
dist/
.output/
# dependencies
node_modules/
# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# environment variables
.env
.env.production
# macOS-specific files
.DS_Store
pnpm-lock.yaml
.astro

2
v3/.npmrc Normal file
View File

@ -0,0 +1,2 @@
# Expose Astro dependencies for `pnpm` users
shamefully-hoist=true

4
v3/.prettierignore Normal file
View File

@ -0,0 +1,4 @@
dist
node_modules
.github
.changeset

13
v3/.prettierrc.cjs Normal file
View File

@ -0,0 +1,13 @@
/** @type {import('prettier').Config} */
module.exports = {
printWidth: 120,
semi: true,
singleQuote: true,
tabWidth: 2,
trailingComma: 'es5',
useTabs: false,
plugins: [require.resolve('prettier-plugin-astro')],
overrides: [{ files: '*.astro', options: { parser: 'astro' } }],
};

6
v3/.stackblitzrc Normal file
View File

@ -0,0 +1,6 @@
{
"startCommand": "npm start",
"env": {
"ENABLE_CJS_IMPORTS": true
}
}

275
v3/.vscode/astrowind/config-schema.json vendored Normal file
View File

@ -0,0 +1,275 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"site": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"site": {
"type": "string"
},
"base": {
"type": "string"
},
"trailingSlash": {
"type": "boolean"
},
"googleSiteVerificationId": {
"type": "string"
}
},
"required": ["name", "site", "base", "trailingSlash"],
"additionalProperties": false
},
"metadata": {
"type": "object",
"properties": {
"title": {
"type": "object",
"properties": {
"default": {
"type": "string"
},
"template": {
"type": "string"
}
},
"required": ["default", "template"]
},
"description": {
"type": "string"
},
"robots": {
"type": "object",
"properties": {
"index": {
"type": "boolean"
},
"follow": {
"type": "boolean"
}
},
"required": ["index", "follow"]
},
"openGraph": {
"type": "object",
"properties": {
"site_name": {
"type": "string"
},
"images": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"width": {
"type": "integer"
},
"height": {
"type": "integer"
}
},
"required": ["url", "width", "height"]
}
]
},
"type": {
"type": "string"
}
},
"required": ["site_name", "images", "type"]
},
"twitter": {
"type": "object",
"properties": {
"handle": {
"type": "string"
},
"site": {
"type": "string"
},
"cardType": {
"type": "string"
}
},
"required": ["handle", "site", "cardType"]
}
},
"required": ["title", "description", "robots", "openGraph", "twitter"]
},
"i18n": {
"type": "object",
"properties": {
"language": {
"type": "string"
},
"textDirection": {
"type": "string"
}
},
"required": ["language", "textDirection"]
},
"apps": {
"type": "object",
"properties": {
"blog": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"postsPerPage": {
"type": "integer"
},
"isRelatedPostsEnabled": {
"type": "boolean"
},
"relatedPostsCount": {
"type": "integer"
},
"post": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"permalink": {
"type": "string"
},
"robots": {
"type": "object",
"properties": {
"index": {
"type": "boolean"
},
"follow": {
"type": "boolean"
}
},
"required": ["index"]
}
},
"required": ["isEnabled", "permalink", "robots"]
},
"list": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"pathname": {
"type": "string"
},
"robots": {
"type": "object",
"properties": {
"index": {
"type": "boolean"
},
"follow": {
"type": "boolean"
}
},
"required": ["index"]
}
},
"required": ["isEnabled", "pathname", "robots"]
},
"category": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"pathname": {
"type": "string"
},
"robots": {
"type": "object",
"properties": {
"index": {
"type": "boolean"
},
"follow": {
"type": "boolean"
}
},
"required": ["index"]
}
},
"required": ["isEnabled", "pathname", "robots"]
},
"tag": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean"
},
"pathname": {
"type": "string"
},
"robots": {
"type": "object",
"properties": {
"index": {
"type": "boolean"
},
"follow": {
"type": "boolean"
}
},
"required": ["index"]
}
},
"required": ["isEnabled", "pathname", "robots"]
}
},
"required": ["isEnabled", "postsPerPage", "post", "list", "category", "tag"]
}
},
"required": ["blog"]
},
"analytics": {
"type": "object",
"properties": {
"vendors": {
"type": "object",
"properties": {
"googleAnalytics": {
"type": "object",
"properties": {
"id": {
"type": ["string", "null"]
},
"partytown": {
"type": "boolean",
"default": true
}
},
"required": ["id"]
}
},
"required": ["googleAnalytics"]
}
},
"required": ["vendors"]
},
"ui": {
"type": "object",
"properties": {
"theme": {
"type": "string"
}
},
"required": ["theme"]
}
},
"required": ["site", "metadata", "i18n", "apps", "analytics", "ui"]
}

10
v3/.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,10 @@
{
"recommendations": [
"astro-build.astro-vscode",
"bradlc.vscode-tailwindcss",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"unifiedjs.vscode-mdx"
],
"unwantedRecommendations": []
}

11
v3/.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,11 @@
{
"version": "0.2.0",
"configurations": [
{
"command": "./node_modules/.bin/astro dev",
"name": "Development server",
"request": "launch",
"type": "node-terminal"
}
]
}

15
v3/.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,15 @@
{
"css.customData": ["./vscode.tailwind.json"],
"eslint.validate": ["javascript", "javascriptreact", "astro", "typescript", "typescriptreact"],
"files.associations": {
"*.mdx": "markdown"
},
"prettier.documentSelectors": ["**/*.astro"],
"[astro]": {
"editor.defaultFormatter": "astro-build.astro-vscode"
},
"yaml.schemas": {
"./.vscode/astrowind/config-schema.json": "/src/config.yaml"
},
"eslint.useFlatConfig": true
}

21
v3/LICENSE.md Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 onWidget
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

295
v3/README.md Normal file
View File

@ -0,0 +1,295 @@
# 🚀 AstroWind
<img src="https://raw.githubusercontent.com/onwidget/.github/main/resources/astrowind/lighthouse-score.png" align="right"
alt="AstroWind Lighthouse Score" width="100" height="358">
🌟 _Most *starred* & *forked* Astro theme in 2022 & 2023_. 🌟
**AstroWind** is a free and open-source template to make your website using **[Astro 4.0](https://astro.build/) + [Tailwind CSS](https://tailwindcss.com/)**. Ready to start a new project and designed taking into account web best practices.
- ✅ **Production-ready** scores in **PageSpeed Insights** reports.
- ✅ Integration with **Tailwind CSS** supporting **Dark mode** and **_RTL_**.
- ✅ **Fast and SEO friendly blog** with automatic **RSS feed**, **MDX** support, **Categories & Tags**, **Social Share**, ...
- ✅ **Image Optimization** (using new **Astro Assets** and **Unpic** for Universal image CDN).
- ✅ Generation of **project sitemap** based on your routes.
- ✅ **Open Graph tags** for social media sharing.
- ✅ **Analytics** built-in Google Analytics, and Splitbee integration.
<br>
<img src="https://raw.githubusercontent.com/onwidget/.github/main/resources/astrowind/screenshot-astrowind-1.png" alt="AstroWind Theme Screenshot">
[![onWidget](https://custom-icon-badges.demolab.com/badge/made%20by%20-onWidget-556bf2?style=flat-square&logo=onwidget&logoColor=white&labelColor=101827)](https://onwidget.com)
[![License](https://img.shields.io/github/license/onwidget/astrowind?style=flat-square&color=dddddd&labelColor=000000)](https://github.com/onwidget/astrowind/blob/main/LICENSE.md)
[![Maintained](https://img.shields.io/badge/maintained%3F-yes-brightgreen.svg?style=flat-square)](https://github.com/onwidget)
[![Contributions Welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat-square)](https://github.com/onwidget/astrowind#contributing)
[![Known Vulnerabilities](https://snyk.io/test/github/onwidget/astrowind/badge.svg?style=flat-square)](https://snyk.io/test/github/onwidget/astrowind)
[![Stars](https://img.shields.io/github/stars/onwidget/astrowind.svg?style=social&label=stars&maxAge=86400&color=ff69b4)](https://github.com/onwidget/astrowind)
[![Forks](https://img.shields.io/github/forks/onwidget/astrowind.svg?style=social&label=forks&maxAge=86400&color=ff69b4)](https://github.com/onwidget/astrowind)
<br>
<details open>
<summary>Table of Contents</summary>
- [Demo](#demo)
- [Upcoming: AstroWind 2.0 We Need Your Vision!](#-upcoming-astrowind-20--we-need-your-vision)
- [Getting started](#getting-started)
- [Project structure](#project-structure)
- [Commands](#commands)
- [Configuration](#configuration)
- [Deploy](#deploy)
- [Frequently Asked Questions](#frequently-asked-questions)
- [Related Projects](#related-projects)
- [Contributing](#contributing)
- [Acknowledgements](#acknowledgements)
- [License](#license)
</details>
<br>
## Demo
📌 [https://astrowind.vercel.app/](https://astrowind.vercel.app/)
<br>
## 🔔 Upcoming: AstroWind 2.0 We Need Your Vision!
We're embarking on an exciting journey with **AstroWind 2.0**, and we want you to be a part of it! We're currently taking the first steps in developing this new version and your insights are invaluable. Join the discussion and share your feedback, ideas, and suggestions to help shape the future of **AstroWind**. Let's make **AstroWind 2.0** even better, together!
[Share Your Feedback in Our Discussion!](https://github.com/onwidget/astrowind/discussions/392)
<br>
## Getting started
**AstroWind** tries to give you quick access to creating a website using [Astro 4.0](https://astro.build/) + [Tailwind CSS](https://tailwindcss.com/). It's a free theme which focuses on simplicity, good practices and high performance.
Very little vanilla javascript is used only to provide basic functionality so that each developer decides which framework (React, Vue, Svelte, Solid JS...) to use and how to approach their goals.
In this version the template supports all the options in the `output` configuration, `static`, `hybrid` and `server`, but the blog only works with `prerender = true`. We are working on the next version and aim to make it fully compatible with SSR.
### Project structure
Inside **AstroWind** template, you'll see the following folders and files:
```
/
├── public/
│ ├── _headers
│ └── robots.txt
├── src/
│ ├── assets/
│ │ ├── favicons/
│ │ ├── images/
│ │ └── styles/
│ │ └── tailwind.css
│ ├── components/
│ │ ├── blog/
│ │ ├── common/
│ │ ├── ui/
│ │ ├── widgets/
│ │ │ ├── Header.astro
│ │ │ └── ...
│ │ ├── CustomStyles.astro
│ │ ├── Favicons.astro
│ │ └── Logo.astro
│ ├── content/
│ │ ├── post/
│ │ │ ├── post-slug-1.md
│ │ │ ├── post-slug-2.mdx
│ │ │ └── ...
│ │ └-- config.ts
│ ├── layouts/
│ │ ├── Layout.astro
│ │ ├── MarkdownLayout.astro
│ │ └── PageLayout.astro
│ ├── pages/
│ │ ├── [...blog]/
│ │ │ ├── [category]/
│ │ │ ├── [tag]/
│ │ │ ├── [...page].astro
│ │ │ └── index.astro
│ │ ├── index.astro
│ │ ├── 404.astro
│ │ ├-- rss.xml.ts
│ │ └── ...
│ ├── utils/
│ ├── config.yaml
│ └── navigation.js
├── package.json
├── astro.config.ts
└── ...
```
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
Any static assets, like images, can be placed in the `public/` directory if they do not require any transformation or in the `assets/` directory if they are imported directly.
[![Edit AstroWind on CodeSandbox](https://codesandbox.io/static/img/play-codesandbox.svg)](https://githubbox.com/onwidget/astrowind/tree/main) [![Open in Gitpod](https://svgshare.com/i/xdi.svg)](https://gitpod.io/?on=gitpod#https://github.com/onwidget/astrowind) [![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/onwidget/astrowind)
> 🧑‍🚀 **Seasoned astronaut?** Delete this file `README.md`. Update `src/config.yaml` and contents. Have fun!
<br>
### Commands
All commands are run from the root of the project, from a terminal:
| Command | Action |
| :-------------------- | :------------------------------------------------- |
| `npm install` | Installs dependencies |
| `npm run dev` | Starts local dev server at `localhost:3000` |
| `npm run build` | Build your production site to `./dist/` |
| `npm run preview` | Preview your build locally, before deploying |
| `npm run format` | Format codes with Prettier |
| `npm run lint:eslint` | Run Eslint |
| `npm run astro ...` | Run CLI commands like `astro add`, `astro preview` |
<br>
### Configuration
Basic configuration file: `./src/config.yaml`
```yaml
site:
name: 'Example'
site: 'https://example.com'
base: '/' # Change this if you need to deploy to Github Pages, for example
trailingSlash: false # Generate permalinks with or without "/" at the end
googleSiteVerificationId: false # Or some value,
# Default SEO metadata
metadata:
title:
default: 'Example'
template: '%s — Example'
description: 'This is the default meta description of Example website'
robots:
index: true
follow: true
openGraph:
site_name: 'Example'
images:
- url: '~/assets/images/default.png'
width: 1200
height: 628
type: website
twitter:
handle: '@twitter_user'
site: '@twitter_user'
cardType: summary_large_image
i18n:
language: en
textDirection: ltr
apps:
blog:
isEnabled: true # If the blog will be enabled
postsPerPage: 6 # Number of posts per page
post:
isEnabled: true
permalink: '/blog/%slug%' # Variables: %slug%, %year%, %month%, %day%, %hour%, %minute%, %second%, %category%
robots:
index: true
list:
isEnabled: true
pathname: 'blog' # Blog main path, you can change this to "articles" (/articles)
robots:
index: true
category:
isEnabled: true
pathname: 'category' # Category main path /category/some-category, you can change this to "group" (/group/some-category)
robots:
index: true
tag:
isEnabled: true
pathname: 'tag' # Tag main path /tag/some-tag, you can change this to "topics" (/topics/some-category)
robots:
index: false
isRelatedPostsEnabled: true # If a widget with related posts is to be displayed below each post
relatedPostsCount: 4 # Number of related posts to display
analytics:
vendors:
googleAnalytics:
id: null # or "G-XXXXXXXXXX"
ui:
theme: 'system' # Values: "system" | "light" | "dark" | "light:only" | "dark:only"
```
<br>
#### Customize Design
To customize Font families, Colors or more Elements refer to the following files:
- `src/components/CustomStyles.astro`
- `src/assets/styles/tailwind.css`
### Deploy
#### Deploy to production (manual)
You can create an optimized production build with:
```shell
npm run build
```
Now, your website is ready to be deployed. All generated files are located at
`dist` folder, which you can deploy the folder to any hosting service you
prefer.
#### Deploy to Netlify
Clone this repository on your own GitHub account and deploy it to Netlify:
[![Netlify Deploy button](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/onwidget/astrowind)
#### Deploy to Vercel
Clone this repository on your own GitHub account and deploy to Vercel:
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fonwidget%2Fastrowind)
<br>
## Frequently Asked Questions
- Why?
-
-
<br>
## Related projects
- [TailNext](https://tailnext.vercel.app/) - Free template using Next.js 14 and Tailwind CSS with the new App Router.
- [Qwind](https://qwind.pages.dev/) - Free template to make your website using Qwik + Tailwind CSS.
## Contributing
If you have any ideas, suggestions or find any bugs, feel free to open a discussion, an issue or create a pull request.
That would be very useful for all of us and we would be happy to listen and take action.
## Acknowledgements
Initially created by [onWidget](https://onwidget.com) and maintained by a community of [contributors](https://github.com/onwidget/astrowind/graphs/contributors).
## License
**AstroWind** is licensed under the MIT license — see the [LICENSE](./LICENSE.md) file for details.

100
v3/astro.config.ts Normal file
View File

@ -0,0 +1,100 @@
import path from 'path';
import { fileURLToPath } from 'url';
import { defineConfig } from 'astro/config';
import sitemap from '@astrojs/sitemap';
import tailwind from '@astrojs/tailwind';
import mdx from '@astrojs/mdx';
import partytown from '@astrojs/partytown';
import icon from 'astro-icon';
import compress from 'astro-compress';
import type { AstroIntegration } from 'astro';
import astrowind from './vendor/integration';
import { readingTimeRemarkPlugin, responsiveTablesRehypePlugin, lazyImagesRehypePlugin } from './src/utils/frontmatter';
import react from '@astrojs/react';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const hasExternalScripts = false;
const whenExternalScripts = (items: (() => AstroIntegration) | (() => AstroIntegration)[] = []) =>
hasExternalScripts ? (Array.isArray(items) ? items.map((item) => item()) : [items()]) : [];
export default defineConfig({
output: 'static',
i18n: {
defaultLocale: 'en',
locales: ['en', 'de', 'es', 'fr', 'it', 'ja', 'pt', 'zh-cn', 'zh-tw', 'ko', 'ar'],
routing: {
prefixDefaultLocale: true,
redirectToDefaultLocale: false,
},
},
integrations: [
react(),
tailwind({
applyBaseStyles: false,
}),
sitemap(),
mdx(),
icon({
include: {
tabler: ['*'],
'flat-color-icons': [
'template',
'gallery',
'approval',
'document',
'advertising',
'currency-exchange',
'voice-presentation',
'business-contact',
'database',
],
},
}),
...whenExternalScripts(() =>
partytown({
config: { forward: ['dataLayer.push'] },
})
),
compress({
CSS: true,
HTML: {
'html-minifier-terser': {
removeAttributeQuotes: false,
},
},
Image: false,
JavaScript: true,
SVG: false,
Logger: 1,
}),
astrowind({
config: './src/config.yaml',
}),
],
image: {
domains: ['cdn.pixabay.com'],
},
markdown: {
remarkPlugins: [readingTimeRemarkPlugin],
rehypePlugins: [responsiveTablesRehypePlugin, lazyImagesRehypePlugin],
},
vite: {
resolve: {
alias: {
'~': path.resolve(__dirname, './src'),
},
},
},
});

18
v3/deploy.sh Executable file
View File

@ -0,0 +1,18 @@
#!/usr/bin/env bash
npm run build
cd dist
ln -s pricing/index.html pricing.html
ln -s terms/index.html terms.html
ln -s success/index.html success.html
ln -s cancel/index.html cancel.html
ln -s privacy/index.html privacy.html
ln -s team/index.html team.html
ln -s careers/index.html careers.html
ln -s open-source/index.html open-source.html
ln -s ../v2/self-host
ln -s ../v2/web
tar czf x *
scp x ot:/tmp/
ssh ot "sudo tar xzf /tmp/x -C /var/www/html/v3 && /bin/rm /tmp/x && sudo chown www-data:www-data /var/www/html/v3 -R"
/bin/rm x
cd -

59
v3/eslint.config.js Normal file
View File

@ -0,0 +1,59 @@
import astroEslintParser from 'astro-eslint-parser';
import eslintPluginAstro from 'eslint-plugin-astro';
import globals from 'globals';
import js from '@eslint/js';
import tseslint from 'typescript-eslint';
import typescriptParser from '@typescript-eslint/parser';
export default [
js.configs.recommended,
...eslintPluginAstro.configs['flat/recommended'],
...tseslint.configs.recommended,
{
languageOptions: {
globals: {
...globals.browser,
...globals.node,
},
},
},
{
files: ['**/*.astro'],
languageOptions: {
parser: astroEslintParser,
parserOptions: {
parser: '@typescript-eslint/parser',
extraFileExtensions: ['.astro'],
},
},
},
{
files: ['**/*.{js,jsx,astro}'],
rules: {
'no-mixed-spaces-and-tabs': ['error', 'smart-tabs'],
},
},
{
// Define the configuration for `<script>` tag.
// Script in `<script>` is assigned a virtual file name with the `.js` extension.
files: ['**/*.{ts,tsx}', '**/*.astro/*.js'],
languageOptions: {
parser: typescriptParser,
},
rules: {
// Note: you must disable the base rule as it can report incorrect errors
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': [
'error',
{
argsIgnorePattern: '^_',
destructuredArrayIgnorePattern: '^_',
},
],
'@typescript-eslint/no-non-null-assertion': 'off',
},
},
{
ignores: ['dist', 'node_modules', '.github', 'types.generated.d.ts', '.astro'],
},
];

9
v3/netlify.toml Normal file
View File

@ -0,0 +1,9 @@
[build]
publish = "dist"
command = "npm run build"
[build.processing.html]
pretty_urls = false
[[headers]]
for = "/_astro/*"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"

12346
v3/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

84
v3/package.json Normal file
View File

@ -0,0 +1,84 @@
{
"name": "@onwidget/astrowind",
"version": "1.0.0-beta.46",
"description": "AstroWind: A free template using Astro 4.0 and Tailwind CSS. Astro starter theme.",
"type": "module",
"private": true,
"engines": {
"node": "^18.17.1 || ^20.3.0 || >= 21.0.0"
},
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro build",
"preview": "astro preview",
"astro": "astro",
"check": "npm run check:astro && npm run check:eslint && npm run check:prettier",
"check:astro": "astro check",
"check:eslint": "eslint .",
"check:prettier": "prettier --check .",
"fix": "npm run fix:eslint && npm run fix:prettier",
"fix:eslint": "eslint --fix .",
"fix:prettier": "prettier -w ."
},
"dependencies": {
"@astrojs/react": "^3.6.2",
"@astrojs/rss": "^4.0.7",
"@astrojs/sitemap": "^3.1.6",
"@astrolib/analytics": "^0.5.0",
"@astrolib/seo": "^1.0.0-beta.6",
"@fontsource-variable/inter": "^5.1.0",
"@radix-ui/react-icons": "^1.3.0",
"@radix-ui/react-slot": "^1.1.0",
"@types/react": "^18.3.11",
"@types/react-dom": "^18.3.0",
"astro": "^4.15.5",
"astro-embed": "^0.7.2",
"astro-icon": "^1.1.1",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"embla-carousel-react": "^8.3.0",
"limax": "4.1.0",
"lodash.merge": "^4.6.2",
"lucide-react": "^0.451.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"sweetalert2": "^11.14.2",
"swiper": "^11.1.14",
"tailwindcss-animate": "^1.0.7",
"unpic": "^3.18.0",
"vanilla-cookieconsent": "^3.0.1"
},
"devDependencies": {
"@astrojs/check": "^0.9.3",
"@astrojs/mdx": "^3.1.6",
"@astrojs/partytown": "^2.1.2",
"@astrojs/tailwind": "5.1.0",
"@eslint/js": "^9.10.0",
"@iconify-json/flat-color-icons": "^1.2.0",
"@iconify-json/tabler": "^1.2.3",
"@tailwindcss/typography": "^0.5.15",
"@types/eslint__js": "^8.42.3",
"@types/js-yaml": "^4.0.9",
"@types/lodash.merge": "^4.6.9",
"@types/mdx": "^2.0.13",
"@typescript-eslint/eslint-plugin": "^8.6.0",
"@typescript-eslint/parser": "^8.6.0",
"astro-compress": "2.3.1",
"astro-eslint-parser": "^1.0.3",
"eslint": "^9.10.0",
"eslint-plugin-astro": "^1.2.4",
"globals": "^15.9.0",
"js-yaml": "^4.1.0",
"mdast-util-to-string": "^4.0.0",
"prettier": "^3.3.3",
"prettier-plugin-astro": "^0.14.1",
"reading-time": "^1.5.0",
"sharp": "0.33.5",
"tailwind-merge": "^2.5.3",
"tailwindcss": "^3.4.11",
"typescript": "^5.6.2",
"typescript-eslint": "^8.6.0",
"unist-util-visit": "^5.0.0"
}
}

BIN
v3/public/console.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 KiB

BIN
v3/public/custom.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 KiB

BIN
v3/public/main.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

20
v3/public/oss.yml Normal file
View File

@ -0,0 +1,20 @@
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped

20
v3/public/pro.yml Normal file
View File

@ -0,0 +1,20 @@
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server-pro:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server-pro:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped

BIN
v3/public/remote.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 KiB

11
v3/sandbox.config.json Normal file
View File

@ -0,0 +1,11 @@
{
"infiniteLoopProtection": true,
"hardReloadOnChange": false,
"view": "browser",
"template": "node",
"container": {
"port": 3000,
"startScript": "start",
"node": "18"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Some files were not shown because too many files have changed in this diff Show More