diff --git a/content/Help Rustdesk/_index.en.md b/content/Help Rustdesk/_index.en.md
new file mode 100644
index 0000000..b7d436b
--- /dev/null
+++ b/content/Help Rustdesk/_index.en.md
@@ -0,0 +1,23 @@
+---
+title: Help Rustdesk
+weight: 15
+---
+
+RustDesk is a full-featured open source remote control alternative for self-hosting and security with minimal configuration maintained by Purslane Ltd.
+
+There is a number of ways you can help us keep moving RustDesk forward!
+
+## Buy RustDesk Server Pro
+
+You can buy RustDesk Server Pro from our [website](rustdesk.com).
+
+## Sponsor us on Ko-Fi
+
+You can sponsor one off or monthly via [Ko-Fi](https://ko-fi.com/rustdesk).
+
+## Contribute
+
+You can contribute via translations, code and also assisting with Support for New users on [Github](https://github.com/rustdesk/rustdesk/discussions) and [Discord](https://discord.gg/nDceKgxnkV).
+
+We need your help to translate the RustDesk UI and RustDesk Docs to your native language.
+
diff --git a/content/Technical Support/_index.en.md b/content/Technical Support/_index.en.md
new file mode 100644
index 0000000..b8280bc
--- /dev/null
+++ b/content/Technical Support/_index.en.md
@@ -0,0 +1,20 @@
+---
+title: Technical Support
+weight: 16
+---
+
+## Community Support
+
+Free Support: Available through [Github Discussions](https://github.com/rustdesk/rustdesk/discussions) and [Discord](https://discord.gg/nDceKgxnkV).
+
+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.
diff --git a/content/_index.en.md b/content/_index.en.md
index 7202b26..808d82b 100644
--- a/content/_index.en.md
+++ b/content/_index.en.md
@@ -1,8 +1,25 @@
---
title: "Docs of RustDesk"
+weight: 1
---
-# RustDesk
+# 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](rustdesk.com) and the basic free and OSS Server based on our Professional Server.
+
+## Features
+- Works on Windows, macOS, Linux, iOS, Android, Web.
+- Supports VP8 / VP9 / AV1 software codecs, and H264 / H265 hardware codecs.
+- Own your data, easily set up self-hosting solution on your infrastructure.
+- P2P connection with end-to-end encryption based on NaCl.
+- No administrative privileges or installation needed for Windows, elevate priviledge locally or from remote on demand.
+- We like to keep things simple and will strive to make simpler where possible.
+
+## GitHub Repos
+Main Client Repo: https://github.com/rustdesk/rustdesk
+Opensource Server Repo: https://github.com/rustdesk/rustdesk-server
+Pro Server Repo: https://github.com/rustdesk/rustdesk-server-pro
+Docs Repo: https://github.com/rustdesk/doc.rustdesk.com
{{% children depth="3" showhidden="true" %}}
diff --git a/content/client/Client Deployment/_index.en.md b/content/client/Client Deployment/_index.en.md
new file mode 100644
index 0000000..aaac1cd
--- /dev/null
+++ b/content/client/Client Deployment/_index.en.md
@@ -0,0 +1,242 @@
+---
+title: Client Deployment
+weight: 6
+---
+
+You can deploy using a number of methods, some are covered in [Client](https://github.com/dinger1986/doc.rustdesk.com/blob/docs-reworking/content/client/_index.en.md#configuring-rustdesk)
+
+Alternatively you can use mass deployment scripts.
+
+### Powershell
+
+```ps
+$ErrorActionPreference= 'silentlycontinue'
+
+$rdver = ((Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\RustDesk\").Version)
+
+if($rdver -eq "1.2.1")
+{
+write-output "RustDesk $rdver is the newest version"
+
+exit
+}
+
+If (!(Test-Path c:\Temp)) {
+ New-Item -ItemType Directory -Force -Path c:\Temp > null
+}
+
+cd c:\Temp
+
+powershell Invoke-WebRequest "https://github.com/rustdesk/rustdesk/releases/download/1.2.1/rustdesk-1.2.1-x86_64.exe" -Outfile "rustdesk.exe"
+Start-Process .\rustdesk.exe --silent-install -wait
+
+$ServiceName = 'Rustdesk'
+$arrService = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
+
+if ($arrService -eq $null)
+{
+ Start-Sleep -seconds 20
+}
+
+while ($arrService.Status -ne 'Running')
+{
+ Start-Service $ServiceName
+ Start-Sleep -seconds 5
+ $arrService.Refresh()
+}
+net stop rustdesk
+
+$username = ((Get-WMIObject -ClassName Win32_ComputerSystem).Username).Split('\')[1]
+Remove-Item C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml
+New-Item C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml
+Set-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "rendezvous_server = 'youraddress' `nnat_type = 1`nserial = 0`n`n[options]`ncustom-rendezvous-server = 'youraddress'`nkey = 'yourkey'`nrelay-server = 'youraddress'`napi-server = 'https://youraddress'"
+Remove-Item C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml
+New-Item C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml
+Set-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "rendezvous_server = 'youraddress' `nnat_type = 1`nserial = 0`n`n[options]`ncustom-rendezvous-server = 'youraddress'`nkey = 'yourkey'`nrelay-server = 'youraddress'`napi-server = 'https://youraddress'"
+
+net start rustdesk
+```
+
+### Mac OS Bash
+
+```sh
+#!/bin/bash
+
+# Assign the value "XYZ" to the password variable
+rustdesk_password="XYZ"
+
+# Get your config string from your Web portal and Fill Below.
+rustdesk_config="configstring"
+
+####################################Please Do Not Edit Below This Line##########################################
+
+# Check if the script is being run as root
+if [[ $EUID -ne 0 ]]; then
+ echo "This script must be run as root."
+ exit 1
+fi
+
+if [[ $(arch) == 'arm64' ]]; then
+ echo "Installing Rosetta"
+/usr/sbin/softwareupdate --install-rosetta --agree-to-license
+fi
+
+# Specify the path to the rustdesk.dmg file
+dmg_file="/tmp/rustdesk-1.2.2-x86_64.dmg"
+
+# Specify the mount point for the DMG (temporary directory)
+mount_point="/Volumes/RustDesk"
+
+# Download the rustdesk.dmg file
+echo "Downloading RustDesk Now"
+curl -L https://github.com/rustdesk/rustdesk/releases/download/nightly/rustdesk-1.2.2-x86_64.dmg --output "$dmg_file"
+
+# Mount the DMG file to the specified mount point
+hdiutil attach "$dmg_file" -mountpoint "$mount_point" &> /dev/null
+
+# Check if the mounting was successful
+if [ $? -eq 0 ]; then
+ # Move the contents of the mounted DMG to the /Applications folder
+ cp -R "$mount_point/RustDesk.app" "/Applications/" &> /dev/null
+
+ # Unmount the DMG file
+ hdiutil detach "$mount_point" &> /dev/null
+else
+ echo "Failed to mount the RustDesk DMG. Installation aborted."
+ exit 1
+fi
+
+# Run the rustdesk command with --get-id and store the output in the rustdesk_id variable
+cd /Applications/RustDesk.app/Contents/MacOS/
+rustdesk_id=$(./RustDesk --get-id)
+
+# Apply new password to RustDesk
+./RustDesk --server &
+/Applications/RustDesk.app/Contents/MacOS/RustDesk --password $rustdesk_password &> /dev/null
+
+/Applications/RustDesk.app/Contents/MacOS/RustDesk --config $rustdesk_config
+
+# Kill all processes named RustDesk
+rdpid=$(pgrep RustDesk)
+kill $rdpid &> /dev/null
+
+echo "..............................................."
+# Check if the rustdesk_id is not empty
+if [ -n "$rustdesk_id" ]; then
+ echo "RustDesk ID: $rustdesk_id"
+else
+ echo "Failed to get RustDesk ID."
+fi
+
+# Echo the value of the password variable
+echo "Password: $rustdesk_password"
+echo "..............................................."
+
+echo "Please complete install on GUI, launching RustDesk now."
+open -n /Applications/RustDesk.app
+```
+
+### Linux
+
+```sh
+#!/bin/bash
+
+# Assign the value "XYZ" to the password variable
+rustdesk_password="XYZ"
+
+# Get your config string from your Web portal and Fill Below.
+rustdesk_config="encryptedconfigstring"
+
+####################################Please Do Not Edit Below This Line##########################################
+
+# Check if the script is being run as root
+if [[ $EUID -ne 0 ]]; then
+ echo "This script must be run as root."
+ exit 1
+fi
+
+# identify OS
+if [ -f /etc/os-release ]; then
+ # freedesktop.org and systemd
+ . /etc/os-release
+ OS=$NAME
+ VER=$VERSION_ID
+
+ UPSTREAM_ID=${ID_LIKE,,}
+
+ # Fallback to ID_LIKE if ID was not 'ubuntu' or 'debian'
+ if [ "${UPSTREAM_ID}" != "debian" ] && [ "${UPSTREAM_ID}" != "ubuntu" ]; then
+ UPSTREAM_ID="$(echo ${ID_LIKE,,} | sed s/\"//g | cut -d' ' -f1)"
+ fi
+
+
+elif type lsb_release >/dev/null 2>&1; then
+ # linuxbase.org
+ OS=$(lsb_release -si)
+ VER=$(lsb_release -sr)
+elif [ -f /etc/lsb-release ]; then
+ # For some versions of Debian/Ubuntu without lsb_release command
+ . /etc/lsb-release
+ OS=$DISTRIB_ID
+ VER=$DISTRIB_RELEASE
+elif [ -f /etc/debian_version ]; then
+ # Older Debian/Ubuntu/etc.
+ OS=Debian
+ VER=$(cat /etc/debian_version)
+elif [ -f /etc/SuSe-release ]; then
+ # Older SuSE/etc.
+ OS=SuSE
+ VER=$(cat /etc/SuSe-release)
+elif [ -f /etc/redhat-release ]; then
+ # Older Red Hat, CentOS, etc.
+ OS=RedHat
+ VER=$(cat /etc/redhat-release)
+else
+ # Fall back to uname, e.g. "Linux ", also works for BSD, etc.
+ OS=$(uname -s)
+ VER=$(uname -r)
+fi
+
+# Install Rustdesk
+
+echo "Installing Rustdesk"
+if [ "${ID}" = "debian" ] || [ "$OS" = "Ubuntu" ] || [ "$OS" = "Debian" ] || [ "${UPSTREAM_ID}" = "ubuntu" ] || [ "${UPSTREAM_ID}" = "debian" ]; then
+ wget https://github.com/rustdesk/rustdesk/releases/download/nightly/rustdesk-1.2.2-x86_64.deb > null
+ apt-get install -fy ./rustdesk-1.2.2-x86_64.deb > null
+elif [ "$OS" = "CentOS" ] || [ "$OS" = "RedHat" ] || [ "$OS" = "Fedora Linux" ] || [ "${UPSTREAM_ID}" = "rhel" ] ; then
+ wget https://github.com/rustdesk/rustdesk/releases/download/nightly/rustdesk-1.2.2-0.x86_64.rpm > null
+ yum localinstall ./rustdesk-1.2.2-0.x86_64.rpm -y > null
+else
+ echo "Unsupported OS"
+ # here you could ask the user for permission to try and install anyway
+ # if they say yes, then do the install
+ # if they say no, exit the script
+ exit 1
+fi
+
+systemctl stop rustdesk
+
+# Run the rustdesk command with --get-id and store the output in the rustdesk_id variable
+rustdesk_id=$(rustdesk --get-id)
+
+# Apply new password to RustDesk
+systemctl start rustdesk
+rustdesk --password $rustdesk_password &> /dev/null
+
+rustdesk --config $rustdesk_config
+
+systemctl restart rustdesk
+
+
+echo "..............................................."
+# Check if the rustdesk_id is not empty
+if [ -n "$rustdesk_id" ]; then
+ echo "RustDesk ID: $rustdesk_id"
+else
+ echo "Failed to get RustDesk ID."
+fi
+
+# Echo the value of the password variable
+echo "Password: $rustdesk_password"
+echo "..............................................."
+```
diff --git a/content/client/_index.en.md b/content/client/_index.en.md
new file mode 100755
index 0000000..b71c1e8
--- /dev/null
+++ b/content/client/_index.en.md
@@ -0,0 +1,115 @@
+---
+title: RustDesk Client
+weight: 2
+pre: "1. "
+chapter: true
+---
+
+### Chapter 1
+
+### Introduction
+The RustDesk client is used on devices to connect via our RustDesk Server either opensource or Pro, it is available to download from [GitHub](https://github.com/rustdesk/rustdesk/releases)
+
+The current stable version is 1.2.1 and Unstable (Nightly build) version is 1.2.2.
+
+### Supported Platforms
+- Microsoft Windows (all current versions with our standard client and some older versions with out sciter client).
+- Mac OS (M1/M2 requires rosetta)
+- Debian Derivatives (Ubuntu, Mint etc)
+- Redhat Derivatives (Centos, Rocky etc)
+- Arch/Manjaro
+- Opensuse
+- Android
+
+### Installation
+
+#### Windows
+
+Download the exe from GitHub and install
+
+To install silently call the install exe with `--silent-install`.
+
+#### Mac OS
+
+Download the dmg file from GitHub more info can be found on the Mac OS page.
+
+Open the .dmg file and drag `RustDesk` to `Applications`.
+
+Allow RustDesk to run (and install Rosetta if required)
+
+Enable permissions requested and follow prompts on the left hand side of RustDesk to finish setup.
+
+#### Linux
+
+Please see below instructions to install for the various "flavours" of linux, all installers are on GitHub.
+
+#### Debian Derivatives (>= 16)
+
+```bash
+# please ignore the wrong disk usage report
+sudo apt install -fy ./rustdesk-.deb
+```
+
+#### CentOS/Fedora (>= 18)
+
+```sh
+sudo yum localinstall ./rustdesk-.rpm
+```
+
+#### Arch/Manjaro
+
+```sh
+sudo pacman -U ./rustdesk-.pkg.tar.zst
+```
+
+#### Opensuse (>= Leap 15.0)
+
+```sh
+sudo zypper install --allow-unsigned-rpm ./rustdesk--suse.rpm
+```
+#### Android
+Install apk from our GitHub more info can be found on the Android page.
+
+### Usage
+Once installed (or run as a temporary executable) RustDesk will connect to the Public servers (you will see a message at the bottom saying (1) "Ready, For faster connection, please setup your own server). In the Top left you will see your (2) ID and (3) One Time Password and on the (4) Right a box for you to connect to another computer if you know their ID.
+
+![image](images/client.png)
+
+
+To access the settings, click on the (5) 3 dots to the right of ID.
+
+Under Settings you will find:
+- General - Service Control, Theme, Hardware Codec, Audio, Recording and Language
+- Security - Permissions for someone taking control, Password options, ability to change your ID and Advanced Security Settings
+- Network - Set your own server settings here and proxy
+- Display - Control the display settings for remote sessions and other default options, sync clipboard etc
+- Account - This can be used in conjuction with the Pro Server to sign into the API
+- About - Shows information about the software.
+
+### Configuring RustDesk
+There is number of ways to configure RustDesk.
+
+The easiest way is using RustDesk Server Pro you can obtain an encrypted config string, this can be used in conjuction with `--config` to import settings. To do this:
+1. Open command line on whichever OS you use, to the folder where RustDesk is installed ie C:\program files\RustDesk on windows, /usr/bin on linux.
+2. Use the command `rustdesk.exe --config your-encrypted-string` eg `rustdesk.exe --config 9JSPSvJzNrBDasJjNSdXOVVBlERDlleoNWZzIHcOJiOikXZr8mcw5yazVGZ0NXdy5CdyciojI0N3boJye`
+
+You can manually setup a client, to do this
+1. Click on Settings
+2. Click on Network
+3. Click Unlock Network Settings
+4. Enter your ID, Relay, API (if using pro) servers and your key.
+
+![image](images/network-settings.png)
+
+If you manually setup a client, you can retrieve the RustDesk2.toml (in the users folder) file and use `--import-config` in a similar way to the above example.
+
+### Parameters
+
+`--password` can be used to set a permanent password.
+`--get-id` can be used to retrieve the ID.
+`--set-id` can be used to set an ID, please note IDs should start with a letter.
+`--silent-install` can be used to install RustDesk silently on windows.
+
+Additional Advanced parameters can be found [here](https://github.com/rustdesk/rustdesk/blob/bdc5cded221af9697eb29aa30babce75e987fcc9/src/core_main.rs#L242)
+
+{{% children depth="1" showhidden="true" %}}
diff --git a/content/manual/control-mobile/_index.de.md b/content/client/android/_index.de.md
similarity index 99%
rename from content/manual/control-mobile/_index.de.md
rename to content/client/android/_index.de.md
index 898fa5f..2195016 100755
--- a/content/manual/control-mobile/_index.de.md
+++ b/content/client/android/_index.de.md
@@ -1,6 +1,6 @@
---
title: Steuern Sie Ihr Android
-weight: 2
+weight: 4
---
### Bildschirm und Dateien Ihres Android-Telefons freigeben
diff --git a/content/client/android/_index.en.md b/content/client/android/_index.en.md
new file mode 100755
index 0000000..9bb4a30
--- /dev/null
+++ b/content/client/android/_index.en.md
@@ -0,0 +1,146 @@
+---
+title: Android
+weight: 4
+---
+
+### Remote Control
+
+Enter the ID of the remote device in the home page or select a historical device to verify.
+After the verification is successful, you can control remote device.
+
+| Home | Successfully connected |
+| --------------- | -------------------------------------------------------- |
+| ![](images/connection_home_en.jpg?width=300px) | ![](images/connection_en.jpg?width=300px) |
+
+Input control provides two modes: `mouse mode` and `touch mode`, which can be switched through the lower toolbar.
+
+| Mouse settings | Mode selection |
+| --------------- | -------------------------------------------------------- |
+| ![](images/touch_mode_icon_en.png?width=300px) | ![](images/touch_mode_en.jpg?width=300px) |
+
+{{% notice note %}}
+In `mouse mode`,you can also trigger the remote device's `Right Mouse` with a `Two-Finger Tap`
+{{% /notice %}}
+
+### File Transfer (Android)
+
+> Requires RustDesk 1.1.9+
+
+In the device list on the home page, select the device.
+
+Long press or tap the menu on the right to select `File Transfer`
+
+| Home | Successfully connected |
+| --------------- | -------------------------------------------------------- |
+| ![](images/connection_home_file_en.jpg?width=300px) | ![](images/file_connection_en.jpg?width=300px) |
+
+- The initial directory is the Home directory of the device, you can click to quickly return to Home.
+- Below the title bar is the directory level, you can click the corresponding folder to jump quickly.
+- Click to access the parent directory.
+- The current absolute path and project statistics will be prompted at the bottom of the list.
+- Click `Local` / `Remote` in the title bar to switch pages.
+
+#### How do I transfer files?
+
+1. **Long press** on a file or folder in the list to quickly enter the **multiple selection mode**, which can select multiple items.
+2. After selecting the file(s), switch the `local` / `remote` page. After switching, you will see the `Paste here?` prompt at the bottom of the screen.
+3. Click the paste file icon in the picture to transfer the selected item(s) to the target directory.
+
+| Multi-Select Mode | File Paste |
+| --------------- | -------------------------------------------------------- |
+| ![](images/file_multi_select_en.jpg?width=300px) | ![](images/file_copy_en.jpg?width=300px) |
+
+### Set ID/Relay Server
+
+1. Click `Settings` on the bottom navigation bar.
+2. Click `ID/Relay Server`.
+3. Enter your ID Server hostname/IP Address in the `ID Server` field. Leave `Relay Server` and `API Server` blank, and enter your public key (optional, required for encryption) in the `Key` field. Press **OK** to save your settings. It will automatically switch to the specified server.
+
+You can also configure it by scanning a QR Code. To generate the QR Code, use the following format (change the `host` and `key` values to your own):
+
+```nolang
+config={"host": "xxx", "key": "xxx"}
+```
+
+Then go to an [Online QR Code Generator](https://www.qr-code-generator.com/) and paste in the code above.
+
+The picture below is a screenshot of Android. If it is iOS, please check top-right menu on the home page.
+
+![](images/id_setting_en.jpg?width=300px)
+
+### Share screen/files of your Android phone
+
+Starting from version 1.1.9, the Android client has added the functions of sharing the phone screen and sharing the file system of the phone.
+
+- Android 6 and above is required for screen sharing
+- Android 10 or above is required to share the internal audio of the mobile phone system
+- iOS does not yet support screen sharing
+
+#### **Request permissions and start services**
+
+Click on `Share Screen` from the bottom navigation bar
+
+Configure various permissions as needed. Every time you start RustDesk, you need to request "Screen Capture" and "Input Control" permissions again.
+
+![](images/server_off_en.jpg?width=300px)
+
+| Permissions | Description |
+| -- | -- |
+| Screen Capture | Whether to enable screen capture sharing permission, the monitoring service will be enabled at the same time as startup |
+| Input Control* | Whether to allow the controller to control the input of the mobile phone, such as virtual touch screen operation with the mouse |
+| File transfer* | Whether to enable file transfer permission, after startup, you can remotely control the file system of this phone |
+| Audio capture | Whether to share the system music inside the phone (not microphone input) |
+
+{{% notice note %}}
+Above * represents special permissions. To obtain such permissions, you need to jump to the Android system settings page to obtain them manually. The details are as follows
+{{% /notice %}}
+
+#### **Special Permission Request - File**
+
+| Requesting Android file permissions will automatically jump to the system settings page |
+| :---------------: |
+| ![](images/get_file_en.jpg?width=300px) |
+
+#### **Special Permission Request - mouse input**
+| Step 1 Find "Installed Services" | Step 2 Start RustDesk Input |
+| -- | -- |
+| ![](images/get_input1_en.jpg?width=300px) | ![](images/get_input2_en.jpg?width=300px) |
+
+{{% notice note %}}
+The system setting page of different vendors may be different, please adjust it according to your system page
+{{% /notice %}}
+
+**Remote mouse control shortcuts:**
+
+- Click the right mouse button: go back
+- Click the mouse wheel: Home
+- Long press mouse wheel: recently opened apps
+- Mouse wheel scrolling: simulate vertical sliding
+
+#### **Start service**
+
+After obtaining the `screen capture` permission, the service will be automatically started. You can also click the `Start service` button to start the service. After the service is started, it can accept desktop control requests from other devices.
+
+If the `file transfer` permission is enabled, it can also accept file control requests from other devices.
+
+After the service is started, a unique ID and random password will be automatically obtained for this device. Other devices can control the phone through the ID and password, or manually confirm when a new request is received.
+
+| Before starting the service | After starting the service |
+| -- | -- |
+| ![](images/server_off_en.jpg?width=300px) | ![](images/server_on_en.jpg?width=300px) |
+
+{{% notice note %}}
+1. Clicking `Start Service` will enable the `Screen capture` permission by default.
+2. When the `screen capture` permission is not obtained, other devices cannot issue control requests.
+3. Except for the `screen capture` permission, the switching of other permissions will only affect the new connection, and will not affect the established connection. If you need to switch permissions for an established connection, please close the current connection first, modify the permissions, and then receive a control request.
+{{% /notice %}}
+
+##### PC
+
+![](images/android_server_pc_side_en.png?width=700px)
+
+##### Mobile terminal
+
+| You can stop the service or close the specified connection at any time | You can receive or initiate chats |
+| -- | -- |
+| ![](images/server_on_en.jpg?width=300px) | ![](images/android_server2_en.jpg?width=300px) |
diff --git a/content/manual/control-mobile/_index.es.md b/content/client/android/_index.es.md
similarity index 99%
rename from content/manual/control-mobile/_index.es.md
rename to content/client/android/_index.es.md
index 801bba6..80941f8 100644
--- a/content/manual/control-mobile/_index.es.md
+++ b/content/client/android/_index.es.md
@@ -1,6 +1,6 @@
---
title: Controla tu Android
-weight: 2
+weight: 4
---
### Comparte pantalla/archivos de tu teléfono Android
diff --git a/content/manual/control-mobile/_index.fr.md b/content/client/android/_index.fr.md
similarity index 99%
rename from content/manual/control-mobile/_index.fr.md
rename to content/client/android/_index.fr.md
index bf3d5b9..8818a87 100644
--- a/content/manual/control-mobile/_index.fr.md
+++ b/content/client/android/_index.fr.md
@@ -1,6 +1,6 @@
---
title: Contrôle d'un appareil Android distant
-weight: 2
+weight: 4
---
### Partager l'écran et fichiers de votre téléphone Android
diff --git a/content/client/android/_index.it.md b/content/client/android/_index.it.md
new file mode 100755
index 0000000..ded8759
--- /dev/null
+++ b/content/client/android/_index.it.md
@@ -0,0 +1,6 @@
+---
+title: Control your Android
+weight: 4
+---
+
+[English](/docs/en/client/android/)
\ No newline at end of file
diff --git a/content/client/android/_index.ja.md b/content/client/android/_index.ja.md
new file mode 100755
index 0000000..ded8759
--- /dev/null
+++ b/content/client/android/_index.ja.md
@@ -0,0 +1,6 @@
+---
+title: Control your Android
+weight: 4
+---
+
+[English](/docs/en/client/android/)
\ No newline at end of file
diff --git a/content/manual/control-mobile/_index.nl.md b/content/client/android/_index.nl.md
similarity index 99%
rename from content/manual/control-mobile/_index.nl.md
rename to content/client/android/_index.nl.md
index 330ad8f..18d8610 100644
--- a/content/manual/control-mobile/_index.nl.md
+++ b/content/client/android/_index.nl.md
@@ -1,6 +1,6 @@
---
title: Beheer uw Android
-weight: 2
+weight: 4
---
### Deel scherm/bestanden van uw Android-telefoon
diff --git a/content/client/android/_index.pt.md b/content/client/android/_index.pt.md
new file mode 100755
index 0000000..ded8759
--- /dev/null
+++ b/content/client/android/_index.pt.md
@@ -0,0 +1,6 @@
+---
+title: Control your Android
+weight: 4
+---
+
+[English](/docs/en/client/android/)
\ No newline at end of file
diff --git a/content/manual/control-mobile/_index.ru.md b/content/client/android/_index.ru.md
similarity index 99%
rename from content/manual/control-mobile/_index.ru.md
rename to content/client/android/_index.ru.md
index c4a9a33..fcc8d18 100755
--- a/content/manual/control-mobile/_index.ru.md
+++ b/content/client/android/_index.ru.md
@@ -1,6 +1,6 @@
---
title: Управление устройствами на Android
-weight: 2
+weight: 4
---
### Передача изображения экрана и файлов с устройства Android
diff --git a/content/manual/control-mobile/_index.zh-cn.md b/content/client/android/_index.zh-cn.md
similarity index 99%
rename from content/manual/control-mobile/_index.zh-cn.md
rename to content/client/android/_index.zh-cn.md
index d9563f9..197267d 100755
--- a/content/manual/control-mobile/_index.zh-cn.md
+++ b/content/client/android/_index.zh-cn.md
@@ -1,6 +1,6 @@
---
title: 安卓被控
-weight: 2
+weight: 4
---
### 共享安卓手机的屏幕或者文件
diff --git a/content/manual/control-mobile/_index.zh-tw.md b/content/client/android/_index.zh-tw.md
similarity index 99%
rename from content/manual/control-mobile/_index.zh-tw.md
rename to content/client/android/_index.zh-tw.md
index 4fdb9ee..274ed1d 100755
--- a/content/manual/control-mobile/_index.zh-tw.md
+++ b/content/client/android/_index.zh-tw.md
@@ -1,6 +1,6 @@
---
title: 控制您的 Android 手機
-weight: 2
+weight: 4
---
### 分享您的 Android 手機的畫面或檔案
diff --git a/content/manual/mobile/images/android_server1_zh.jpg b/content/client/android/images/android_server1_zh.jpg
similarity index 100%
rename from content/manual/mobile/images/android_server1_zh.jpg
rename to content/client/android/images/android_server1_zh.jpg
diff --git a/content/manual/mobile/images/android_server2_en.jpg b/content/client/android/images/android_server2_en.jpg
similarity index 100%
rename from content/manual/mobile/images/android_server2_en.jpg
rename to content/client/android/images/android_server2_en.jpg
diff --git a/content/manual/mobile/images/android_server2_zh.jpg b/content/client/android/images/android_server2_zh.jpg
similarity index 100%
rename from content/manual/mobile/images/android_server2_zh.jpg
rename to content/client/android/images/android_server2_zh.jpg
diff --git a/content/manual/mobile/images/android_server_pc_side_en.png b/content/client/android/images/android_server_pc_side_en.png
similarity index 100%
rename from content/manual/mobile/images/android_server_pc_side_en.png
rename to content/client/android/images/android_server_pc_side_en.png
diff --git a/content/manual/mobile/images/android_server_pc_side_zh.png b/content/client/android/images/android_server_pc_side_zh.png
similarity index 100%
rename from content/manual/mobile/images/android_server_pc_side_zh.png
rename to content/client/android/images/android_server_pc_side_zh.png
diff --git a/content/manual/mobile/images/connection.jpg b/content/client/android/images/connection.jpg
similarity index 100%
rename from content/manual/mobile/images/connection.jpg
rename to content/client/android/images/connection.jpg
diff --git a/content/manual/mobile/images/connection_en.jpg b/content/client/android/images/connection_en.jpg
similarity index 100%
rename from content/manual/mobile/images/connection_en.jpg
rename to content/client/android/images/connection_en.jpg
diff --git a/content/manual/mobile/images/connection_home_en.jpg b/content/client/android/images/connection_home_en.jpg
similarity index 100%
rename from content/manual/mobile/images/connection_home_en.jpg
rename to content/client/android/images/connection_home_en.jpg
diff --git a/content/manual/mobile/images/connection_home_file_en.jpg b/content/client/android/images/connection_home_file_en.jpg
similarity index 100%
rename from content/manual/mobile/images/connection_home_file_en.jpg
rename to content/client/android/images/connection_home_file_en.jpg
diff --git a/content/manual/mobile/images/connection_home_file_zh.jpg b/content/client/android/images/connection_home_file_zh.jpg
similarity index 100%
rename from content/manual/mobile/images/connection_home_file_zh.jpg
rename to content/client/android/images/connection_home_file_zh.jpg
diff --git a/content/manual/mobile/images/connection_home_zh.jpg b/content/client/android/images/connection_home_zh.jpg
similarity index 100%
rename from content/manual/mobile/images/connection_home_zh.jpg
rename to content/client/android/images/connection_home_zh.jpg
diff --git a/content/manual/mobile/images/file_connection.jpg b/content/client/android/images/file_connection.jpg
similarity index 100%
rename from content/manual/mobile/images/file_connection.jpg
rename to content/client/android/images/file_connection.jpg
diff --git a/content/manual/mobile/images/file_connection_en.jpg b/content/client/android/images/file_connection_en.jpg
similarity index 100%
rename from content/manual/mobile/images/file_connection_en.jpg
rename to content/client/android/images/file_connection_en.jpg
diff --git a/content/manual/mobile/images/file_copy.png b/content/client/android/images/file_copy.png
similarity index 100%
rename from content/manual/mobile/images/file_copy.png
rename to content/client/android/images/file_copy.png
diff --git a/content/manual/mobile/images/file_copy_en.jpg b/content/client/android/images/file_copy_en.jpg
similarity index 100%
rename from content/manual/mobile/images/file_copy_en.jpg
rename to content/client/android/images/file_copy_en.jpg
diff --git a/content/manual/mobile/images/file_multi_select.jpg b/content/client/android/images/file_multi_select.jpg
similarity index 100%
rename from content/manual/mobile/images/file_multi_select.jpg
rename to content/client/android/images/file_multi_select.jpg
diff --git a/content/manual/mobile/images/file_multi_select_en.jpg b/content/client/android/images/file_multi_select_en.jpg
similarity index 100%
rename from content/manual/mobile/images/file_multi_select_en.jpg
rename to content/client/android/images/file_multi_select_en.jpg
diff --git a/content/manual/mobile/images/get_file_en.jpg b/content/client/android/images/get_file_en.jpg
similarity index 100%
rename from content/manual/mobile/images/get_file_en.jpg
rename to content/client/android/images/get_file_en.jpg
diff --git a/content/manual/mobile/images/get_file_zh.jpg b/content/client/android/images/get_file_zh.jpg
similarity index 100%
rename from content/manual/mobile/images/get_file_zh.jpg
rename to content/client/android/images/get_file_zh.jpg
diff --git a/content/manual/mobile/images/get_input1_en.jpg b/content/client/android/images/get_input1_en.jpg
similarity index 100%
rename from content/manual/mobile/images/get_input1_en.jpg
rename to content/client/android/images/get_input1_en.jpg
diff --git a/content/manual/mobile/images/get_input1_zh.png b/content/client/android/images/get_input1_zh.png
similarity index 100%
rename from content/manual/mobile/images/get_input1_zh.png
rename to content/client/android/images/get_input1_zh.png
diff --git a/content/manual/mobile/images/get_input2_en.jpg b/content/client/android/images/get_input2_en.jpg
similarity index 100%
rename from content/manual/mobile/images/get_input2_en.jpg
rename to content/client/android/images/get_input2_en.jpg
diff --git a/content/manual/mobile/images/get_input2_zh.jpg b/content/client/android/images/get_input2_zh.jpg
similarity index 100%
rename from content/manual/mobile/images/get_input2_zh.jpg
rename to content/client/android/images/get_input2_zh.jpg
diff --git a/content/manual/mobile/images/id_setting_en.jpg b/content/client/android/images/id_setting_en.jpg
similarity index 100%
rename from content/manual/mobile/images/id_setting_en.jpg
rename to content/client/android/images/id_setting_en.jpg
diff --git a/content/manual/mobile/images/id_setting_zh.png b/content/client/android/images/id_setting_zh.png
similarity index 100%
rename from content/manual/mobile/images/id_setting_zh.png
rename to content/client/android/images/id_setting_zh.png
diff --git a/content/manual/mobile/images/server_off_en.jpg b/content/client/android/images/server_off_en.jpg
similarity index 100%
rename from content/manual/mobile/images/server_off_en.jpg
rename to content/client/android/images/server_off_en.jpg
diff --git a/content/manual/mobile/images/server_off_zh.jpg b/content/client/android/images/server_off_zh.jpg
similarity index 100%
rename from content/manual/mobile/images/server_off_zh.jpg
rename to content/client/android/images/server_off_zh.jpg
diff --git a/content/manual/mobile/images/server_on_en.jpg b/content/client/android/images/server_on_en.jpg
similarity index 100%
rename from content/manual/mobile/images/server_on_en.jpg
rename to content/client/android/images/server_on_en.jpg
diff --git a/content/manual/mobile/images/server_on_zh.jpg b/content/client/android/images/server_on_zh.jpg
similarity index 100%
rename from content/manual/mobile/images/server_on_zh.jpg
rename to content/client/android/images/server_on_zh.jpg
diff --git a/content/manual/mobile/images/touch_mode_en.jpg b/content/client/android/images/touch_mode_en.jpg
similarity index 100%
rename from content/manual/mobile/images/touch_mode_en.jpg
rename to content/client/android/images/touch_mode_en.jpg
diff --git a/content/manual/mobile/images/touch_mode_icon.png b/content/client/android/images/touch_mode_icon.png
similarity index 100%
rename from content/manual/mobile/images/touch_mode_icon.png
rename to content/client/android/images/touch_mode_icon.png
diff --git a/content/manual/mobile/images/touch_mode_icon_en.png b/content/client/android/images/touch_mode_icon_en.png
similarity index 100%
rename from content/manual/mobile/images/touch_mode_icon_en.png
rename to content/client/android/images/touch_mode_icon_en.png
diff --git a/content/manual/mobile/images/touch_mode_zh.jpg b/content/client/android/images/touch_mode_zh.jpg
similarity index 100%
rename from content/manual/mobile/images/touch_mode_zh.jpg
rename to content/client/android/images/touch_mode_zh.jpg
diff --git a/content/client/images/client.png b/content/client/images/client.png
new file mode 100644
index 0000000..93b7b92
Binary files /dev/null and b/content/client/images/client.png differ
diff --git a/content/client/images/network-settings.png b/content/client/images/network-settings.png
new file mode 100644
index 0000000..4af7ffd
Binary files /dev/null and b/content/client/images/network-settings.png differ
diff --git a/content/manual/linux/_index.de.md b/content/client/linux/_index.de.md
similarity index 100%
rename from content/manual/linux/_index.de.md
rename to content/client/linux/_index.de.md
diff --git a/content/manual/linux/_index.en.md b/content/client/linux/_index.en.md
similarity index 100%
rename from content/manual/linux/_index.en.md
rename to content/client/linux/_index.en.md
diff --git a/content/manual/linux/_index.es.md b/content/client/linux/_index.es.md
similarity index 100%
rename from content/manual/linux/_index.es.md
rename to content/client/linux/_index.es.md
diff --git a/content/manual/linux/_index.fr.md b/content/client/linux/_index.fr.md
similarity index 100%
rename from content/manual/linux/_index.fr.md
rename to content/client/linux/_index.fr.md
diff --git a/content/manual/linux/_index.it.md b/content/client/linux/_index.it.md
similarity index 100%
rename from content/manual/linux/_index.it.md
rename to content/client/linux/_index.it.md
diff --git a/content/manual/linux/_index.ja.md b/content/client/linux/_index.ja.md
similarity index 100%
rename from content/manual/linux/_index.ja.md
rename to content/client/linux/_index.ja.md
diff --git a/content/manual/linux/_index.nl.md b/content/client/linux/_index.nl.md
similarity index 100%
rename from content/manual/linux/_index.nl.md
rename to content/client/linux/_index.nl.md
diff --git a/content/manual/linux/_index.pt.md b/content/client/linux/_index.pt.md
similarity index 100%
rename from content/manual/linux/_index.pt.md
rename to content/client/linux/_index.pt.md
diff --git a/content/manual/linux/_index.ru.md b/content/client/linux/_index.ru.md
similarity index 100%
rename from content/manual/linux/_index.ru.md
rename to content/client/linux/_index.ru.md
diff --git a/content/manual/linux/_index.zh-cn.md b/content/client/linux/_index.zh-cn.md
similarity index 100%
rename from content/manual/linux/_index.zh-cn.md
rename to content/client/linux/_index.zh-cn.md
diff --git a/content/manual/linux/_index.zh-tw.md b/content/client/linux/_index.zh-tw.md
similarity index 100%
rename from content/manual/linux/_index.zh-tw.md
rename to content/client/linux/_index.zh-tw.md
diff --git a/content/manual/linux/images/fix1.png b/content/client/linux/images/fix1.png
similarity index 100%
rename from content/manual/linux/images/fix1.png
rename to content/client/linux/images/fix1.png
diff --git a/content/manual/linux/images/fix2.png b/content/client/linux/images/fix2.png
similarity index 100%
rename from content/manual/linux/images/fix2.png
rename to content/client/linux/images/fix2.png
diff --git a/content/manual/linux/images/fix3.png b/content/client/linux/images/fix3.png
similarity index 100%
rename from content/manual/linux/images/fix3.png
rename to content/client/linux/images/fix3.png
diff --git a/content/manual/mac/_index.de.md b/content/client/mac/_index.de.md
similarity index 83%
rename from content/manual/mac/_index.de.md
rename to content/client/mac/_index.de.md
index ab2941f..26cf760 100755
--- a/content/manual/mac/_index.de.md
+++ b/content/client/mac/_index.de.md
@@ -7,17 +7,17 @@ weight: 3
Öffnen Sie die .dmg-Datei und ziehen Sie `RustDesk` zu `Applications`, wie unten dargestellt.
-![](/docs/en/manual/mac/images/dmg.png)
+![](/docs/en/client/mac/images/dmg.png)
Stellen Sie sicher, dass Sie alle laufenden RustDesk beendet haben. Stellen Sie außerdem sicher, dass Sie den RustDesk-Dienst in der Taskleiste beendet haben.
-![](/docs/en/manual/mac/images/tray.png)
+![](/docs/en/client/mac/images/tray.png)
### Ausführen von RustDesk zulassen
| Zum Ändern entsperren | Klicken Sie auf „App Store und identifizierte Entwickler“ |
| ---- | ---- |
-| ![](/docs/en/manual/mac/images/allow2.png) | ![](/docs/en/manual/mac/images/allow.png) |
+| ![](/docs/en/client/mac/images/allow2.png) | ![](/docs/en/client/mac/images/allow.png) |
### Berechtigungen aktivieren
@@ -34,14 +34,14 @@ Um den Bildschirm aufzunehmen, müssen Sie `RustDesk` die Berechtigungen **Zugri
| RustDesk-Fenster | Einstellungsfenster |
| ---- | ---- |
-| ![](/docs/en/manual/mac/images/acc.png) | ![](/docs/en/manual/mac/images/acc3.png?v2) |
+| ![](/docs/en/client/mac/images/acc.png) | ![](/docs/en/client/mac/images/acc3.png?v2) |
Wenn Sie es in den Einstellungen aktiviert haben, warnt RustDesk dennoch. Bitte entfernen Sie RustDesk aus dem Einstellungsfenster über die Schaltfläche `-` und klicken Sie auf die Schaltfläche `+`, um RustDesk unter `/Applications` auszuwählen.
| Schaltfläche `+` und `-` | RustDesk auswählen |
| ---- | ---- |
-| ![](/docs/en/manual/mac/images/acc2.png) | ![](/docs/en/manual/mac/images/add.png?v2) |
+| ![](/docs/en/client/mac/images/acc2.png) | ![](/docs/en/client/mac/images/add.png?v2) |
Bitte kopieren Sie die obigen Schritte für die Berechtigung zur **Bildschirmaufnahme**.
-![](/docs/en/manual/mac/images/screen.png?v2)
+![](/docs/en/client/mac/images/screen.png?v2)
diff --git a/content/manual/mac/_index.en.md b/content/client/mac/_index.en.md
similarity index 77%
rename from content/manual/mac/_index.en.md
rename to content/client/mac/_index.en.md
index 6499f6b..9ec72a3 100755
--- a/content/manual/mac/_index.en.md
+++ b/content/client/mac/_index.en.md
@@ -7,17 +7,17 @@ weight: 3
Open the .dmg file and drag `RustDesk` to `Applications` as below.
-![](/docs/en/manual/mac/images/dmg.png)
+![](images/dmg.png)
Make sure you have quit all running RustDesk. Also make sure you quit the RustDesk service shown on the tray.
-![](/docs/en/manual/mac/images/tray.png)
+![](images/tray.png)
### Allow RustDesk run
| Unlock to change | Click on "App Store and identified developers" |
| ---- | ---- |
-| ![](/docs/en/manual/mac/images/allow2.png) | ![](/docs/en/manual/mac/images/allow.png) |
+| ![](images/allow2.png) | ![](images/allow.png) |
### Enable permissions
@@ -34,14 +34,14 @@ To capture screen, you need to grant `RustDesk` **Accessibility** permission and
| RustDesk window | Settings window |
| ---- | ---- |
-| ![](/docs/en/manual/mac/images/acc.png) | ![](/docs/en/manual/mac/images/acc3.png?v2) |
+| ![](images/acc.png) | ![](images/acc3.png?v2) |
If you have enabled it in the settings window, but RustDesk still warns. Please remove RustDesk from the settings windows by the `-` button, and click on `+` button, select RustDesk in `/Applications`.
| `-` and `+` button | Select RustDesk |
| ---- | ---- |
-| ![](/docs/en/manual/mac/images/acc2.png) | ![](/docs/en/manual/mac/images/add.png?v2) |
+| ![](images/acc2.png) | ![](images/add.png?v2) |
Please copy above steps for **Screen Recording** permission.
-![](/docs/en/manual/mac/images/screen.png?v2)
+![](images/screen.png?v2)
diff --git a/content/manual/mac/_index.es.md b/content/client/mac/_index.es.md
similarity index 100%
rename from content/manual/mac/_index.es.md
rename to content/client/mac/_index.es.md
diff --git a/content/manual/mac/_index.fr.md b/content/client/mac/_index.fr.md
similarity index 100%
rename from content/manual/mac/_index.fr.md
rename to content/client/mac/_index.fr.md
diff --git a/content/manual/mac/_index.it.md b/content/client/mac/_index.it.md
similarity index 100%
rename from content/manual/mac/_index.it.md
rename to content/client/mac/_index.it.md
diff --git a/content/manual/mac/_index.ja.md b/content/client/mac/_index.ja.md
similarity index 100%
rename from content/manual/mac/_index.ja.md
rename to content/client/mac/_index.ja.md
diff --git a/content/manual/mac/_index.nl.md b/content/client/mac/_index.nl.md
similarity index 100%
rename from content/manual/mac/_index.nl.md
rename to content/client/mac/_index.nl.md
diff --git a/content/manual/mac/_index.pt.md b/content/client/mac/_index.pt.md
similarity index 100%
rename from content/manual/mac/_index.pt.md
rename to content/client/mac/_index.pt.md
diff --git a/content/manual/mac/_index.ru.md b/content/client/mac/_index.ru.md
similarity index 100%
rename from content/manual/mac/_index.ru.md
rename to content/client/mac/_index.ru.md
diff --git a/content/manual/mac/_index.zh-cn.md b/content/client/mac/_index.zh-cn.md
similarity index 100%
rename from content/manual/mac/_index.zh-cn.md
rename to content/client/mac/_index.zh-cn.md
diff --git a/content/manual/mac/_index.zh-tw.md b/content/client/mac/_index.zh-tw.md
similarity index 100%
rename from content/manual/mac/_index.zh-tw.md
rename to content/client/mac/_index.zh-tw.md
diff --git a/content/manual/mac/images/acc.png b/content/client/mac/images/acc.png
similarity index 100%
rename from content/manual/mac/images/acc.png
rename to content/client/mac/images/acc.png
diff --git a/content/manual/mac/images/acc2.png b/content/client/mac/images/acc2.png
similarity index 100%
rename from content/manual/mac/images/acc2.png
rename to content/client/mac/images/acc2.png
diff --git a/content/manual/mac/images/acc3.png b/content/client/mac/images/acc3.png
similarity index 100%
rename from content/manual/mac/images/acc3.png
rename to content/client/mac/images/acc3.png
diff --git a/content/manual/mac/images/add.png b/content/client/mac/images/add.png
similarity index 100%
rename from content/manual/mac/images/add.png
rename to content/client/mac/images/add.png
diff --git a/content/manual/mac/images/allow.png b/content/client/mac/images/allow.png
similarity index 100%
rename from content/manual/mac/images/allow.png
rename to content/client/mac/images/allow.png
diff --git a/content/manual/mac/images/allow2.png b/content/client/mac/images/allow2.png
similarity index 100%
rename from content/manual/mac/images/allow2.png
rename to content/client/mac/images/allow2.png
diff --git a/content/manual/mac/images/dmg.png b/content/client/mac/images/dmg.png
similarity index 100%
rename from content/manual/mac/images/dmg.png
rename to content/client/mac/images/dmg.png
diff --git a/content/manual/mac/images/screen.png b/content/client/mac/images/screen.png
similarity index 100%
rename from content/manual/mac/images/screen.png
rename to content/client/mac/images/screen.png
diff --git a/content/manual/mac/images/tray.png b/content/client/mac/images/tray.png
similarity index 100%
rename from content/manual/mac/images/tray.png
rename to content/client/mac/images/tray.png
diff --git a/content/client/windows/_index.en.md b/content/client/windows/_index.en.md
new file mode 100644
index 0000000..9746cb2
--- /dev/null
+++ b/content/client/windows/_index.en.md
@@ -0,0 +1,21 @@
+---
+title: Windows
+weight: 1
+---
+
+Install from our [GitHub](github.com/rustdesk/rustdesk)
+
+### Put config in rustdesk.exe file name (Windows only)
+
+Change `rustdesk.exe` to rustdesk-`host=,key=`.exe, e.g. rustdesk-`host=192.168.1.137,key=xfdsfsd32=32`.exe. You can see the config result in the About Window below.
+
+
+{{% notice note %}}
+You need to set both `host` and `key`, missing either one will not work.
+
+Optionally add a `,` (comma) character after the key, before the `.exe` part as a delimiter, to avoid the key being mangled if Windows or the browser renames the file when downloading duplicated names.
+
+If there are invalid characters in the key which can not be used in a Windows file name, please remove the
+`id_ed25519` file from your server and restart `hbbs`/`hbbr`. This will cause the `id_ed25519.pub` file to regenerate. You may need to
+repeat this process until you get valid characters.
+{{% /notice %}}
diff --git a/content/manual/_index.de.md b/content/manual/_index.de.md
deleted file mode 100755
index 6b2d6f7..0000000
--- a/content/manual/_index.de.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Handbuch
-weight: 2
-pre: "1. "
-chapter: true
----
-
-### Kapitel 1
-
-# Handbuch
-
-{{% children depth="1" showhidden="true" %}}
\ No newline at end of file
diff --git a/content/manual/_index.en.md b/content/manual/_index.en.md
deleted file mode 100755
index e0a2e24..0000000
--- a/content/manual/_index.en.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Manual
-weight: 2
-pre: "1. "
-chapter: true
----
-
-### Chapter 1
-
-# Manual
-
-{{% children depth="1" showhidden="true" %}}
\ No newline at end of file
diff --git a/content/manual/_index.es.md b/content/manual/_index.es.md
deleted file mode 100644
index 1fb5e3b..0000000
--- a/content/manual/_index.es.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Manual
-weight: 2
-pre: "1. "
-chapter: true
----
-
-### Capítulo 1
-
-# Manual
-
-{{% children depth="1" showhidden="true" %}}
diff --git a/content/manual/_index.fr.md b/content/manual/_index.fr.md
deleted file mode 100644
index 6a78ee5..0000000
--- a/content/manual/_index.fr.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Manuel
-weight: 2
-pre: "1. "
-chapter: true
----
-
-### Chapitre 1
-
-# Manuel
-
-{{% children depth="1" showhidden="true" %}}
\ No newline at end of file
diff --git a/content/manual/_index.it.md b/content/manual/_index.it.md
deleted file mode 100755
index e0a2e24..0000000
--- a/content/manual/_index.it.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Manual
-weight: 2
-pre: "1. "
-chapter: true
----
-
-### Chapter 1
-
-# Manual
-
-{{% children depth="1" showhidden="true" %}}
\ No newline at end of file
diff --git a/content/manual/_index.ja.md b/content/manual/_index.ja.md
deleted file mode 100755
index cc3e231..0000000
--- a/content/manual/_index.ja.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: マニュアル
-weight: 2
-pre: "1. "
-chapter: true
----
-
-### 第1章
-
-# マニュアル
-
-{{% children depth="1" showhidden="true" %}}
\ No newline at end of file
diff --git a/content/manual/_index.nl.md b/content/manual/_index.nl.md
deleted file mode 100644
index 78771e2..0000000
--- a/content/manual/_index.nl.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Handleiding
-weight: 2
-pre: "1. "
-chapter: true
----
-
-### Hoofdstuk 1
-
-# Handleiding
-
-{{% children depth="1" showhidden="true" %}}
\ No newline at end of file
diff --git a/content/manual/_index.pt.md b/content/manual/_index.pt.md
deleted file mode 100755
index e0a2e24..0000000
--- a/content/manual/_index.pt.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Manual
-weight: 2
-pre: "1. "
-chapter: true
----
-
-### Chapter 1
-
-# Manual
-
-{{% children depth="1" showhidden="true" %}}
\ No newline at end of file
diff --git a/content/manual/_index.ru.md b/content/manual/_index.ru.md
deleted file mode 100755
index 8c7a9c7..0000000
--- a/content/manual/_index.ru.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Руководство
-weight: 2
-pre: "1. "
-chapter: true
----
-
-### Раздел 1
-
-# Руководство
-
-{{% children depth="1" showhidden="true" %}}
diff --git a/content/manual/_index.zh-cn.md b/content/manual/_index.zh-cn.md
deleted file mode 100755
index 0bff7a4..0000000
--- a/content/manual/_index.zh-cn.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: 使用手册
-weight: 2
-pre: "1. "
-chapter: true
----
-
-### Chapter 1
-
-# 使用手册
-
-{{% children depth="1" showhidden="true" %}}
\ No newline at end of file
diff --git a/content/manual/_index.zh-tw.md b/content/manual/_index.zh-tw.md
deleted file mode 100755
index d408ba9..0000000
--- a/content/manual/_index.zh-tw.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: 使用手冊
-weight: 2
-pre: "1. "
-chapter: true
----
-
-### 章節 1
-
-# 使用手冊
-
-{{% children depth="1" showhidden="true" %}}
\ No newline at end of file
diff --git a/content/manual/control-mobile/_index.en.md b/content/manual/control-mobile/_index.en.md
deleted file mode 100755
index 9f0814d..0000000
--- a/content/manual/control-mobile/_index.en.md
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title: Control your Android
-weight: 2
----
-
-### Share screen/files of your Android phone
-
-Starting from version 1.1.9, the Android client has added the functions of sharing the phone screen and sharing the file system of the phone.
-
-- Android 6 and above is required for screen sharing
-- Android 10 or above is required to share the internal audio of the mobile phone system
-- iOS does not yet support screen sharing
-
-#### **Request permissions and start services**
-
-Click on `Share Screen` from the bottom navigation bar
-
-Configure various permissions as needed. Every time you start RustDesk, you need to request "Screen Capture" and "Input Control" permissions again.
-
-![](/docs/en/manual/mobile/images/server_off_en.jpg?width=300px)
-
-| Permissions | Description |
-| -- | -- |
-| Screen Capture | Whether to enable screen capture sharing permission, the monitoring service will be enabled at the same time as startup |
-| Input Control* | Whether to allow the controller to control the input of the mobile phone, such as virtual touch screen operation with the mouse |
-| File transfer* | Whether to enable file transfer permission, after startup, you can remotely control the file system of this phone |
-| Audio capture | Whether to share the system music inside the phone (not microphone input) |
-
-{{% notice note %}}
-Above * represents special permissions. To obtain such permissions, you need to jump to the Android system settings page to obtain them manually. The details are as follows
-{{% /notice %}}
-
-#### **Special Permission Request - File**
-
-| Requesting Android file permissions will automatically jump to the system settings page |
-| :---------------: |
-| ![](/docs/en/manual/mobile/images/get_file_en.jpg?width=300px) |
-
-#### **Special Permission Request - mouse input**
-| Step 1 Find "Installed Services" | Step 2 Start RustDesk Input |
-| -- | -- |
-| ![](/docs/en/manual/mobile/images/get_input1_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/get_input2_en.jpg?width=300px) |
-
-{{% notice note %}}
-The system setting page of different vendors may be different, please adjust it according to your system page
-{{% /notice %}}
-
-**Remote mouse control shortcuts:**
-
-- Click the right mouse button: go back
-- Click the mouse wheel: Home
-- Long press mouse wheel: recently opened apps
-- Mouse wheel scrolling: simulate vertical sliding
-
-#### **Start service**
-
-After obtaining the `screen capture` permission, the service will be automatically started. You can also click the `Start service` button to start the service. After the service is started, it can accept desktop control requests from other devices.
-
-If the `file transfer` permission is enabled, it can also accept file control requests from other devices.
-
-After the service is started, a unique ID and random password will be automatically obtained for this device. Other devices can control the phone through the ID and password, or manually confirm when a new request is received.
-
-| Before starting the service | After starting the service |
-| -- | -- |
-| ![](/docs/en/manual/mobile/images/server_off_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/server_on_en.jpg?width=300px) |
-
-{{% notice note %}}
-1. Clicking `Start Service` will enable the `Screen capture` permission by default.
-2. When the `screen capture` permission is not obtained, other devices cannot issue control requests.
-3. Except for the `screen capture` permission, the switching of other permissions will only affect the new connection, and will not affect the established connection. If you need to switch permissions for an established connection, please close the current connection first, modify the permissions, and then receive a control request.
-{{% /notice %}}
-
-##### PC
-
-![](/docs/en/manual/mobile/images/android_server_pc_side_en.png?width=700px)
-
-##### Mobile terminal
-
-| You can stop the service or close the specified connection at any time | You can receive or initiate chats |
-| -- | -- |
-| ![](/docs/en/manual/mobile/images/server_on_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/android_server2_en.jpg?width=300px) |
diff --git a/content/manual/control-mobile/_index.it.md b/content/manual/control-mobile/_index.it.md
deleted file mode 100755
index c85cd65..0000000
--- a/content/manual/control-mobile/_index.it.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Control your Android
-weight: 2
----
-
-[English](/docs/en/manual/control-mobile/)
\ No newline at end of file
diff --git a/content/manual/control-mobile/_index.ja.md b/content/manual/control-mobile/_index.ja.md
deleted file mode 100755
index c85cd65..0000000
--- a/content/manual/control-mobile/_index.ja.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Control your Android
-weight: 2
----
-
-[English](/docs/en/manual/control-mobile/)
\ No newline at end of file
diff --git a/content/manual/control-mobile/_index.pt.md b/content/manual/control-mobile/_index.pt.md
deleted file mode 100755
index c85cd65..0000000
--- a/content/manual/control-mobile/_index.pt.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Control your Android
-weight: 2
----
-
-[English](/docs/en/manual/control-mobile/)
\ No newline at end of file
diff --git a/content/manual/mobile/_index.de.md b/content/manual/mobile/_index.de.md
deleted file mode 100755
index b939f51..0000000
--- a/content/manual/mobile/_index.de.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: Handy
-weight: 1
----
-
-### Fernsteuerung
-
-Geben Sie die ID des entfernten Geräts auf der Startseite ein oder wählen Sie ein historisches Gerät zur Überprüfung aus.
-Nach erfolgreicher Überprüfung können Sie das entfernte Gerät steuern.
-
-| Startfenster | Erfolgreich verbunden |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/connection_en.jpg?width=300px) |
-
-Die Eingabesteuerung bietet zwei Modi: `Mausmodus` und `Touch-Modus`, die über die untere Symbolleiste umgeschaltet werden können.
-
-| Mauseinstellungen | Modusauswahl |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/touch_mode_icon_en.png?width=300px) | ![](/docs/en/manual/mobile/images/touch_mode_en.jpg?width=300px) |
-
-{{% notice note %}}
-Im `Mausmodus` können Sie die `Rechte Maus` des entfernten Geräts mit einem `Zwei-Finger-Tipp` auslösen.
-{{% /notice %}}
-
-### Dateiübertragung (Android)
-
-> Benötigt RustDesk 1.1.9+
-
-Wählen Sie in der Geräteliste auf der Startseite das Gerät aus.
-
-Drücken Sie lange oder tippen Sie zur Auswahl rechts auf das Menü `Datei übertragen`.
-
-| Startfenster | Erfolgreich verbunden |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_file_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_connection_en.jpg?width=300px) |
-
-- Das Ausgangsverzeichnis ist das Home-Verzeichnis des Geräts, Sie können auf klicken, um schnell nach Hause zurückzukehren.
-- Unter der Titelleiste befindet sich die Verzeichnisebene, Sie können auf den entsprechenden Ordner klicken, um schnell zu springen.
-- Klicken Sie , um auf das übergeordnete Verzeichnis zuzugreifen.
-- Der aktuelle absolute Pfad und die Projektstatistik werden am Ende der Liste angezeigt.
-- Klicken Sie `Lokal` / `Entfernt` in der Titelleiste, um die Seiten zu wechseln.
-
-#### Wie übertrage ich Dateien?
-
-1. **Drücken Sie lange** auf eine Datei oder einen Ordner in der Liste, um schnell in den **Mehrfachauswahlmodus** zu wechseln, mit dem Sie mehrere Elemente auswählen können.
-2. Wechseln Sie nach Auswahl der Datei(en) die Seite `Lokal` / `Entfernt`. Nach dem Umschalten sehen Sie am unteren Rand des Bildschirms die Aufforderung `Hier einfügen?`.
-3. Klicken Sie auf das Symbol zum Einfügen von Dateien im Bild, um die ausgewählten Elemente in das Zielverzeichnis zu übertragen.
-
-| Mehrfachauswahlmodus | Datei einfügen |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/file_multi_select_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_copy_en.jpg?width=300px) |
-
-### ID/Relay-Server einstellen
-
-1. Klicken Sie `Einstellungen` in der unteren Navigationsleiste.
-2. Klicken Sie `ID/Relay-Server`.
-3. Geben Sie den Hostnamen oder die IP-Adresse Ihres ID-Servers in das Feld `ID-Server` ein. Lassen Sie `Relay-Server` sowie `API-Server` leer und geben Sie Ihren öffentlichen Schlüssel (optional, für die Verschlüsselung erforderlich) in das Feld `Key` ein. Drücken Sie **OK**, um Ihre Einstellungen zu speichern. Es wird automatisch auf den angegebenen Server umgeschaltet.
-
-Sie können ihn auch durch Scannen eines QR-Codes konfigurieren. Um den QR-Code zu erzeugen, verwenden Sie das folgende Format (ändern Sie die Werte `host` und `key` in Ihre eigenen Werte):
-
-```nolang
-config={"host": "xxx", "key": "xxx"}
-```
-
-Gehen Sie dann online zu einem [QR-Code-Generator](https://www.qr-code-generator.com/) und fügen Sie den obigen Code ein.
-
-Das folgende Bild ist ein Screenshot von Android. Wenn es sich um iOS handelt, überprüfen Sie bitte das Menü oben rechts auf der Startseite.
-
-![](/docs/en/manual/mobile/images/id_setting_en.jpg?width=300px)
-
-Einzelheiten zum Selbst-Host-Server finden Sie unter [Selbst-Host](/docs/de/self-host/).
diff --git a/content/manual/mobile/_index.en.md b/content/manual/mobile/_index.en.md
deleted file mode 100755
index 8905342..0000000
--- a/content/manual/mobile/_index.en.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: Mobile
-weight: 1
----
-
-### Remote Control
-
-Enter the ID of the remote device in the home page or select a historical device to verify.
-After the verification is successful, you can control remote device.
-
-| Home | Successfully connected |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/connection_en.jpg?width=300px) |
-
-Input control provides two modes: `mouse mode` and `touch mode`, which can be switched through the lower toolbar.
-
-| Mouse settings | Mode selection |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/touch_mode_icon_en.png?width=300px) | ![](/docs/en/manual/mobile/images/touch_mode_en.jpg?width=300px) |
-
-{{% notice note %}}
-In `mouse mode`,you can also trigger the remote device's `Right Mouse` with a `Two-Finger Tap`
-{{% /notice %}}
-
-### File Transfer (Android)
-
-> Requires RustDesk 1.1.9+
-
-In the device list on the home page, select the device.
-
-Long press or tap the menu on the right to select `File Transfer`
-
-| Home | Successfully connected |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_file_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_connection_en.jpg?width=300px) |
-
-- The initial directory is the Home directory of the device, you can click to quickly return to Home.
-- Below the title bar is the directory level, you can click the corresponding folder to jump quickly.
-- Click to access the parent directory.
-- The current absolute path and project statistics will be prompted at the bottom of the list.
-- Click `Local` / `Remote` in the title bar to switch pages.
-
-#### How do I transfer files?
-
-1. **Long press** on a file or folder in the list to quickly enter the **multiple selection mode**, which can select multiple items.
-2. After selecting the file(s), switch the `local` / `remote` page. After switching, you will see the `Paste here?` prompt at the bottom of the screen.
-3. Click the paste file icon in the picture to transfer the selected item(s) to the target directory.
-
-| Multi-Select Mode | File Paste |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/file_multi_select_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_copy_en.jpg?width=300px) |
-
-### Set ID/Relay Server
-
-1. Click `Settings` on the bottom navigation bar.
-2. Click `ID/Relay Server`.
-3. Enter your ID Server hostname/IP Address in the `ID Server` field. Leave `Relay Server` and `API Server` blank, and enter your public key (optional, required for encryption) in the `Key` field. Press **OK** to save your settings. It will automatically switch to the specified server.
-
-You can also configure it by scanning a QR Code. To generate the QR Code, use the following format (change the `host` and `key` values to your own):
-
-```nolang
-config={"host": "xxx", "key": "xxx"}
-```
-
-Then go to an [Online QR Code Generator](https://www.qr-code-generator.com/) and paste in the code above.
-
-The picture below is a screenshot of Android. If it is iOS, please check top-right menu on the home page.
-
-![](/docs/en/manual/mobile/images/id_setting_en.jpg?width=300px)
-
-For details of self-host server, please refer to [self-host](/docs/en/self-host/)
diff --git a/content/manual/mobile/_index.es.md b/content/manual/mobile/_index.es.md
deleted file mode 100644
index b60991a..0000000
--- a/content/manual/mobile/_index.es.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title: Móvil
-weight: 1
----
-
-### Control remoto
-------
-
-Ingrese la ID del dispositivo remoto en la página de inicio o seleccione un dispositivo histórico para verificar.
-Después de que la verificación sea exitosa, puede controlar el dispositivo remoto.
-
-| Inicio | Conectado con éxito |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/connection_en.jpg?width=300px) |
-
-
-El control de entrada proporciona `mouse mode`/`touch mode` dos modos, que se pueden cambiar a través de la barra de herramientas inferior.
-
-| Entrar | Selección de modo |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/touch_mode_icon_en.png?width=300px) | ![](/docs/en/manual/mobile/images/touch_mode_en.jpg?width=300px) |
-
-{{% notice note %}}
-En `mouse mode`, también puede activar el dispositivo remoto `Right Mouse` con un `Two-Finger Tap`
-{{% /notice %}}
-
-### Transferencia de archivos (Android)
-------
-
-requiere RustDesk 1.1.9+.
-
-En la lista de dispositivos de la página de inicio, seleccione el dispositivo.
-
-Mantenga presionado o toque más opciones a la derecha para seleccionar `File Transfer`
-
-| Inicio | Conectado con éxito |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_file_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_connection_en.jpg?width=300px) |
-
-
-
-- El directorio inicial es el directorio de inicio del dispositivo, puede hacer clic en para volver rápidamente a inicio.
-- Debajo de la barra de título está el nivel del directorio, puede hacer clic en la carpeta correspondiente para saltar rápidamente.
-- Clic para acceder al directorio principal.
-- La ruta absoluta actual y las estadísticas del proyecto aparecerán al final de la lista.
-- Clic `Local` / `Remote` en la barra de título para cambiar de página.
-
-
-#### **Cómo para transferir archivos?**
-
-| Modo de selección múltiple | Pegar archivo |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/file_multi_select_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_copy_en.jpg?width=300px) |
-
-1. **Presione prolongadamente** un archivo o carpeta en la lista para ingresar rápidamente al **modo de selección múltiple**, que puede eliminar varios elementos o transferir archivos.
-2. Después de seleccionar el archivo, cambie el `local` / `remote` página, después de cambiar la página, verá `Paste here? ` indicador, haga clic en el icono de pegar archivo en la imagen para transferir el archivo/carpeta seleccionado al directorio de destino.
-
-### **Establecer ID/servidor de retransmisión**
-------
-Clic `Settings` en la barra de navegación inferior, ingrese a la página de configuración y haga clic en `ID/Relay Server`.
-Después de ingresar y enviar, cambiará automáticamente al servidor especificado.
-También puede configurar escaneando [QR code](https://rustdesk.com/docs/en/self-host/console/images/console-home.png?v2).
-La siguiente imagen es una captura de pantalla de Android. Si es iOS, consulte el menú superior derecho en la página de inicio.
-
-![](/docs/en/manual/mobile/images/id_setting_en.jpg?width=300px)
-
-
-Para obtener más información sobre el servidor autohospedado, consulte [self-host](/docs/en/self-host/)
diff --git a/content/manual/mobile/_index.fr.md b/content/manual/mobile/_index.fr.md
deleted file mode 100644
index 78a8cfb..0000000
--- a/content/manual/mobile/_index.fr.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title: Contrôle distant depuis son mobile
-weight: 1
----
-
-### Contrôle d'un appareil distant depuis son mobile
-
-Entrez l'ID de l'appareil distant dans la page d'accueil ou sélectionnez un appareil dans l'historique.
-Une fois l'authentification réussie, vous pourez en prendre le contrôle.
-
-| Accueil | Connecté avec succès |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/connection_en.jpg?width=300px) |
-
-Le contrôle du curseur distant peut être en "mode souris" ou en "mode tactile". Ils peuvent être commutés via la barre d'outils inférieure.
-
-| Accès configuration souris | Choix du mode |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/touch_mode_icon_en.png?width=300px) | ![](/docs/en/manual/mobile/images/touch_mode_en.jpg?width=300px) |
-
-{{% notice note %}}
-En mode souris, vous pouvez déclencher un click droit en tapant à deux doigts
-{{% /notice %}}
-
-### Transfert fichier (Android)
-
-> A partir de RustDesk 1.1.9 et +
-
-Dans la liste sur la page d'accueil, sélectionnez l'appareil souhaité.
-
-Appuyez longuement ou appuyez sur le menu de droite pour sélectionner "transférer un fichier"
-
-| Accueil | Connecté avec succès |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_file_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_connection_en.jpg?width=300px) |
-
-- Le répertoire initial est le répertoire d'accueil de l'appareil, vous pouvez cliquer sur pour revenir rapidement à l'accueil.
-- Sous la barre de titre se trouve le contenu du répertoire, vous pouvez cliquer sur un dossier pour y acceder.
-- Cliquez sur pour accéder au répertoire parent.
-- Le chemin absolu actuel et les statistiques du projet sont affichés au bas de la liste.
-- Cliquez sur "Local" / "Distant" dans la barre de titre pour basculer d'une vue des dossiers locaux vers les locaux distants.
-
-#### Comment transférer des fichiers ?
-
-1. **Appuyez longuement** sur un fichier ou un dossier dans la liste pour accéder rapidement au **choix multiple**, qui peut sélectionner plusieurs éléments.
-2. Après avoir sélectionné le(s) fichier(s), utilisez l'icone double flèche pour copier et basculez de la page "local" vers "Distant" ou vice et versa.
-3. Cliquez sur l'icône coller en bas à droite de la double flèche pour transférer le ou les éléments sélectionnés vers le répertoire cible.
-
-| Mode multi-sélection | Fichier collé |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/file_multi_select_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_copy_en.jpg?width=300px) |
-
-### Définir ID/serveur relais
-
-1. Cliquez sur "Paramètres" dans la barre de navigation inférieure.
-2. Cliquez sur "ID/Serveur Relais".
-3. Saisissez le nom d'hôte ou l'adresse IP de votre Server dans le champ « ID Server ». Laissez "Serveurs relais" et "Serveur API" vides et entrez votre clé publique (facultative, requise pour le chiffrement) dans le champ "Key". Appuyez sur **Confirmer** pour enregistrer vos paramètres. Il basculera automatiquement vers le serveur spécifié.
-
-Vous pouvez également configurer ces paramètres en scannant un code QR. Pour générer un tel code QR, utilisez une chaine de caractères dans le format suivant (modifiez les valeurs "host" et "key" par les vôtres) :
-```nolang
-config={"host": "xxx", "key": "xxx"}
-```
-
-Puis allez sur le site [QR Code Generateur en ligne](https://www.qr-code-generator.com/) et copier alors cette chaine afin de générer un QR code.
-L'image ci-dessous est une capture d'écran d'Android. S'il s'agit d'iOS, il faut passer par le menu en haut à droite sur la page d'accueil.
-![](/docs/en/manual/mobile/images/id_setting_en.jpg?width=300px)
-
-Pour plus de détails sur comment auto-hébergé votre propre serveur Rustdesk, veuillez vous référer à [Auto-héberger son serveur](/docs/fr/self-host/)
diff --git a/content/manual/mobile/_index.it.md b/content/manual/mobile/_index.it.md
deleted file mode 100755
index fd84505..0000000
--- a/content/manual/mobile/_index.it.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Mobile
-weight: 1
----
-
-[English](/docs/en/manual/mobile/)
\ No newline at end of file
diff --git a/content/manual/mobile/_index.ja.md b/content/manual/mobile/_index.ja.md
deleted file mode 100755
index fd84505..0000000
--- a/content/manual/mobile/_index.ja.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Mobile
-weight: 1
----
-
-[English](/docs/en/manual/mobile/)
\ No newline at end of file
diff --git a/content/manual/mobile/_index.nl.md b/content/manual/mobile/_index.nl.md
deleted file mode 100644
index 26e19f3..0000000
--- a/content/manual/mobile/_index.nl.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: Mobiel
-weight: 1
----
-
-### Afstandsbediening
-
-Voer de ID van het externe apparaat in op de startpagina of selecteer een apparaat uit historie om te controleren.
-Nadat de verificatie geslaagd is, kunt u het apparaat op afstand bedienen.
-
-| Home | Met succes verbonden |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/connection_en.jpg?width=300px) |
-
-Invoercontrole biedt twee modi: `muismodus` en `aanraakmodus`, die via de onderste werkbalk kunnen worden omgeschakeld.
-
-| Muisinstellingen | Mode selectie |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/touch_mode_icon_en.png?width=300px) | ![](/docs/en/manual/mobile/images/touch_mode_en.jpg?width=300px) |
-
-{{% notice note %}}
-In `muismode` kunt u ook de rechtermuis van het apparaat activeren met een `tik met twee vingers`.
-{{% /notice %}}
-
-### Bestandsoverdracht (Android)
-
-> Vereist RustDesk 1.1.9+
-
-Selecteer het apparaat in de apparatenlijst op de startpagina.
-
-Druk lang op of tik op het menu aan de rechterkant om `Bestandsoverdracht` te selecteren.
-
-| Home | Met succes verbonden |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_file_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_connection_en.jpg?width=300px) |
-
-- De oorspronkelijke map is de Home-map van het apparaat, u kunt op klikken om snel terug te keren naar Home.
-- Onder de titelbalk staat het mapniveau, u kunt op de betreffende map klikken om snel te schakelen.
-- Klik op om de bovenliggende map te openen.
-- Het huidige absolute path en de projectstatistieken worden onderaan de lijst weergegeven.
-- Klik op `Lokaal` / `Afstand` in de titelbalk om van pagina te wisselen.
-
-#### Hoe zet ik bestanden over?
-
-1. **Lang drukken** op een bestand of map in de lijst om snel naar de **meervoudige selectiemodus** te gaan, waarmee meerdere items kunnen worden geselecteerd.
-2. Na het selecteren van het/de bestand(en), schakel de `lokaal` / `afstand` pagina. Na het wisselen ziet u de `Plak hier?` prompt onderaan het scherm.
-3. Click the paste file icon in the picture to transfer the selected item(s) to the target directory.
-
-| Multi-Selectie Mode | Bestand Plakken |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/file_multi_select_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_copy_en.jpg?width=300px) |
-
-### Stel ID/Relay Server in
-
-1. Klik op `Instellingen` in de onderste navigatiebalk.
-2. Klik `ID/Relay Server`.
-3. Voer uw ID Server hostnaam/IP adres in het `ID Server` veld in. Laat `Relay Server` en `API Server` leeg, en voer uw publieke sleutel in (optioneel, vereist voor encryptie) in het `Key` veld. Druk op **OK** om uw instellingen op te slaan. Er wordt automatisch overgeschakeld naar de opgegeven server.
-
-U kunt het ook configureren door een QR-code te scannen. Om de QR-code te genereren gebruikt u het volgende formaat (verander de waarden `host` en `key` in uw eigen waarden):
-
-```nolang
-config={"host": "xxx", "key": "xxx"}
-```
-
-Ga dan naar een [Online QR Code Generator](https://www.qr-code-generator.com/) en plak de bovenstaande code erin.
-
-De afbeelding hieronder is een screenshot van Android. Als het iOS is, controleer dan het menu rechtsboven op de startpagina.
-
-![](/docs/en/manual/mobile/images/id_setting_en.jpg?width=300px)
-
-Voor details over de zelf-host server, zie [zelf-host](/docs/nl/self-host/).
diff --git a/content/manual/mobile/_index.pt.md b/content/manual/mobile/_index.pt.md
deleted file mode 100755
index fd84505..0000000
--- a/content/manual/mobile/_index.pt.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Mobile
-weight: 1
----
-
-[English](/docs/en/manual/mobile/)
\ No newline at end of file
diff --git a/content/manual/mobile/_index.ru.md b/content/manual/mobile/_index.ru.md
deleted file mode 100755
index 6a3b8ff..0000000
--- a/content/manual/mobile/_index.ru.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title: Мобильный
-weight: 1
----
-
-### Удалённое управление
-------
-
-Введите ID удалённого устройства на главной странице или выберите устройство из списка недавних подключений.
-После успешной верификации вы можете управлять удалённым устройством.
-
-| Главная страница | Успешное подключение |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/connection_en.jpg?width=300px) |
-
-
-Доступны два режима ввода `mouse mode`/`touch mode` между которыми можно переключаться на нижней панели инструментов.
-
-| Кнопка | Выбор режима |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/touch_mode_icon_en.png?width=300px) | ![](/docs/en/manual/mobile/images/touch_mode_en.jpg?width=300px) |
-
-
-### Передача файлов (Android)
-------
-
-Необходима версия RustDesk 1.1.9+.
-
-В списке устройств на главной странице выберите нужное устройство.
-
-Нажмите на дополнительные опции слева и выберите `File Transfer`
-
-| Главная страница | Успешное подключение |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_file_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_connection_en.jpg?width=300px) |
-
-
-
-- Первоначальной директорией будет домашняя папка устройства. Нажмите чтобы быстро вернуться в неё.
-- Под заголовком указан список папок и файлов. Нажмите на нужную папку чтобы перейти в неё.
-- Нажмите чтобы перейти в родительскую папку.
-- Текущий абсолютный путь и статистика показаны внизу списка.
-- Нажмите `Local`/`Remote` в сроке заголовка для переключения сторон.
-
-
-#### **Как передавать файлы?**
-
-| Режим множественного выбора | Вставка файла |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/file_multi_select_en.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_copy_en.jpg?width=300px) |
-
-1. **Длительное нажатие** на файл включает **режим множественного выбора**, в котором можно передавать несколько файлов.
-2. После выбора файлов, переключите стороны. Вы увидите сообщение `Paste here?`, нажмите на значок вставки чтобы передать выбранные файлы в целевую папку.
-
-### **Настройка ID-сервера/Ретранслятора**
-------
-Нажмите `Settings` на нижней панели, выберите `ID/Relay Server`.
-После ввода и сохранения настроек, приложение автоматически переключится на нужный сервер.
-Также вы можете отсканировать [QR-код](https://rustdesk.com/docs/en/self-host/console/images/console-home.png?v2).
-На картинке ниже скриншот Android. Если у вас iOS, проверьте меню справа вверху на главной странице.
-
-![](/docs/en/manual/mobile/images/id_setting_en.jpg?width=300px)
-
-
-Подробнее о самостоятельном развёртывании сервера можно узнать [здесь](/docs/ru/self-host/)
diff --git a/content/manual/mobile/_index.zh-cn.md b/content/manual/mobile/_index.zh-cn.md
deleted file mode 100755
index e9bbc23..0000000
--- a/content/manual/mobile/_index.zh-cn.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title: 移动端
-weight: 1
----
-
-### 控制其他设备的屏幕
-------
-
-在首页中输入目标设备的ID或选择历史设备,即可进行验证。
-验证成功后即可控制对方的桌面。
-
-| 首页 | 连接成功 |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_zh.jpg?width=300px) | ![](/docs/en/manual/mobile/images/connection.jpg?width=300px) |
-
-
-输入控制提供`鼠标模式`/`触屏模式`两种模式,可以通过下方工具栏进行切换。
-
-| 进入 | 模式选择 |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/touch_mode_icon.png?width=300px) | ![](/docs/en/manual/mobile/images/touch_mode_zh.jpg?width=300px) |
-
-{{% notice note %}}
-在`鼠标模式`中,你也可以通过`双指轻触`触发远程设备的`鼠标右键`
-{{% /notice %}}
-
-### 管理其他设备的文件,相互传输文件 (安卓)
-------
-
-1.1.9版本开始,安卓客户端增加了管理其他设备文件的功能。
-
-在首页的已连接设备列表中,找到需要进行文件控制的目标设备ID。
-
-长按或点击右侧更多选项即可选择`文件传输`
-
-| 首页 | 连接成功 |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_file_zh.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_connection.jpg?width=300px) |
-
-
-
-- 初始目录是设备的Home目录,可以点击 快速回到Home。
-- 在标题栏下方是目录层级,可以点击相应文件夹快速跳转。
-- 点击 可以访问上级目录。
-- 列表底部会提示当前绝对路径和项目统计。
-- 点击标题栏的`本地` / `远程` 进行页面切换。
-
-
-#### **如何传输文件?**
-
-| 多选模式 | 文件粘贴 |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/file_multi_select.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_copy.png?width=300px) |
-
-1. **长按**列表中的文件或文件夹可以可快速进入**多选模式**,可以进行多项目删除,或文件传输。
-2. 选择文件后切换`本地` / `远程`页面,切换页面后将看到`粘贴到这里?`的提示,点击图中的粘贴文件图标即可将选中的文件/文件夹传输至目标目录。
-
-### **设置ID/中继服务器**
-------
-通过底部导航栏点击`设置`,进入设置页面点击`ID/中继服务器`。
-输入并提交后会自动切换至指定服务器。
-也可以通过右上角扫描[二维码](http://localhost:1313/docs/en/self-host/console/images/console-home-zh.png?v2)。
-下图是安卓截图,如果是iOS,对应选项在主界面右上角菜单中。
-
-![](/docs/en/manual/mobile/images/id_setting_zh.png?width=300px)
-
-
-有关自建服务器的详细内容,请参考[自建服务器](/docs/zh-cn/self-host/)
\ No newline at end of file
diff --git a/content/manual/mobile/_index.zh-tw.md b/content/manual/mobile/_index.zh-tw.md
deleted file mode 100755
index 77d24cd..0000000
--- a/content/manual/mobile/_index.zh-tw.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title: 手機端
-weight: 1
----
-
-### 遠端控制
-
-在首頁中輸入遠端裝置的 ID 或選擇歷史裝置,即可進行驗證。
-驗證成功後即可控制對方的桌面。
-
-| 首頁 | 連接成功 |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_zh.jpg?width=300px) | ![](/docs/en/manual/mobile/images/connection.jpg?width=300px) |
-
-輸入控制提供兩種模式:`滑鼠模式`和`觸控模式`,可以通過下方的工具列進行切換。
-
-| 滑鼠設定 | 模式選擇 |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/touch_mode_icon.png?width=300px) | ![](/docs/en/manual/mobile/images/touch_mode_zh.jpg?width=300px) |
-
-{{% notice note %}}
-在`滑鼠模式`中,你也可以通過`雙指輕觸`觸發遠程裝置的`滑鼠右鍵`
-{{% /notice %}}
-
-### 檔案傳輸 (Android)
-
-> 需要 RustDesk 1.1.9 以上版本
-
-在首頁的裝置列表中選擇裝置。
-
-長按或點擊右側選單來選擇`檔案傳輸`
-
-| 首頁 | 連接成功 |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/connection_home_file_zh.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_connection.jpg?width=300px) |
-
-- 初始目錄是裝置的主目錄,可以點擊 快速回到主目錄。
-- 在標題欄下方是目錄層級,可以點擊相應資料夾來快速跳轉。
-- 點擊 可以訪問父目錄。
-- 列表底部會提示目前絕對路徑和專案統計資料。
-- 點擊標題欄的`本機`/`遠端` 進行頁面切換。
-
-#### 如何傳輸檔案?
-
-1. **長按**列表中的檔案或資料夾可以可快速進入**多選模式**,可以同時選擇多個項目。
-2. 選擇檔案後切換`本機`/`遠端`頁面,切換頁面後將在下方看到`貼上到這裡?`的提示。
-3. 點擊圖中的貼上檔案圖示即可將選中的檔案/資料夾傳輸至目標目錄。
-
-| 多選模式 | 檔案貼上 |
-| --------------- | -------------------------------------------------------- |
-| ![](/docs/en/manual/mobile/images/file_multi_select.jpg?width=300px) | ![](/docs/en/manual/mobile/images/file_copy.png?width=300px) |
-
-
-### **設置 ID/中繼伺服器**
-
-1. 點擊下方瀏覽列的`設定`。
-2. 點擊 `ID/中繼伺服器`。
-3. 在 `ID 伺服器` 欄位輸入您的 ID 伺服器的主機名稱/IP 地址。將 `Relay 伺服器`和 `API 伺服器`欄位留空,然後在`金鑰`欄位輸入您的公鑰 (選填,僅供加密用)。點擊 **OK** 以儲存設定。RustDesk 將自動切換到您指定的伺服器。
-
-也可以通過掃描 QR 碼來設定,若要產生 QR 碼,請使用下列格式 (記得更改 `host` 和 `key` 的值)。
-
-```nolang
-config={"host": "xxx", "key": "xxx"}
-```
-
-下圖是 Android 畫面,如果是 iOS,對應選項在首頁右上角的選單中。
-
-![](/docs/en/manual/mobile/images/id_setting_en.png?width=300px)
-
-有關自架伺服器的詳細內容,請參考[自架伺服器](/docs/zh-tw/self-host/)
\ No newline at end of file
diff --git a/content/self-host/_index.en.md b/content/self-host/_index.en.md
index a809c32..90a9b99 100755
--- a/content/self-host/_index.en.md
+++ b/content/self-host/_index.en.md
@@ -9,6 +9,8 @@ chapter: true
# Self-host
-Please join our [Discord](https://discord.com/invite/nDceKgxnkV) if you would like to talk with us about self-hosting your own [open source RustDesk Server](https://github.com/rustdesk/rustdesk-server).
+If you are using RustDesk you should have your own RustDesk Server, these docs will help you on your RustDesk journey.
+
+Support is available via our [Discord](https://discord.com/invite/nDceKgxnkV) for OSS and [email](mailto:support@rustdesk.com) for Pro.
{{% children depth="3" showhidden="true" %}}
diff --git a/content/self-host/client/_index.de.md b/content/self-host/client/_index.de.md
deleted file mode 100644
index 59fa244..0000000
--- a/content/self-host/client/_index.de.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Clientseitige Einstellungen
-weight: 40
----
-
-[hbbs/hbbr-Adresse auf der Client-Seite einstellen](/docs/de/self-host/install/#schritt-3-hbbshbbr-adresse-auf-der-client-seite-einstellen)
diff --git a/content/self-host/client/_index.en.md b/content/self-host/client/_index.en.md
deleted file mode 100644
index d847694..0000000
--- a/content/self-host/client/_index.en.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Client-Side Settings
-weight: 40
----
-
-[Set hbbs/hbbr address on client-side](/docs/en/self-host/install/#step-3--set-hbbshbbr-address-on-client-side)
\ No newline at end of file
diff --git a/content/self-host/client/_index.es.md b/content/self-host/client/_index.es.md
deleted file mode 100644
index 4a232f6..0000000
--- a/content/self-host/client/_index.es.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Ajustes-Cliente
-weight: 40
----
-
-[Establecer dirección hbbs/hbbr en el lado del cliente](/docs/es/self-host/install/#paso-3-establecer-la-dirección-hbbshbbr-en-el-lado-del-cliente)
diff --git a/content/self-host/client/_index.fr.md b/content/self-host/client/_index.fr.md
deleted file mode 100644
index 543d5f8..0000000
--- a/content/self-host/client/_index.fr.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Configuration côté client
-weight: 40
----
-
-[Configurer les adresses hbbs/hbbr côté client](/docs/fr/self-host/install/#étape-3--définir-ladresse-ip-hbbshbbr-côté-client)
-##
\ No newline at end of file
diff --git a/content/self-host/client/_index.it.md b/content/self-host/client/_index.it.md
deleted file mode 100644
index a9dd4ef..0000000
--- a/content/self-host/client/_index.it.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Client-Side Settings
-weight: 40
----
-
-[English](/docs/en/self-host/client)
\ No newline at end of file
diff --git a/content/self-host/client/_index.ja.md b/content/self-host/client/_index.ja.md
deleted file mode 100644
index 17882f6..0000000
--- a/content/self-host/client/_index.ja.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: クライアント側の設定
-weight: 40
----
-
-[クライアント側で hbbs/hbbr のアドレスを設定する](/docs/ja/self-host/install/#step-3--クライアント側でhbbshbbrのアドレスを設定する)
\ No newline at end of file
diff --git a/content/self-host/client/_index.nl.md b/content/self-host/client/_index.nl.md
deleted file mode 100644
index 18aea7d..0000000
--- a/content/self-host/client/_index.nl.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Klant-Zijde Instellingen
-weight: 40
----
-
-[Stel hbbs/hbbr adres in aan klantzijde](/docs/nl/zelf-host/installeer/#stap-3 - instellen-hbbshbbr-adres-op-klant-zijde)
\ No newline at end of file
diff --git a/content/self-host/client/_index.pt.md b/content/self-host/client/_index.pt.md
deleted file mode 100644
index a9dd4ef..0000000
--- a/content/self-host/client/_index.pt.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Client-Side Settings
-weight: 40
----
-
-[English](/docs/en/self-host/client)
\ No newline at end of file
diff --git a/content/self-host/client/_index.ru.md b/content/self-host/client/_index.ru.md
deleted file mode 100644
index babf62f..0000000
--- a/content/self-host/client/_index.ru.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Настройки на клиенте
-weight: 40
----
-
-[Настройки адреса hbbs/hbbr на стороне клиента](/docs/ru/self-host/install/#step-3--set-hbbshbbr-address-on-client-side)
\ No newline at end of file
diff --git a/content/self-host/client/_index.zh-cn.md b/content/self-host/client/_index.zh-cn.md
deleted file mode 100644
index 0db3d26..0000000
--- a/content/self-host/client/_index.zh-cn.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: 客户端设置
-weight: 40
----
-[在客户端设置 hbbs/hbbr 地址](/docs/zh-cn/self-host/install/#步骤3-在客户端设置-hbbshbbr-地址)
\ No newline at end of file
diff --git a/content/self-host/client/_index.zh-tw.md b/content/self-host/client/_index.zh-tw.md
deleted file mode 100644
index 5bfe749..0000000
--- a/content/self-host/client/_index.zh-tw.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: 客戶端設置
-weight: 40
----
-
-[在客戶端設置 hbbs/hbbr 地址](/docs/zh-tw/self-host/install/#步驟3-在客戶端設置-hbbshbbr-地址)
\ No newline at end of file
diff --git a/content/self-host/pro/_index.en.md b/content/self-host/pro/_index.en.md
deleted file mode 100644
index 0464a1c..0000000
--- a/content/self-host/pro/_index.en.md
+++ /dev/null
@@ -1,100 +0,0 @@
----
-title: Pro
-weight: 100
----
-
-Self-host Pro has more features compared to the open source version.
-
-- OIDC, LDAP, 2FA (email verification)
-- Address book
-- Rename
-- Log management
-- Device management
-- Settings sync
-- Permission control
-- Multiple relay servers (automatically selects your closest relay)
-
-{{% notice note %}}
-RustDesk client >= 1.2.0 required
-{{% /notice %}}
-
-## Download
-
-[https://github.com/rustdesk/rustdesk-server-pro/releases/latest](https://github.com/rustdesk/rustdesk-server-pro/releases/latest)
-
-## Installation
-
-### Simple Install
-
-To make life easy, we have developed scripts which take care of everything (install/upgrade/convert from open source) [Simple Install Script](https://rustdesk.com/docs/en/self-host/pro/installscript/).
-
-{{% notice note %}}
-Don't forget to get your license from [https://rustdesk.com/pricing.html](https://rustdesk.com/pricing.html), check [license](/docs/en/self-host/pro/license) page for more details.
-{{% /notice %}}
-
-### Manual Installation
-
-Almost as the same as [the open source version](/docs/en/self-host/install/), but you do not need to run hbbs/hbbr with any arguments, all can be set later in web console.
-
-- `-k _` is set by default
-- `-r ` 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
-
-### One more port (or use a proxy)
-
-One more TCP port `21114` is added for web console, please also add this port when you set firewall rules and docker port mapping.
-
-### Docker
-
-Install Docker with (this)[https://docs.docker.com/engine/install/] guide.
-
-Run the following commands:
-```bash
-sudo docker image pull rustdesk/rustdesk-server-pro
-sudo docker run --name hbbs -v `pwd`:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server-pro hbbs
-sudo docker run --name hbbr -v `pwd`:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server-pro hbbr
-```
-{{% notice note %}}
-The above example uses `sudo` and `--net=host`, this will not work on windows please remove these commands, if you remove `--net=host` please check below.
-{{% /notice %}}
-
-```bash
-macaddrhbbs=$(echo -n A0-62-2F; dd bs=1 count=3 if=/dev/random 2>/dev/null |hexdump -v -e '/1 "-%02X"')
-sudo docker image pull rustdesk/rustdesk-server-pro
-sudo docker run --name hbbs -p 21114:21114 -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --mac-address="$macaddrhbbs" --restart unless-stopped rustdesk/rustdesk-server-pro hbbs
-sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --restart unless-stopped rustdesk/rustdesk-server-pro hbbr
-```
-
-### Docker Compose
-
-With Docker Compose you HAVE to use `network_mode: "host"`. Install using (this)[https://docs.docker.com/engine/install/] guide.
-
-Copy the below into docker-compose.yml
-
-```yaml
-version: '3'
-
-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
-```
-
-The run `docker compose up -d`
diff --git a/content/self-host/pro/console/_index.en.md b/content/self-host/pro/console/_index.en.md
deleted file mode 100644
index 1f7253c..0000000
--- a/content/self-host/pro/console/_index.en.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: Web Console
-weight: 10
----
-
-Features:
-
-- Add/modify users and user groups
-- Modify device access permissions
-- Browse device connection logs and the other logs
-- Update settings
-- Manage client settings sync strategies
-
-## Log in
-
-As mentioned earlier, the default port of the web console is 21114. Enter `http://:21114` in the browser to enter the console page, as shown in the following figure (hbbs runs on the IP 192.168.1.143 server):
-![](/docs/en/self-host/pro/console/images/console-login.png)
-
-If you need https support, please install a web server such as `Nginx`.
-
-The default administrator username/password is admin/test1234, please be sure to change the password after logging in, select "Settings" in the account menu in the upper right corner to enter the password modification page, as shown in the following figure. You can also create another administrator account and delete this one. You'd better enable email login verification.
-
-![](/docs/en/self-host/pro/console/images/console-home.png?v2)
-
-Non-administrator users can also login to browser their device and logs, change their user settings.
-
-## Windows EXE
-
-For Windows clients, you can leave out the custom server configuration and put the configuration information in the `rustdesk.exe` filename instead. As shown above, please go to the console welcome page and click on `Windows EXE`. **`Client >=1.1.9 Required`**。
diff --git a/content/self-host/pro/console/images/console-home.png b/content/self-host/pro/console/images/console-home.png
deleted file mode 100644
index 56cc0b3..0000000
Binary files a/content/self-host/pro/console/images/console-home.png and /dev/null differ
diff --git a/content/self-host/pro/console/images/console-login.png b/content/self-host/pro/console/images/console-login.png
deleted file mode 100644
index 3f99505..0000000
Binary files a/content/self-host/pro/console/images/console-login.png and /dev/null differ
diff --git a/content/self-host/rustdesk-server-oss/Docker/_index.en.md b/content/self-host/rustdesk-server-oss/Docker/_index.en.md
new file mode 100644
index 0000000..d1ef267
--- /dev/null
+++ b/content/self-host/rustdesk-server-oss/Docker/_index.en.md
@@ -0,0 +1,63 @@
+---
+title: Docker
+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](https://docs.docker.com/engine/install) guide to ensure its the most up to date!
+
+By default, `hbbs` listens on 21115 (TCP) and 21116 (TCP/UDP), 21118 (TCP), and `hbbr` listens on 21117 (TCP), 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.*
+
+- TCP (**21115, 21116, 21117, 21118, 21119**)
+- UDP (**21116**)
+
+### Docker examples
+```bash
+sudo docker image pull rustdesk/rustdesk-server
+sudo docker run --name hbbs -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs -r
+sudo docker run --name hbbr -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr
+```
+
+
+{{% notice note %}}
+`--net=host` only works on **Linux**, which makes `hbbs`/`hbbr` see the real incoming IP Address rather than the Container IP (172.17.0.1).
+If `--net=host` works fine, the `-p` options are not used. If on Windows, leave out `sudo` and `--net=host`.
+
+**Please remove `--net=host` if you are having connection problems on your platform.**
+{{% /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.
+{{% /notice %}}
+
+### Docker Compose examples
+For running the docker files with the `docker-compose.yml` as described here you need to have [**Docker Compose**](https://docs.docker.com/compose/) installed.
+```yaml
+version: '3'
+
+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
+```
+
diff --git a/content/self-host/rustdesk-server-oss/_index.de.md b/content/self-host/rustdesk-server-oss/_index.de.md
new file mode 100755
index 0000000..21e8d8e
--- /dev/null
+++ b/content/self-host/rustdesk-server-oss/_index.de.md
@@ -0,0 +1,14 @@
+---
+title: Selbst-Host
+weight: 5
+pre: "2. "
+chapter: true
+---
+
+### Kapitel 2
+
+# Selbst-Host
+
+Bitte besuchen Sie unseren [Discord](https://discord.com/invite/nDceKgxnkV), wenn Sie mit uns über das Selbst-Hosten Ihres eigenen [Open-Source-RustDesk-Servers](https://github.com/rustdesk/rustdesk-server) diskutieren möchten.
+
+{{% children depth="3" showhidden="true" %}}
diff --git a/content/self-host/rustdesk-server-oss/_index.en.md b/content/self-host/rustdesk-server-oss/_index.en.md
new file mode 100755
index 0000000..25ec419
--- /dev/null
+++ b/content/self-host/rustdesk-server-oss/_index.en.md
@@ -0,0 +1,8 @@
+---
+title: RustDesk Server OSS
+weight: 7
+---
+
+Please join our [Discord](https://discord.com/invite/nDceKgxnkV) if you would like to talk with us about self-hosting your own [open source RustDesk Server](https://github.com/rustdesk/rustdesk-server).
+
+{{% children depth="3" showhidden="true" %}}
diff --git a/content/self-host/rustdesk-server-oss/_index.es.md b/content/self-host/rustdesk-server-oss/_index.es.md
new file mode 100644
index 0000000..53f0b90
--- /dev/null
+++ b/content/self-host/rustdesk-server-oss/_index.es.md
@@ -0,0 +1,14 @@
+---
+title: Self-host
+weight: 5
+pre: "2. "
+chapter: true
+---
+
+### Capitulo 2
+
+# Self-host
+
+Por favor únete a nuestro [Discord](https://discord.com/invite/nDceKgxnkV) si desea hablar con nosotros sobre el alojamiento propio de su propio servidor RustDesk.
+
+{{% children depth="3" showhidden="true" %}}
diff --git a/content/self-host/rustdesk-server-oss/_index.fr.md b/content/self-host/rustdesk-server-oss/_index.fr.md
new file mode 100644
index 0000000..02d4562
--- /dev/null
+++ b/content/self-host/rustdesk-server-oss/_index.fr.md
@@ -0,0 +1,14 @@
+---
+title: Auto-héberger son serveur
+weight: 5
+pre: "2. "
+chapter: true
+---
+
+### Chapitre 2
+
+# Auto-héberger son serveur
+
+Nous développons continuellement le serveur, si vous avez des commentaires, veuillez rejoindre notre discussion [Discord](https://discord.com/invite/nDceKgxnkV).
+
+{{% children depth="3" showhidden="true" %}}
diff --git a/content/self-host/rustdesk-server-oss/_index.it.md b/content/self-host/rustdesk-server-oss/_index.it.md
new file mode 100755
index 0000000..1cfa1eb
--- /dev/null
+++ b/content/self-host/rustdesk-server-oss/_index.it.md
@@ -0,0 +1,14 @@
+---
+title: Self-host
+weight: 5
+pre: "2. "
+chapter: true
+---
+
+### Capitolo 2
+
+# Self-host
+
+Stiamo sviluppando continuamente il server, se hai commenti, partecipa alla nostra discussione su [Discord](https://discord.com/invite/nDceKgxnkV).
+
+{{% children depth="3" showhidden="true" %}}
\ No newline at end of file
diff --git a/content/self-host/rustdesk-server-oss/_index.ja.md b/content/self-host/rustdesk-server-oss/_index.ja.md
new file mode 100755
index 0000000..439a11e
--- /dev/null
+++ b/content/self-host/rustdesk-server-oss/_index.ja.md
@@ -0,0 +1,14 @@
+---
+title: セルフホスト
+weight: 5
+pre: "2. "
+chapter: true
+---
+
+### 第2章
+
+# セルフホスト
+
+サーバーの開発は継続的に行っています。困ったことがあれば[Discord](https://discord.com/invite/nDceKgxnkV)に参加してください。
+
+{{% children depth="3" showhidden="true" %}}
\ No newline at end of file
diff --git a/content/self-host/rustdesk-server-oss/_index.nl.md b/content/self-host/rustdesk-server-oss/_index.nl.md
new file mode 100644
index 0000000..bd85868
--- /dev/null
+++ b/content/self-host/rustdesk-server-oss/_index.nl.md
@@ -0,0 +1,14 @@
+---
+title: Zelf-hosten
+weight: 5
+pre: "2. "
+chapter: true
+---
+
+### Hoofdstuk 2
+
+# Zelf-hosten
+
+Sluit u aan bij onze [Discord](https://discord.com/invite/nDceKgxnkV) als u met ons wilt praten over het zelf-hosten van uw eigen RustDesk server.
+
+{{% children depth="3" showhidden="true" %}}
diff --git a/content/self-host/rustdesk-server-oss/_index.pt.md b/content/self-host/rustdesk-server-oss/_index.pt.md
new file mode 100755
index 0000000..1785b58
--- /dev/null
+++ b/content/self-host/rustdesk-server-oss/_index.pt.md
@@ -0,0 +1,14 @@
+---
+title: Auto-hospedagem
+weight: 5
+pre: "2. "
+chapter: true
+---
+
+### Capítulo 2
+
+# Auto-hospedagem
+
+Estamos continuamente desenvolvendo o servidor, se você tiver algum comentário, participe da nossa discussão [Discord](https://discord.com/invite/nDceKgxnkV).
+
+{{% children depth="3" showhidden="true" %}}
\ No newline at end of file
diff --git a/content/self-host/rustdesk-server-oss/_index.ru.md b/content/self-host/rustdesk-server-oss/_index.ru.md
new file mode 100755
index 0000000..bce74fa
--- /dev/null
+++ b/content/self-host/rustdesk-server-oss/_index.ru.md
@@ -0,0 +1,14 @@
+---
+title: Самостоятельное развёртывание
+weight: 5
+pre: "2. "
+chapter: true
+---
+
+### Раздел 2
+
+# Самостоятельное развёртывание
+
+Присоединяйтесь к нашему серверу [Discord](https://discord.com/invite/nDceKgxnkV) если хотите обсудить сервер для самостоятельного развёртывания.
+
+{{% children depth="3" showhidden="true" %}}
diff --git a/content/self-host/rustdesk-server-oss/_index.zh-cn.md b/content/self-host/rustdesk-server-oss/_index.zh-cn.md
new file mode 100755
index 0000000..c6636c3
--- /dev/null
+++ b/content/self-host/rustdesk-server-oss/_index.zh-cn.md
@@ -0,0 +1,14 @@
+---
+title: 自建服务器
+weight: 5
+pre: "2. "
+chapter: true
+---
+
+### 章节 2
+
+# 自建服务器
+
+我们在持续开发服务器,如果您有什么意见,请加入我们的[Discord](https://discord.com/invite/nDceKgxnkV)讨论。
+
+{{% children depth="3" showhidden="true" %}}
\ No newline at end of file
diff --git a/content/self-host/rustdesk-server-oss/_index.zh-tw.md b/content/self-host/rustdesk-server-oss/_index.zh-tw.md
new file mode 100755
index 0000000..8a37a9c
--- /dev/null
+++ b/content/self-host/rustdesk-server-oss/_index.zh-tw.md
@@ -0,0 +1,14 @@
+---
+title: 自架伺服器
+weight: 5
+pre: "2. "
+chapter: true
+---
+
+### 章節 2
+
+# 自架伺服器
+
+如果您想要和我們聊聊關於[自架 RustDesk 伺服器](https://github.com/rustdesk/rustdesk-server)的事,請加入我們的 [Discord](https://discord.com/invite/nDceKgxnkV) 伺服器。
+
+{{% children depth="3" showhidden="true" %}}
diff --git a/content/self-host/hardcode-settings/_index.de.md b/content/self-host/rustdesk-server-oss/hardcode-settings/_index.de.md
similarity index 100%
rename from content/self-host/hardcode-settings/_index.de.md
rename to content/self-host/rustdesk-server-oss/hardcode-settings/_index.de.md
diff --git a/content/self-host/hardcode-settings/_index.en.md b/content/self-host/rustdesk-server-oss/hardcode-settings/_index.en.md
similarity index 100%
rename from content/self-host/hardcode-settings/_index.en.md
rename to content/self-host/rustdesk-server-oss/hardcode-settings/_index.en.md
diff --git a/content/self-host/hardcode-settings/_index.fr.md b/content/self-host/rustdesk-server-oss/hardcode-settings/_index.fr.md
similarity index 100%
rename from content/self-host/hardcode-settings/_index.fr.md
rename to content/self-host/rustdesk-server-oss/hardcode-settings/_index.fr.md
diff --git a/content/self-host/hardcode-settings/_index.nl.md b/content/self-host/rustdesk-server-oss/hardcode-settings/_index.nl.md
similarity index 100%
rename from content/self-host/hardcode-settings/_index.nl.md
rename to content/self-host/rustdesk-server-oss/hardcode-settings/_index.nl.md
diff --git a/content/self-host/hardcode-settings/_index.zh-cn.md b/content/self-host/rustdesk-server-oss/hardcode-settings/_index.zh-cn.md
similarity index 100%
rename from content/self-host/hardcode-settings/_index.zh-cn.md
rename to content/self-host/rustdesk-server-oss/hardcode-settings/_index.zh-cn.md
diff --git a/content/self-host/install/_index.de.md b/content/self-host/rustdesk-server-oss/install/_index.de.md
similarity index 100%
rename from content/self-host/install/_index.de.md
rename to content/self-host/rustdesk-server-oss/install/_index.de.md
diff --git a/content/self-host/install/_index.en.md b/content/self-host/rustdesk-server-oss/install/_index.en.md
similarity index 70%
rename from content/self-host/install/_index.en.md
rename to content/self-host/rustdesk-server-oss/install/_index.en.md
index 4bc2eb4..6929e9c 100644
--- a/content/self-host/install/_index.en.md
+++ b/content/self-host/rustdesk-server-oss/install/_index.en.md
@@ -1,6 +1,6 @@
---
title: Installation
-weight: 10
+weight: 1
---
## Install your own server as systemd service using a simple to run install script
@@ -39,60 +39,8 @@ There is also an update script on [Techahold's](https://github.com/techahold/rus
Please [Download](https://github.com/rustdesk/rustdesk-server/releases/latest) deb files yourself and install with `apt-get -f install .deb` or `dpkg -i .deb`.
-## Install your own server with Docker
-### Requirements
-You need to have Docker/Podman installed to run a rustdesk-server as a docker container
-
-### Docker examples
-```bash
-sudo docker image pull rustdesk/rustdesk-server
-sudo docker run --name hbbs -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs -r
-sudo docker run --name hbbr -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr
-```
-
-
-{{% notice note %}}
-`--net=host` only works on **Linux**, which makes `hbbs`/`hbbr` see the real incoming IP Address rather than the Container IP (172.17.0.1).
-If `--net=host` works fine, the `-p` options are not used. If on Windows, leave out `sudo` and `--net=host`.
-
-**Please remove `--net=host` if you are having connection problems on your platform.**
-{{% /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.
-{{% /notice %}}
-
-### Docker Compose examples
-For running the docker files with the `docker-compose.yml` as described here you need to have [**Docker Compose**](https://docs.docker.com/compose/) installed.
-```yaml
-version: '3'
-
-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
-```
-
-## Set up your own server instance without using Docker
+## Set up your own server instance manually.
### STEP 1: Download server-side software programs
@@ -172,24 +120,6 @@ hbbs.example.com:21116
![](/docs/en/self-host/install/images/server-set-window.png)
-#### Put config in rustdesk.exe file name (Windows only)
-
-Change `rustdesk.exe` to rustdesk-`host=,key=`.exe, e.g. rustdesk-`host=192.168.1.137,key=xfdsfsd32=32`.exe. You can see the config result in the About Window below.
-
-
-{{% notice note %}}
-You need to set both `host` and `key`, missing either one will not work.
-
-Optionally add a `,` (comma) character after the key, before the `.exe` part as a delimiter, to avoid the key being mangled if Windows or the browser renames the file when downloading duplicated names.
-
-If there are invalid characters in the key which can not be used in a Windows file name, please remove the
-`id_ed25519` file from your server and restart `hbbs`/`hbbr`. This will cause the `id_ed25519.pub` file to regenerate. You may need to
-repeat this process until you get valid characters.
-{{% /notice %}}
-
-| Menu | About Page |
-| -- | -- |
-| ![](/docs/en/self-host/install/images/aboutmenu.png) | ![](/docs/en/self-host/install/images/lic.png) |
## Key
diff --git a/content/self-host/install/_index.es.md b/content/self-host/rustdesk-server-oss/install/_index.es.md
similarity index 100%
rename from content/self-host/install/_index.es.md
rename to content/self-host/rustdesk-server-oss/install/_index.es.md
diff --git a/content/self-host/install/_index.fr.md b/content/self-host/rustdesk-server-oss/install/_index.fr.md
similarity index 100%
rename from content/self-host/install/_index.fr.md
rename to content/self-host/rustdesk-server-oss/install/_index.fr.md
diff --git a/content/self-host/install/_index.it.md b/content/self-host/rustdesk-server-oss/install/_index.it.md
similarity index 100%
rename from content/self-host/install/_index.it.md
rename to content/self-host/rustdesk-server-oss/install/_index.it.md
diff --git a/content/self-host/install/_index.ja.md b/content/self-host/rustdesk-server-oss/install/_index.ja.md
similarity index 100%
rename from content/self-host/install/_index.ja.md
rename to content/self-host/rustdesk-server-oss/install/_index.ja.md
diff --git a/content/self-host/install/_index.nl.md b/content/self-host/rustdesk-server-oss/install/_index.nl.md
similarity index 100%
rename from content/self-host/install/_index.nl.md
rename to content/self-host/rustdesk-server-oss/install/_index.nl.md
diff --git a/content/self-host/install/_index.pt.md b/content/self-host/rustdesk-server-oss/install/_index.pt.md
similarity index 100%
rename from content/self-host/install/_index.pt.md
rename to content/self-host/rustdesk-server-oss/install/_index.pt.md
diff --git a/content/self-host/install/_index.ru.md b/content/self-host/rustdesk-server-oss/install/_index.ru.md
similarity index 100%
rename from content/self-host/install/_index.ru.md
rename to content/self-host/rustdesk-server-oss/install/_index.ru.md
diff --git a/content/self-host/install/_index.zh-cn.md b/content/self-host/rustdesk-server-oss/install/_index.zh-cn.md
similarity index 100%
rename from content/self-host/install/_index.zh-cn.md
rename to content/self-host/rustdesk-server-oss/install/_index.zh-cn.md
diff --git a/content/self-host/install/_index.zh-tw.md b/content/self-host/rustdesk-server-oss/install/_index.zh-tw.md
similarity index 100%
rename from content/self-host/install/_index.zh-tw.md
rename to content/self-host/rustdesk-server-oss/install/_index.zh-tw.md
diff --git a/content/self-host/install/images/aboutmenu.png b/content/self-host/rustdesk-server-oss/install/images/aboutmenu.png
similarity index 100%
rename from content/self-host/install/images/aboutmenu.png
rename to content/self-host/rustdesk-server-oss/install/images/aboutmenu.png
diff --git a/content/self-host/install/images/lic.png b/content/self-host/rustdesk-server-oss/install/images/lic.png
similarity index 100%
rename from content/self-host/install/images/lic.png
rename to content/self-host/rustdesk-server-oss/install/images/lic.png
diff --git a/content/self-host/install/images/server-set-menu-zh.png b/content/self-host/rustdesk-server-oss/install/images/server-set-menu-zh.png
similarity index 100%
rename from content/self-host/install/images/server-set-menu-zh.png
rename to content/self-host/rustdesk-server-oss/install/images/server-set-menu-zh.png
diff --git a/content/self-host/install/images/server-set-menu.png b/content/self-host/rustdesk-server-oss/install/images/server-set-menu.png
similarity index 100%
rename from content/self-host/install/images/server-set-menu.png
rename to content/self-host/rustdesk-server-oss/install/images/server-set-menu.png
diff --git a/content/self-host/install/images/server-set-window-zh.png b/content/self-host/rustdesk-server-oss/install/images/server-set-window-zh.png
similarity index 100%
rename from content/self-host/install/images/server-set-window-zh.png
rename to content/self-host/rustdesk-server-oss/install/images/server-set-window-zh.png
diff --git a/content/self-host/install/images/server-set-window.png b/content/self-host/rustdesk-server-oss/install/images/server-set-window.png
similarity index 100%
rename from content/self-host/install/images/server-set-window.png
rename to content/self-host/rustdesk-server-oss/install/images/server-set-window.png
diff --git a/content/self-host/synology/_index.de.md b/content/self-host/rustdesk-server-oss/synology/_index.de.md
similarity index 100%
rename from content/self-host/synology/_index.de.md
rename to content/self-host/rustdesk-server-oss/synology/_index.de.md
diff --git a/content/self-host/synology/_index.en.md b/content/self-host/rustdesk-server-oss/synology/_index.en.md
similarity index 66%
rename from content/self-host/synology/_index.en.md
rename to content/self-host/rustdesk-server-oss/synology/_index.en.md
index 7d9a7fc..e49675e 100644
--- a/content/self-host/synology/_index.en.md
+++ b/content/self-host/rustdesk-server-oss/synology/_index.en.md
@@ -13,33 +13,33 @@ Open package manager and install docker
| | |
| -- | -- |
-| ![](/docs/en/self-host/synology/images/package-manager.png) | ![](/docs/en/self-host/synology/images/docker.png) |
+| ![](images/package-manager.png) | ![](images/docker.png) |
### Install RustDesk Server
| Search rustdesk-server in Docker's registry and install by double click | Installed rustdesk-server image, double click to create rustdesk-server container |
| -- | -- |
-| ![](/docs/en/self-host/synology/images/pull-rustdesk-server.png) | ![](/docs/en/self-host/synology/images/rustdesk-server-installed.png) |
+| ![](images/pull-rustdesk-server.png) | ![](images/rustdesk-server-installed.png) |
### Create hbbs container
As mentioned above, double click on rustdesk-server image to create new container, set it name to `hbbs`.
-![](/docs/en/self-host/synology/images/hbbs.png)
+![](images/hbbs.png)
Click on above "Advanced Settings".
- Enable auto-restart
-![](/docs/en/self-host/synology/images/auto-restart.png)
+![](images/auto-restart.png)
-- Enable "Use the same network as Docker host", for more about host net, please [check](/docs/en/self-host/install/#net-host)
-![](/docs/en/self-host/synology/images/host-net.png)
+- Enable "Use the same network as Docker host", for more about host net, please [check](install/#net-host)
+![](images/host-net.png)
- Mount a host directory (e.g. `/home/rustdesk/`) to `/root`, hbbs will generate some files (database and `key` files) in this directory which need to be persistent over reboots.
| Mount | Files generated in the host directory |
| -- | -- |
-| ![](/docs/en/self-host/synology/images/mount.png?width=500px) | ![](/docs/en/self-host/synology/images/mounted-dir.png?width=300px) |
+| ![](images/mount.png?width=500px) | ![](images/mounted-dir.png?width=300px) |
- Set command
{{% notice note %}}
@@ -49,26 +49,26 @@ Synology's OS is Debian based, so host net (--net=host) works fine, we do not ne
{{% /notice %}}
-![](/docs/en/self-host/synology/images/hbbs-cmd.png?v2)
+![](images/hbbs-cmd.png?v2)
- Done
-![](/docs/en/self-host/synology/images/hbbs-config.png)
+![](images/hbbs-config.png)
### Create hbbr container
Please repeat above `hbbs` steps, but name the container `hbbr` and command (for Set Command Step) should be `hbbr -k _`.
-![](/docs/en/self-host/synology/images/hbbr-config.png)
+![](images/hbbr-config.png)
### hbbr/hbbs containers
-![](/docs/en/self-host/synology/images/containers.png?width=500px)
+![](images/containers.png?width=500px)
| Double click on container and check log | Double confirm hbbs/hbbr using host network |
| -- | -- |
-| ![](/docs/en/self-host/synology/images/log.png?width=500px) | ![](/docs/en/self-host/synology/images/network-types.png?width=500px) |
+| ![](images/log.png?width=500px) | ![](images/network-types.png?width=500px) |
### Retrieve your Key
diff --git a/content/self-host/synology/_index.es.md b/content/self-host/rustdesk-server-oss/synology/_index.es.md
similarity index 100%
rename from content/self-host/synology/_index.es.md
rename to content/self-host/rustdesk-server-oss/synology/_index.es.md
diff --git a/content/self-host/synology/_index.fr.md b/content/self-host/rustdesk-server-oss/synology/_index.fr.md
similarity index 100%
rename from content/self-host/synology/_index.fr.md
rename to content/self-host/rustdesk-server-oss/synology/_index.fr.md
diff --git a/content/self-host/synology/_index.it.md b/content/self-host/rustdesk-server-oss/synology/_index.it.md
similarity index 100%
rename from content/self-host/synology/_index.it.md
rename to content/self-host/rustdesk-server-oss/synology/_index.it.md
diff --git a/content/self-host/synology/_index.ja.md b/content/self-host/rustdesk-server-oss/synology/_index.ja.md
similarity index 100%
rename from content/self-host/synology/_index.ja.md
rename to content/self-host/rustdesk-server-oss/synology/_index.ja.md
diff --git a/content/self-host/synology/_index.nl.md b/content/self-host/rustdesk-server-oss/synology/_index.nl.md
similarity index 100%
rename from content/self-host/synology/_index.nl.md
rename to content/self-host/rustdesk-server-oss/synology/_index.nl.md
diff --git a/content/self-host/synology/_index.pt.md b/content/self-host/rustdesk-server-oss/synology/_index.pt.md
similarity index 100%
rename from content/self-host/synology/_index.pt.md
rename to content/self-host/rustdesk-server-oss/synology/_index.pt.md
diff --git a/content/self-host/synology/_index.ru.md b/content/self-host/rustdesk-server-oss/synology/_index.ru.md
similarity index 100%
rename from content/self-host/synology/_index.ru.md
rename to content/self-host/rustdesk-server-oss/synology/_index.ru.md
diff --git a/content/self-host/synology/_index.zh-cn.md b/content/self-host/rustdesk-server-oss/synology/_index.zh-cn.md
similarity index 100%
rename from content/self-host/synology/_index.zh-cn.md
rename to content/self-host/rustdesk-server-oss/synology/_index.zh-cn.md
diff --git a/content/self-host/synology/_index.zh-tw.md b/content/self-host/rustdesk-server-oss/synology/_index.zh-tw.md
similarity index 100%
rename from content/self-host/synology/_index.zh-tw.md
rename to content/self-host/rustdesk-server-oss/synology/_index.zh-tw.md
diff --git a/content/self-host/synology/images/auto-restart.png b/content/self-host/rustdesk-server-oss/synology/images/auto-restart.png
similarity index 100%
rename from content/self-host/synology/images/auto-restart.png
rename to content/self-host/rustdesk-server-oss/synology/images/auto-restart.png
diff --git a/content/self-host/synology/images/change-password.png b/content/self-host/rustdesk-server-oss/synology/images/change-password.png
similarity index 100%
rename from content/self-host/synology/images/change-password.png
rename to content/self-host/rustdesk-server-oss/synology/images/change-password.png
diff --git a/content/self-host/synology/images/console.png b/content/self-host/rustdesk-server-oss/synology/images/console.png
similarity index 100%
rename from content/self-host/synology/images/console.png
rename to content/self-host/rustdesk-server-oss/synology/images/console.png
diff --git a/content/self-host/synology/images/containers.png b/content/self-host/rustdesk-server-oss/synology/images/containers.png
similarity index 100%
rename from content/self-host/synology/images/containers.png
rename to content/self-host/rustdesk-server-oss/synology/images/containers.png
diff --git a/content/self-host/synology/images/docker.png b/content/self-host/rustdesk-server-oss/synology/images/docker.png
similarity index 100%
rename from content/self-host/synology/images/docker.png
rename to content/self-host/rustdesk-server-oss/synology/images/docker.png
diff --git a/content/self-host/synology/images/go-to-settings.png b/content/self-host/rustdesk-server-oss/synology/images/go-to-settings.png
similarity index 100%
rename from content/self-host/synology/images/go-to-settings.png
rename to content/self-host/rustdesk-server-oss/synology/images/go-to-settings.png
diff --git a/content/self-host/synology/images/hbbr-config.png b/content/self-host/rustdesk-server-oss/synology/images/hbbr-config.png
similarity index 100%
rename from content/self-host/synology/images/hbbr-config.png
rename to content/self-host/rustdesk-server-oss/synology/images/hbbr-config.png
diff --git a/content/self-host/synology/images/hbbs-cmd.png b/content/self-host/rustdesk-server-oss/synology/images/hbbs-cmd.png
similarity index 100%
rename from content/self-host/synology/images/hbbs-cmd.png
rename to content/self-host/rustdesk-server-oss/synology/images/hbbs-cmd.png
diff --git a/content/self-host/synology/images/hbbs-config.png b/content/self-host/rustdesk-server-oss/synology/images/hbbs-config.png
similarity index 100%
rename from content/self-host/synology/images/hbbs-config.png
rename to content/self-host/rustdesk-server-oss/synology/images/hbbs-config.png
diff --git a/content/self-host/synology/images/hbbs.png b/content/self-host/rustdesk-server-oss/synology/images/hbbs.png
similarity index 100%
rename from content/self-host/synology/images/hbbs.png
rename to content/self-host/rustdesk-server-oss/synology/images/hbbs.png
diff --git a/content/self-host/synology/images/host-net.png b/content/self-host/rustdesk-server-oss/synology/images/host-net.png
similarity index 100%
rename from content/self-host/synology/images/host-net.png
rename to content/self-host/rustdesk-server-oss/synology/images/host-net.png
diff --git a/content/self-host/synology/images/log.png b/content/self-host/rustdesk-server-oss/synology/images/log.png
similarity index 100%
rename from content/self-host/synology/images/log.png
rename to content/self-host/rustdesk-server-oss/synology/images/log.png
diff --git a/content/self-host/synology/images/mount.png b/content/self-host/rustdesk-server-oss/synology/images/mount.png
similarity index 100%
rename from content/self-host/synology/images/mount.png
rename to content/self-host/rustdesk-server-oss/synology/images/mount.png
diff --git a/content/self-host/synology/images/mounted-dir.png b/content/self-host/rustdesk-server-oss/synology/images/mounted-dir.png
similarity index 100%
rename from content/self-host/synology/images/mounted-dir.png
rename to content/self-host/rustdesk-server-oss/synology/images/mounted-dir.png
diff --git a/content/self-host/synology/images/network-types.png b/content/self-host/rustdesk-server-oss/synology/images/network-types.png
similarity index 100%
rename from content/self-host/synology/images/network-types.png
rename to content/self-host/rustdesk-server-oss/synology/images/network-types.png
diff --git a/content/self-host/synology/images/package-manager.png b/content/self-host/rustdesk-server-oss/synology/images/package-manager.png
similarity index 100%
rename from content/self-host/synology/images/package-manager.png
rename to content/self-host/rustdesk-server-oss/synology/images/package-manager.png
diff --git a/content/self-host/synology/images/pull-rustdesk-server.png b/content/self-host/rustdesk-server-oss/synology/images/pull-rustdesk-server.png
similarity index 100%
rename from content/self-host/synology/images/pull-rustdesk-server.png
rename to content/self-host/rustdesk-server-oss/synology/images/pull-rustdesk-server.png
diff --git a/content/self-host/synology/images/rustdesk-server-installed.png b/content/self-host/rustdesk-server-oss/synology/images/rustdesk-server-installed.png
similarity index 100%
rename from content/self-host/synology/images/rustdesk-server-installed.png
rename to content/self-host/rustdesk-server-oss/synology/images/rustdesk-server-installed.png
diff --git a/content/self-host/windows/_index.de.md b/content/self-host/rustdesk-server-oss/windows/_index.de.md
similarity index 100%
rename from content/self-host/windows/_index.de.md
rename to content/self-host/rustdesk-server-oss/windows/_index.de.md
diff --git a/content/self-host/windows/_index.en.md b/content/self-host/rustdesk-server-oss/windows/_index.en.md
similarity index 100%
rename from content/self-host/windows/_index.en.md
rename to content/self-host/rustdesk-server-oss/windows/_index.en.md
diff --git a/content/self-host/windows/_index.es.md b/content/self-host/rustdesk-server-oss/windows/_index.es.md
similarity index 100%
rename from content/self-host/windows/_index.es.md
rename to content/self-host/rustdesk-server-oss/windows/_index.es.md
diff --git a/content/self-host/windows/_index.fr.md b/content/self-host/rustdesk-server-oss/windows/_index.fr.md
similarity index 100%
rename from content/self-host/windows/_index.fr.md
rename to content/self-host/rustdesk-server-oss/windows/_index.fr.md
diff --git a/content/self-host/windows/_index.it.md b/content/self-host/rustdesk-server-oss/windows/_index.it.md
similarity index 100%
rename from content/self-host/windows/_index.it.md
rename to content/self-host/rustdesk-server-oss/windows/_index.it.md
diff --git a/content/self-host/windows/_index.ja.md b/content/self-host/rustdesk-server-oss/windows/_index.ja.md
similarity index 100%
rename from content/self-host/windows/_index.ja.md
rename to content/self-host/rustdesk-server-oss/windows/_index.ja.md
diff --git a/content/self-host/windows/_index.nl.md b/content/self-host/rustdesk-server-oss/windows/_index.nl.md
similarity index 100%
rename from content/self-host/windows/_index.nl.md
rename to content/self-host/rustdesk-server-oss/windows/_index.nl.md
diff --git a/content/self-host/windows/_index.pt.md b/content/self-host/rustdesk-server-oss/windows/_index.pt.md
similarity index 100%
rename from content/self-host/windows/_index.pt.md
rename to content/self-host/rustdesk-server-oss/windows/_index.pt.md
diff --git a/content/self-host/windows/_index.ru.md b/content/self-host/rustdesk-server-oss/windows/_index.ru.md
similarity index 100%
rename from content/self-host/windows/_index.ru.md
rename to content/self-host/rustdesk-server-oss/windows/_index.ru.md
diff --git a/content/self-host/windows/_index.zh-cn.md b/content/self-host/rustdesk-server-oss/windows/_index.zh-cn.md
similarity index 100%
rename from content/self-host/windows/_index.zh-cn.md
rename to content/self-host/rustdesk-server-oss/windows/_index.zh-cn.md
diff --git a/content/self-host/windows/_index.zh-tw.md b/content/self-host/rustdesk-server-oss/windows/_index.zh-tw.md
similarity index 100%
rename from content/self-host/windows/_index.zh-tw.md
rename to content/self-host/rustdesk-server-oss/windows/_index.zh-tw.md
diff --git a/content/self-host/rustdesk-server-pro/Docker/_index.en.md b/content/self-host/rustdesk-server-pro/Docker/_index.en.md
new file mode 100644
index 0000000..1ac412d
--- /dev/null
+++ b/content/self-host/rustdesk-server-pro/Docker/_index.en.md
@@ -0,0 +1,60 @@
+---
+title: Docker
+weight: 6
+---
+
+### Docker
+
+Install Docker with [this](https://docs.docker.com/engine/install) guide to ensure its the most up to date!
+
+Run the following commands:
+```bash
+sudo docker image pull rustdesk/rustdesk-server-pro
+sudo docker run --name hbbs -v `pwd`:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server-pro hbbs
+sudo docker run --name hbbr -v `pwd`:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server-pro hbbr
+```
+{{% notice note %}}
+The above example uses `sudo` and `--net=host`, this will not work on windows please remove these commands, if you remove `--net=host` please check below.
+{{% /notice %}}
+
+```bash
+macaddrhbbs=$(echo -n A0-62-2F; dd bs=1 count=3 if=/dev/random 2>/dev/null |hexdump -v -e '/1 "-%02X"')
+sudo docker image pull rustdesk/rustdesk-server-pro
+sudo docker run --name hbbs -p 21114:21114 -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --mac-address="$macaddrhbbs" --restart unless-stopped rustdesk/rustdesk-server-pro hbbs
+sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --restart unless-stopped rustdesk/rustdesk-server-pro hbbr
+```
+
+### Docker Compose
+
+With Docker Compose you HAVE to use `network_mode: "host"`. Install Docker using [this](https://docs.docker.com/engine/install) guide to ensure its the most up to date!
+
+Copy the below into docker-compose.yml
+
+```yaml
+version: '3'
+
+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
+```
+
+The run `docker compose up -d`
\ No newline at end of file
diff --git a/content/self-host/pro/FAQ/_index.de.md b/content/self-host/rustdesk-server-pro/FAQ/_index.de.md
similarity index 100%
rename from content/self-host/pro/FAQ/_index.de.md
rename to content/self-host/rustdesk-server-pro/FAQ/_index.de.md
diff --git a/content/self-host/pro/FAQ/_index.en.md b/content/self-host/rustdesk-server-pro/FAQ/_index.en.md
similarity index 85%
rename from content/self-host/pro/FAQ/_index.en.md
rename to content/self-host/rustdesk-server-pro/FAQ/_index.en.md
index c5ddd24..ae05bde 100644
--- a/content/self-host/pro/FAQ/_index.en.md
+++ b/content/self-host/rustdesk-server-pro/FAQ/_index.en.md
@@ -52,6 +52,28 @@ To check the status `sudo systemctl status rustdesk-hbbs|rustdesk-hbbr` e.g. `su
9. Log in with the username `admin` and password `test1234`.
10. Enter your license code purchased in step 1.
+## Can I use IIS as a reverse proxy?
+1. Open IIS (Or install it)
+2. Create a new website for rustdesk with the bindings (Ideally 443) and relevant certificate. Basic settings should point this to a blank folder. (If you use the default site, make sure there are no other files in the folder).
+3. On IIS, install Application Request Routing (https://www.iis.net/downloads/microsoft/application-request-routing) and URL Rewrite (https://learn.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-the-url-rewrite-module)
+
+### Application Request Routing
+
+1. Under the IIS Server Host open Application Request Routing:
+2. Go to Server Proxy Settings
+3. Enable proxy and all settings will appear, you can leave them as the defaults.
+4. Save the settings and we can go to the next step. URL rewrite.
+
+### URL rewrite
+1. Open the site on IIS on the left pane and double-click on URL rewrite
+2. Click Add rules
+3. Disable dynamic compression from under compression.
+4. Set up a new reverse proxy rule
+5. Setup the local address (the 21114 address) \
+ Inbound Rule – the rustdesk internal 21114 address \
+ Outbound Rules – From: rustdesk internal 21114 address and To is the external address. \
+Note – no http / https before the addresses – they are automatically handled. Also, ensure all the addresses are accessible both internally and externally.
+
## How can I change the admin password?
1. Go to `https://rustdesk.yourdomain.com` or `http://youripaddress:21114`.
2. Log in with the username `admin` and password `test1234`.
@@ -59,42 +81,9 @@ To check the status `sudo systemctl status rustdesk-hbbs|rustdesk-hbbr` e.g. `su
4. Click on `Settings`.
5. Enter your new password in the boxes provided.
-## How can I delete the default `admin` user?
-1. Create another account with `administrator` enabled.
-2. Log in with the new administrative account.
-3. Delete the `admin` on `Users` page.
-
-## How can I setup my relay servers?
-1. Go to `Settings` on the left hand menu.
-2. Click on `Relay` on the sub-menu.
-3. Click `+` next to `Relay Servers`.
-4. Enter the Relay server DNS address or IP address in the box which now shows and press Enter.
-5. If you have more than one Relay server you can keep clicking `+` and adapt the Geo settings is required (remember and copy your key to the other servers).
-
-## How can I set or change the license?
-1. Go to `Settings` on the left hand menu.
-2. Click on `License` on the sub-menu.
-3. Click `Edit` and paste in your license code.
-4. Click `OK`.
-
## How can I move my license to a new server?
Please see [here](https://rustdesk.com/docs/en/self-host/pro/license/#invoices-and-migration).
-## How can I view the logs?
-On the left hand side click on `Logs`.
-
-## How can I setup Emails?
-Gmail in this example
-
-1. Go to `Settings` on the left hand menu.
-2. Click on `SMTP` on the sub-menu.
-3. Enter the SMTP address `smtp.gmail.com`.
-4. Enter the Port 587 in `SMTP Port`.
-5. Enter the Gmail account i.e. `myrustdeskserver@gmail.com` in `Mail Account`.
-6. Enter your password (you might need an app password).
-7. Enter your Gmail account i.e. `myrustdeskserver@gmail.com` in `From `.
-8. Click `Check` to save.
-
## Emails aren't working from my VPS
A lot of VPS providers block ports 465 and 25.
@@ -214,3 +203,7 @@ Please get in touch with our [sales](mailto://sales@rustdesk.com) team.
## Is there somewhere I can see video setup guides?
Yes! We have a [YouTube Channel](https://youtube.com/@RustDesk).
+
+## Why are my logs are empty?
+Ensure API is set on both the device being controlled and the machine controlling.
+On the left hand side click on `Logs`.
diff --git a/content/self-host/pro/FAQ/_index.zh-cn.md b/content/self-host/rustdesk-server-pro/FAQ/_index.zh-cn.md
similarity index 100%
rename from content/self-host/pro/FAQ/_index.zh-cn.md
rename to content/self-host/rustdesk-server-pro/FAQ/_index.zh-cn.md
diff --git a/content/self-host/rustdesk-server-pro/Getting Start/_index.en.md b/content/self-host/rustdesk-server-pro/Getting Start/_index.en.md
new file mode 100644
index 0000000..d7e7072
--- /dev/null
+++ b/content/self-host/rustdesk-server-pro/Getting Start/_index.en.md
@@ -0,0 +1,29 @@
+---
+title: Getting Started
+weight: 2
+---
+
+Install the server after choosing your preferred option between Docker or Direct installation.
+
+## Post Install
+
+* [ ] Change your admin password.
+* [ ] Read FAQs
+* [ ] Setup Email.
+
+### Setup Users and Groups
+
+* [ ] Create new users
+* [ ] Create new groups
+* [ ] Assign Users to Groups
+
+### Setup Strategy
+
+* [ ] Edit default strategy and create new if required.
+* [ ] Assign to Computers/Groups
+
+## At least every 60 days
+
+* [ ] Server [OS updates]
+* [ ] RustDesk Updates
+
diff --git a/content/self-host/pro/_index.de.md b/content/self-host/rustdesk-server-pro/_index.de.md
similarity index 100%
rename from content/self-host/pro/_index.de.md
rename to content/self-host/rustdesk-server-pro/_index.de.md
diff --git a/content/self-host/rustdesk-server-pro/_index.en.md b/content/self-host/rustdesk-server-pro/_index.en.md
new file mode 100644
index 0000000..80f8d7b
--- /dev/null
+++ b/content/self-host/rustdesk-server-pro/_index.en.md
@@ -0,0 +1,48 @@
+---
+title: RustDesk Server Pro
+weight: 6
+---
+
+RustDesk Server Pro has more features compared to the open source version.
+
+- OIDC, LDAP, 2FA (email verification)
+- Address book
+- Rename
+- Log management
+- Device management
+- Settings sync
+- Permission control
+- Multiple relay servers (automatically selects your closest relay)
+
+{{% notice note %}}
+RustDesk client >= 1.2.0 required
+{{% /notice %}}
+
+## Download
+
+[https://github.com/rustdesk/rustdesk-server-pro/releases/latest](https://github.com/rustdesk/rustdesk-server-pro/releases/latest)
+
+## Installation
+
+### Simple Install
+
+To make life easy, we have developed scripts which take care of everything (install/upgrade/convert from open source) [Simple Install Script](https://rustdesk.com/docs/en/self-host/pro/installscript/).
+
+{{% notice note %}}
+Don't forget to get your license from [https://rustdesk.com/pricing.html](https://rustdesk.com/pricing.html), check [license](/docs/en/self-host/pro/license) page for more details.
+{{% /notice %}}
+
+### Manual Installation
+
+Almost as the same as [the open source version](/docs/en/self-host/install/), but you do not need to run hbbs/hbbr with any arguments, all can be set later in web console.
+
+- `-k _` is set by default
+- `-r ` 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
+
+### Ports Required
+
+You need port 21114-21119 TCP and 21116 UDP open, please ensure these ports are setup when you set firewall rules and docker port mapping.
+
+{{% notice note %}}
+You should use a proxy like nginx to deliver this over HTTPS requiring port 443 to be opened.
+{{% /notice %}}
\ No newline at end of file
diff --git a/content/self-host/pro/_index.zh-cn.md b/content/self-host/rustdesk-server-pro/_index.zh-cn.md
similarity index 100%
rename from content/self-host/pro/_index.zh-cn.md
rename to content/self-host/rustdesk-server-pro/_index.zh-cn.md
diff --git a/content/self-host/pro/_index.zh-tw.md b/content/self-host/rustdesk-server-pro/_index.zh-tw.md
similarity index 100%
rename from content/self-host/pro/_index.zh-tw.md
rename to content/self-host/rustdesk-server-pro/_index.zh-tw.md
diff --git a/content/self-host/pro/console/_index.de.md b/content/self-host/rustdesk-server-pro/console/_index.de.md
similarity index 92%
rename from content/self-host/pro/console/_index.de.md
rename to content/self-host/rustdesk-server-pro/console/_index.de.md
index c0852af..e9be164 100644
--- a/content/self-host/pro/console/_index.de.md
+++ b/content/self-host/rustdesk-server-pro/console/_index.de.md
@@ -14,13 +14,13 @@ Funktionen:
## Anmelden
Wie bereits erwähnt, ist der Standardport der Webkonsole 21114. Geben Sie `http://:21114` in den Browser ein, um die Konsolenseite aufzurufen, wie in der folgenden Abbildung zu sehen (hbbs läuft auf dem Server mit der IP 192.168.1.143):
-![](/docs/en/self-host/pro/console/images/console-login.png)
+![](images/console-login.png)
Wenn Sie https-Unterstützung benötigen, installieren Sie bitte einen Webserver wie z. B. `Nginx`.
Der Standard-Benutzername und das Standard-Passwort des Administrators lautet admin/test1234. Bitte ändern Sie das Passwort nach dem Anmelden, indem Sie im Kontomenü oben rechts "Einstellungen" wählen, um die Seite zur Änderung des Passworts aufzurufen, wie in der folgenden Abbildung dargestellt. Sie können auch ein anderes Administratorkonto erstellen und dieses löschen. Aktivieren Sie besser die E-Mail-Anmeldebestätigung.
-![](/docs/en/self-host/pro/console/images/console-home.png?v2)
+![](images/console-home.png?v2)
Nicht-Administrator-Benutzer können sich auch anmelden, um ihr Gerät und ihre Protokolle zu durchsuchen und ihre Benutzereinstellungen zu ändern.
diff --git a/content/self-host/rustdesk-server-pro/console/_index.en.md b/content/self-host/rustdesk-server-pro/console/_index.en.md
new file mode 100644
index 0000000..b08e27f
--- /dev/null
+++ b/content/self-host/rustdesk-server-pro/console/_index.en.md
@@ -0,0 +1,67 @@
+---
+title: Web Console
+weight: 10
+---
+
+Features:
+
+- Add/modify users and user groups
+- Modify device access permissions
+- Browse device connection logs and the other logs
+- Update settings
+- Manage client settings sync strategies
+
+## Log in
+
+The default port of the web console is 21114. Enter `http://:21114` in the browser to enter the console page, as shown in the following figure. The default administrator username/password is admin/test1234:
+![](images/console-login.png)
+
+If you need https support, please install a web server such as `Nginx` or use `IIS` for windows.
+
+After logging in please be sure to change the password, select "Settings" in the account menu in the upper right corner to enter the password modification page, as shown in the following figure. You can also create another administrator account and delete this one. You'd better enable email login verification.
+
+![](images/console-home.png?v2)
+
+Non-administrator users can also login to browse their device and logs, change their user settings.
+
+## Windows EXE is where the configs are shown
+
+For Windows clients, you can leave out the custom server configuration and put the configuration information in the `rustdesk.exe` filename instead. As shown above, please go to the console welcome page and click on `Windows EXE`. **`Client >=1.1.9 Required`**。
+
+## Creating a new user other than the default `admin` user.
+1. Create another account with `administrator` enabled.
+2. Log in with the new administrative account.
+3. Delete the `admin` on `Users` page.
+
+## Setting up multiple relay servers.
+1. Go to `Settings` on the left hand menu.
+2. Click on `Relay` on the sub-menu.
+3. Click `+` next to `Relay Servers`.
+4. Enter the Relay server DNS address or IP address in the box which now shows and press Enter.
+5. If you have more than one Relay server you can keep clicking `+` and adapt the Geo settings is required (remember and copy your key to the other servers).
+
+## Set or change the license.
+1. Go to `Settings` on the left hand menu.
+2. Click on `License` on the sub-menu.
+3. Click `Edit` and paste in your license code.
+4. Click `OK`.
+
+## Viewing Logs
+On the left hand side click on `Logs`.
+
+## Setup Emails.
+Gmail in this example
+
+1. Go to `Settings` on the left hand menu.
+2. Click on `SMTP` on the sub-menu.
+3. Enter the SMTP address `smtp.gmail.com`.
+4. Enter the Port 587 in `SMTP Port`.
+5. Enter the Gmail account i.e. `myrustdeskserver@gmail.com` in `Mail Account`.
+6. Enter your password (you might need an app password).
+7. Enter your Gmail account i.e. `myrustdeskserver@gmail.com` in `From `.
+8. Click `Check` to save.
+
+## Searching for a device
+1. Go to Devices
+2. In the Device Name Search Field type in the name and click Query or hit enter
+3. To use a wildcard add % at the start, end or both of the search term.
\ No newline at end of file
diff --git a/content/self-host/pro/console/_index.zh-cn.md b/content/self-host/rustdesk-server-pro/console/_index.zh-cn.md
similarity index 90%
rename from content/self-host/pro/console/_index.zh-cn.md
rename to content/self-host/rustdesk-server-pro/console/_index.zh-cn.md
index 3a69c98..30d2067 100644
--- a/content/self-host/pro/console/_index.zh-cn.md
+++ b/content/self-host/rustdesk-server-pro/console/_index.zh-cn.md
@@ -14,14 +14,14 @@ weight: 10
## 登录
如同之前所述,网页控制台的预设端口为 21114。在浏览器输入 `http://:21114` 以进入控制台页面。如下图所示 (hbbs 执行在 IP 为 192.168.1.143 的服务器上):
-![](/docs/en/self-host/pro/console/images/console-login.png)
+![](images/console-login.png)
如果您需要 https,请安装如 `Nginx` 的网页服务器。
预设管理员帐号/密码为 admin/test1234,请记得在登入后变更密码,在右上角的帐号选单选择 "设定" 以进入密码变更页面,如下图所示。您也可以建立另一个管理员帐号,并删除预设帐号,建议启用电子邮件登入验证。
-![](/docs/en/self-host/pro/console/images/console-home.png?v2)
+![](images/console-home.png?v2)
非管理员使用者也可以登入来浏览他们的设备和日志,以及变更他们的使用者设定。
diff --git a/content/self-host/pro/console/_index.zh-tw.md b/content/self-host/rustdesk-server-pro/console/_index.zh-tw.md
similarity index 90%
rename from content/self-host/pro/console/_index.zh-tw.md
rename to content/self-host/rustdesk-server-pro/console/_index.zh-tw.md
index 3b4e902..672f540 100644
--- a/content/self-host/pro/console/_index.zh-tw.md
+++ b/content/self-host/rustdesk-server-pro/console/_index.zh-tw.md
@@ -14,14 +14,14 @@ weight: 10
## 登入
如同之前所述,網頁控制台的預設連接埠為 21114。在瀏覽器輸入 `http://:21114` 以進入控制台頁面。如下圖所示 (hbbs 執行在 IP 為 192.168.1.143 的伺服器上):
-![](/docs/en/self-host/pro/console/images/console-login.png)
+![](images/console-login.png)
如果您需要 https,請安裝如 `Nginx` 的網頁伺服器。
預設管理員帳號/密碼為 admin/test1234,請記得在登入後變更密碼,在右上角的帳號選單選擇 "設定" 以進入密碼變更頁面,如下圖所示。您也可以建立另一個管理員帳號,並刪除預設帳號,建議啟用電子郵件登入驗證。
-![](/docs/en/self-host/pro/console/images/console-home.png?v2)
+![](images/console-home.png?v2)
非管理員使用者也可以登入來瀏覽他們的裝置和記錄,以及變更他們的使用者設定。
diff --git a/content/self-host/rustdesk-server-pro/console/images/console-home.png b/content/self-host/rustdesk-server-pro/console/images/console-home.png
new file mode 100644
index 0000000..4816d87
Binary files /dev/null and b/content/self-host/rustdesk-server-pro/console/images/console-home.png differ
diff --git a/content/self-host/rustdesk-server-pro/console/images/console-login.png b/content/self-host/rustdesk-server-pro/console/images/console-login.png
new file mode 100644
index 0000000..4c280e4
Binary files /dev/null and b/content/self-host/rustdesk-server-pro/console/images/console-login.png differ
diff --git a/content/self-host/pro/installscript/_index.de.md b/content/self-host/rustdesk-server-pro/installscript/_index.de.md
similarity index 100%
rename from content/self-host/pro/installscript/_index.de.md
rename to content/self-host/rustdesk-server-pro/installscript/_index.de.md
diff --git a/content/self-host/pro/installscript/_index.en.md b/content/self-host/rustdesk-server-pro/installscript/_index.en.md
similarity index 100%
rename from content/self-host/pro/installscript/_index.en.md
rename to content/self-host/rustdesk-server-pro/installscript/_index.en.md
diff --git a/content/self-host/pro/installscript/_index.zh-cn.md b/content/self-host/rustdesk-server-pro/installscript/_index.zh-cn.md
similarity index 100%
rename from content/self-host/pro/installscript/_index.zh-cn.md
rename to content/self-host/rustdesk-server-pro/installscript/_index.zh-cn.md
diff --git a/content/self-host/pro/installscript/_index.zh-tw.md b/content/self-host/rustdesk-server-pro/installscript/_index.zh-tw.md
similarity index 100%
rename from content/self-host/pro/installscript/_index.zh-tw.md
rename to content/self-host/rustdesk-server-pro/installscript/_index.zh-tw.md
diff --git a/content/self-host/pro/license/_index.de.md b/content/self-host/rustdesk-server-pro/license/_index.de.md
similarity index 100%
rename from content/self-host/pro/license/_index.de.md
rename to content/self-host/rustdesk-server-pro/license/_index.de.md
diff --git a/content/self-host/pro/license/_index.en.md b/content/self-host/rustdesk-server-pro/license/_index.en.md
similarity index 81%
rename from content/self-host/pro/license/_index.en.md
rename to content/self-host/rustdesk-server-pro/license/_index.en.md
index 643ce6f..21bc89d 100644
--- a/content/self-host/pro/license/_index.en.md
+++ b/content/self-host/rustdesk-server-pro/license/_index.en.md
@@ -7,7 +7,7 @@ weight: 15
Please get your license from [https://rustdesk.com/pricing.html](https://rustdesk.com/pricing.html), enter a valid email address in the Stripe checkout page. The license (and the invoice in a separate mail) will be sent to your email once payment is done successfully.
-![](/docs/en/self-host/pro/license/images/stripe.jpg)
+![](images/stripe.jpg)
## Set license
@@ -15,10 +15,10 @@ You will be required to enter license in the web console, or change license late
| Set license | Change license |
| -- | -- |
- | ![](/docs/en/self-host/pro/license/images/set.png) | ![](/docs/en/self-host/pro/license/images/change.png) |
+ | ![](images/set.png) | ![](images/change.png) |
## Invoices and Migration
The license can be only used on one machine (for hbbs only, hbbr does not require license), if you want to migrate to the other machine, or download invoices, please go to [https://rustdesk.com/self-host/account/](https://rustdesk.com/self-host/account/). Log in with the email address used for Stripe checkout, unbind the old machine you want to migrate from as below, when you set the license in the new servers web console it will assign the license and register automatically in the console.
-![](/docs/en/self-host/pro/license/images/unbind.jpg)
+![](images/unbind.jpg)
diff --git a/content/self-host/pro/license/_index.zh-cn.md b/content/self-host/rustdesk-server-pro/license/_index.zh-cn.md
similarity index 100%
rename from content/self-host/pro/license/_index.zh-cn.md
rename to content/self-host/rustdesk-server-pro/license/_index.zh-cn.md
diff --git a/content/self-host/pro/license/_index.zh-tw.md b/content/self-host/rustdesk-server-pro/license/_index.zh-tw.md
similarity index 100%
rename from content/self-host/pro/license/_index.zh-tw.md
rename to content/self-host/rustdesk-server-pro/license/_index.zh-tw.md
diff --git a/content/self-host/pro/license/images/change.png b/content/self-host/rustdesk-server-pro/license/images/change.png
similarity index 100%
rename from content/self-host/pro/license/images/change.png
rename to content/self-host/rustdesk-server-pro/license/images/change.png
diff --git a/content/self-host/pro/license/images/set.png b/content/self-host/rustdesk-server-pro/license/images/set.png
similarity index 100%
rename from content/self-host/pro/license/images/set.png
rename to content/self-host/rustdesk-server-pro/license/images/set.png
diff --git a/content/self-host/pro/license/images/stripe.jpg b/content/self-host/rustdesk-server-pro/license/images/stripe.jpg
similarity index 100%
rename from content/self-host/pro/license/images/stripe.jpg
rename to content/self-host/rustdesk-server-pro/license/images/stripe.jpg
diff --git a/content/self-host/pro/license/images/unbind.jpg b/content/self-host/rustdesk-server-pro/license/images/unbind.jpg
similarity index 100%
rename from content/self-host/pro/license/images/unbind.jpg
rename to content/self-host/rustdesk-server-pro/license/images/unbind.jpg
diff --git a/content/self-host/pro/permissions/_index.de.md b/content/self-host/rustdesk-server-pro/permissions/_index.de.md
similarity index 100%
rename from content/self-host/pro/permissions/_index.de.md
rename to content/self-host/rustdesk-server-pro/permissions/_index.de.md
diff --git a/content/self-host/pro/permissions/_index.en.md b/content/self-host/rustdesk-server-pro/permissions/_index.en.md
similarity index 100%
rename from content/self-host/pro/permissions/_index.en.md
rename to content/self-host/rustdesk-server-pro/permissions/_index.en.md
diff --git a/content/self-host/pro/permissions/_index.zh-cn.md b/content/self-host/rustdesk-server-pro/permissions/_index.zh-cn.md
similarity index 100%
rename from content/self-host/pro/permissions/_index.zh-cn.md
rename to content/self-host/rustdesk-server-pro/permissions/_index.zh-cn.md
diff --git a/content/self-host/pro/permissions/images/crossgrp.png b/content/self-host/rustdesk-server-pro/permissions/images/crossgrp.png
similarity index 100%
rename from content/self-host/pro/permissions/images/crossgrp.png
rename to content/self-host/rustdesk-server-pro/permissions/images/crossgrp.png
diff --git a/content/self-host/pro/strategy/_index.de.md b/content/self-host/rustdesk-server-pro/strategy/_index.de.md
similarity index 95%
rename from content/self-host/pro/strategy/_index.de.md
rename to content/self-host/rustdesk-server-pro/strategy/_index.de.md
index 4888f80..6885c40 100644
--- a/content/self-host/pro/strategy/_index.de.md
+++ b/content/self-host/rustdesk-server-pro/strategy/_index.de.md
@@ -15,7 +15,7 @@ Im Popup-Menü können Sie wählen, die Strategie zu `aktivieren` oder `deaktivi
Auf der rechten Seite des Strategiemenus können Sie die Anzahl der tatsächlich auf die Strategie angewendeten Geräte sehen, unter Berücksichtigung der Priorität der Strategie.
-![](/docs/en/self-host/pro/strategy/images/strategy_menu.png)
+![](images/strategy_menu.png)
### Gerätestrategie und Benutzerstrategie
@@ -27,7 +27,7 @@ Wenn Sie auf das Menü `Geräte bearbeiten` klicken, öffnet sich ein Bearbeitun
Hier ist ein Beispiel für das Dialogfeld, das angezeigt wird, wenn Sie auf dem Demo2-Menü auf `Geräte bearbeiten` klicken. In diesem Beispiel ist das Gerät "362587269" der "Demo2" -Strategie zugeordnet. Das Gerät "157333666" war ursprünglich der Standardstrategie zugeordnet, wird aber nach dem Klicken auf `Save` der "Demo2" -Strategie zugewiesen. Das Gerät "232026634" verfügt über eine Gerätestrategie für "Demo1" und eine Benutzerstrategie für "Demo2". Da die Gerätestrategie Vorrang hat, wird dieses Gerät der "Demo1" -Strategie zugewiesen.
-![](/docs/en/self-host/pro/strategy/images/edit_devices.png)
+![](images/edit_devices.png)
### Benutzer bearbeiten
@@ -36,7 +36,7 @@ Wenn Sie auf das Menü `Benutzer bearbeiten` klicken, öffnet sich ein Bearbeitu
Hier ist ein Beispiel für das Dialogfeld, das angezeigt wird, wenn Sie auf dem "Demo2"-Menü auf `Benutzer bearbeiten` klicken. In diesem Beispiel war der Benutzer "user2" ursprünglich der Standardstrategie zugeordnet und wird nach dem Klicken auf `Save` der "Demo2"-Strategie zugewiesen. Der Benutzer "user1" ist der Standardstrategie zugeordnet und der Benutzer "admin" ist der "Demo2"-Strategie zugeordnet.
-![](/docs/en/self-host/pro/strategy/images/edit_users.png)
+![](images/edit_users.png)
### Strategie-Synchronisation
diff --git a/content/self-host/pro/strategy/_index.en.md b/content/self-host/rustdesk-server-pro/strategy/_index.en.md
similarity index 95%
rename from content/self-host/pro/strategy/_index.en.md
rename to content/self-host/rustdesk-server-pro/strategy/_index.en.md
index 0b494d0..ac091d8 100644
--- a/content/self-host/pro/strategy/_index.en.md
+++ b/content/self-host/rustdesk-server-pro/strategy/_index.en.md
@@ -15,7 +15,7 @@ In the pop-up menu, you can choose to `Enable` or `Disable` the strategy, `Renam
On the right side of the strategy menu, you can see the number of devices actually applied to the strategy, taking into account the priority of the strategy.
-![](/docs/en/self-host/pro/strategy/images/strategy_menu.png)
+![](images/strategy_menu.png)
### Device Strategy and User Strategy
Each device can only be managed by one strategy, and device strategies take priority over user strategies. User strategies are responsible for managing all devices under the user that are not assigned a specific strategy.
@@ -27,7 +27,7 @@ When you click the `Edit Devices` menu, an editing dialog box displaying all the
Here is an example of the dialog box that appears when you click `Edit Devices` on the "demo2" menu. In this example, the device "362587269" is applied to the "demo2" strategy. The device "157333666" was originally applied to the default strategy but will be applied to the "demo2" strategy after clicking `Save`. The device "232026634" has a device strategy for "demo1" and a user strategy for "demo2", since the device strategy takes priority, this device will be applied to the "demo1" strategy.
-![](/docs/en/self-host/pro/strategy/images/edit_devices.png)
+![](images/edit_devices.png)
### Edit Users
@@ -35,7 +35,7 @@ When you click the `Edit Users` menu, an editing dialog box displaying all the
Here is an example of the dialog box that appears when you click `Edit Users` on the "demo2" menu. In this example, the user "user2" was originally applied to the default strategy and will be applied to the "demo2" strategy after clicking `Save`. The user "user1" is applied to the default strategy, and the user "admin" is applied to the "demo2" strategy.
-![](/docs/en/self-host/pro/strategy/images/edit_users.png)
+![](images/edit_users.png)
### Strategy Synchronization
diff --git a/content/self-host/pro/strategy/_index.zh-cn.md b/content/self-host/rustdesk-server-pro/strategy/_index.zh-cn.md
similarity index 94%
rename from content/self-host/pro/strategy/_index.zh-cn.md
rename to content/self-host/rustdesk-server-pro/strategy/_index.zh-cn.md
index e1b3c6f..a777093 100644
--- a/content/self-host/pro/strategy/_index.zh-cn.md
+++ b/content/self-host/rustdesk-server-pro/strategy/_index.zh-cn.md
@@ -15,7 +15,7 @@ weight: 200
在策略菜单的右侧,您可以看到考虑了策略优先级之后, 实际应用当前策略的设备数量。
-![](/docs/en/self-host/pro/strategy/images/strategy_menu.png)
+![](images/strategy_menu.png)
## 设备策略和用户策略
@@ -27,7 +27,7 @@ weight: 200
下图是在 demo2 菜单上点击`编辑设备`后弹出的对话框示例。其中,"362587269"设备应用于 "demo2" 策略。"157333666"原本应用于默认策略, 点击`Save`后将应用于 "demo2" 策略。"232026634"设备设置了 "demo1" 的设备策略和 "demo2" 的用户策略,由于设备策略的优先级更高,该设备将应用于 "demo1" 策略。
-![](/docs/en/self-host/pro/strategy/images/edit_devices.png)
+![](images/edit_devices.png)
### 编辑用户
@@ -35,7 +35,7 @@ weight: 200
下图是在 "demo2" 菜单上点击`编辑用户`后弹出的对话框示例。其中,"user2"用户原本应用于默认策略,点击`Save`后将应用于 "demo2" 策略。 "user1"应用于默认策略。"admin"应用于 "demo2" 策略。
-![](/docs/en/self-host/pro/strategy/images/edit_users.png)
+![](images/edit_users.png)
### 策略同步
diff --git a/content/self-host/pro/strategy/images/edit_devices.png b/content/self-host/rustdesk-server-pro/strategy/images/edit_devices.png
similarity index 100%
rename from content/self-host/pro/strategy/images/edit_devices.png
rename to content/self-host/rustdesk-server-pro/strategy/images/edit_devices.png
diff --git a/content/self-host/pro/strategy/images/edit_users.png b/content/self-host/rustdesk-server-pro/strategy/images/edit_users.png
similarity index 100%
rename from content/self-host/pro/strategy/images/edit_users.png
rename to content/self-host/rustdesk-server-pro/strategy/images/edit_users.png
diff --git a/content/self-host/pro/strategy/images/strategy_menu.png b/content/self-host/rustdesk-server-pro/strategy/images/strategy_menu.png
similarity index 100%
rename from content/self-host/pro/strategy/images/strategy_menu.png
rename to content/self-host/rustdesk-server-pro/strategy/images/strategy_menu.png
diff --git a/content/self-host/video/_index.en.md b/content/self-host/video/_index.en.md
deleted file mode 100644
index 87acfbf..0000000
--- a/content/self-host/video/_index.en.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Video
-weight: 50
----
-
-[https://www.youtube.com/watch?v=9nzHm3xGz2I](https://www.youtube.com/watch?v=9nzHm3xGz2I)
-
-[https://www.youtube.com/watch?v=EeFqj23jxMk](https://www.youtube.com/watch?v=EeFqj23jxMk)
diff --git a/content/self-host/video/_index.de.md b/content/videos/_index.de.md
similarity index 100%
rename from content/self-host/video/_index.de.md
rename to content/videos/_index.de.md
diff --git a/content/videos/_index.en.md b/content/videos/_index.en.md
new file mode 100644
index 0000000..e5f0c9f
--- /dev/null
+++ b/content/videos/_index.en.md
@@ -0,0 +1,10 @@
+---
+title: Video Tutorials
+weight: 50
+---
+
+[Awesome Open Source](https://www.youtube.com/@AwesomeOpenSource) have made some great Youtube videos about RustDesk, you can find them below.
+
+[Installation and User Guide](https://www.youtube.com/watch?v=9nzHm3xGz2I)
+
+[RustDesk Security](https://www.youtube.com/watch?v=EeFqj23jxMk)
diff --git a/content/self-host/video/_index.fr.md b/content/videos/_index.fr.md
similarity index 100%
rename from content/self-host/video/_index.fr.md
rename to content/videos/_index.fr.md
diff --git a/content/self-host/video/_index.nl.md b/content/videos/_index.nl.md
similarity index 100%
rename from content/self-host/video/_index.nl.md
rename to content/videos/_index.nl.md