mirror of
https://github.com/rustdesk/doc.rustdesk.com.git
synced 2025-01-29 17:38:35 +01:00
commit
d9b4f00c64
@ -136,4 +136,4 @@ If you manually setup a client, you can retrieve the `RustDesk2.toml` (in the us
|
||||
|
||||
Additional Advanced parameters can be found [here](https://github.com/rustdesk/rustdesk/blob/bdc5cded221af9697eb29aa30babce75e987fcc9/src/core_main.rs#L242).
|
||||
|
||||
{{% children depth="1" showhidden="true" %}}
|
||||
{{% children depth="3" showhidden="true" %}}
|
||||
|
@ -12,7 +12,7 @@ weight: 4
|
||||
sudo apt install -fy ./rustdesk-<version>.deb
|
||||
```
|
||||
|
||||
For Ubuntu 18.04, please do below first for pipewire, https://github.com/rustdesk/rustdesk/discussions/6148#discussioncomment-9295883.
|
||||
For Ubuntu 18.04, please do below first for [pipewire](https://github.com/rustdesk/rustdesk/discussions/6148#discussioncomment-9295883).
|
||||
```sh
|
||||
sudo apt install software-properties-common
|
||||
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
|
||||
|
@ -5,19 +5,19 @@ weight: 21
|
||||
|
||||
There are multiple ways to do this, this guide assumes that `Xcode`, `Git` and `Homebrew` are already installed.
|
||||
|
||||
The biggest challenge is probably to find versions of all the tools that work together, especially since parts of the toolchain like Xcode and LLVM are dictated by your macOS version. The versions used in this guide probably aren't what you should use. As a start to figure what versions to use is to look in the [GitHub build workflow](https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/flutter-build.yml) for the RustDesk version you want to build (choose the tag for which to see the file in the upper left of the page), but that won't necessarily work because the macOS tools that comes with the GitHub runner might not be the same versions as those on your local system.
|
||||
The biggest challenge is probably to find versions of all the tools that work together, especially since parts of the toolchain like Xcode and LLVM are dictated by your macOS version. The versions used in this guide probably aren't what you should use. As a start to figure what versions to use is to look in the [GitHub build workflow](https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/flutter-build.yml) for the RustDesk version you want to build. Choose the tag for which to see the file in the upper left of the page. But that won't necessarily work because the macOS tools that comes with the GitHub runner might not be the same versions as those on your local system.
|
||||
|
||||
#### Exports
|
||||
`export` is used to set various environmental variables. When you run `export`, that variable is set for the current terminal session only, and these must therefore be repeated for every new terminal window you want to use to build RustDesk, now and in the future. Generally, it's preferable to add all `export`s to a script that is executed automatically for every terminal that is opened, for example `~/.bash_profile`. The full `export` commands listed here can simply be appended to the file, but must also be run in the current terminal because the file isn't read until a *new* terminal is opened.
|
||||
#### Export
|
||||
`export` is used to set various environmental variables. When you run `export`, that variable is set for the current terminal session only, and these must therefore be repeated for every new terminal window you want to use to build RustDesk, now or in the future. Generally, it's preferable to add all `export`s to a script that is executed automatically for every terminal that is opened, for example `~/.bash_profile`. The full `export` commands listed here can simply be appended to the file, but must also be run in the current terminal because the file isn't read until a *new* terminal is opened.
|
||||
|
||||
### Install the tools we're going to use from Homebrew
|
||||
|
||||
```bash
|
||||
```sh
|
||||
brew install python3 create-dmg nasm cmake ggc wget ninja pkg-config wget rustup
|
||||
```
|
||||
Some of the installations might fail because some of the target folders don't exist on our system. In that case, create the folder, set owner and permissions and run the `brew` command again. Example if `/usr/local/include` doesn't exist:
|
||||
|
||||
```bash
|
||||
Some of the installations might fail because some of the target folders don't exist on our system. In that case, create the folder, set owner and permissions and run the `brew` command again. Example if `/usr/local/include` doesn't exist:
|
||||
```sh
|
||||
sudo mkdir /usr/local/include
|
||||
sudo chown <username>:admin /usr/local/include
|
||||
sudo chmod 775 /usr/local/include
|
||||
@ -26,7 +26,7 @@ sudo chmod 775 /usr/local/include
|
||||
### Install vcpkg
|
||||
Vcpkg is used to manage the C/C++ dependencies used by RustDesk. Decide where you want the installation and run the following from the folder in which you want the `vcpkg` folder to reside. In this example `/Users/<username>/repos/` is used as the location, and the tag `2023.04.15` is used as the version.
|
||||
|
||||
```bash
|
||||
```sh
|
||||
git clone https://github.com/microsoft/vcpkg
|
||||
cd vcpkg
|
||||
git checkout 2023.04.15
|
||||
@ -38,7 +38,7 @@ export VCPKG_ROOT=~/repos/vcpkg
|
||||
### Install and configure Rust
|
||||
We use `rustup` to manage Rust, which was already installed above using Homebrew. But, it still needs to be configured. Follow the instructions and make sure both `rustup` and `rustc` are on the `PATH`. In this example we use Rust version `1.75.0`, but you might need to use a different version. You can install and manage multiple versions of Rust with `rustup`.
|
||||
|
||||
```bash
|
||||
```sh
|
||||
rustup-init
|
||||
rustup default 1.75.0
|
||||
rustup component add rustfmt
|
||||
@ -49,25 +49,26 @@ For an overview over installed and default Rust toolchains, run `rustup show`.
|
||||
|
||||
Decide where you want the RustDesk source files and run the following from the folder in which you want the `rustdesk` folder to reside. In this example `/Users/<username>/repos/` is used as the location.
|
||||
|
||||
```bash
|
||||
```sh
|
||||
git clone https://github.com/rustdesk/rustdesk
|
||||
cd rustdesk/libs/portable/
|
||||
python3 -m pip install --upgrade pip
|
||||
pip3 install -r requirements.txt
|
||||
```
|
||||
If `python3` or `pip` is unknown, add them to the `PATH` with something like (use your actual folder names):
|
||||
|
||||
```bash
|
||||
If `python3` or `pip` is unknown, add them to the `PATH` with something like (use your actual folder names):
|
||||
```sh
|
||||
export PATH=~/Library/Python/3.9/bin:$PATH
|
||||
```
|
||||
Once that's done (remember to also edit `~/.bash_profile`), run the failed command(s) again.
|
||||
Once that's done, run the failed command(s) again. Remember to also edit `~/.bash_profile`.
|
||||
|
||||
### Install user interface components
|
||||
RustDesk can be built both using [Sciter](https://sciter.com/) and [Flutter](https://flutter.dev/). Both of these need additional components, so follow the steps for the relevant version, or both.
|
||||
|
||||
#### Sciter
|
||||
|
||||
From the `rustdesk` folder, run:
|
||||
```bash
|
||||
```sh
|
||||
wget https://github.com/c-smile/sciter-sdk/raw/master/bin.osx/libsciter.dylib
|
||||
```
|
||||
|
||||
@ -75,33 +76,33 @@ wget https://github.com/c-smile/sciter-sdk/raw/master/bin.osx/libsciter.dylib
|
||||
|
||||
[FVM](https://fvm.app/) lets you manage which version of Flutter is used, and is probably the easiest way to be able to easily try different Flutter versions.
|
||||
|
||||
```bash
|
||||
```sh
|
||||
brew tap leoafarias/fvm
|
||||
brew install fvm cocoapods
|
||||
```
|
||||
Install and use, for example Flutter `3.16.9`, with:
|
||||
|
||||
```bash
|
||||
```sh
|
||||
fvm global 3.16.9
|
||||
```
|
||||
FVM is meant to use a more complex setup where it can provide different Flutter versions for different projects, but that's beyond the scope of this guide. Instead, simply add the location of the default Flutter provided by FVM to your `PATH` manually, which means that you must use `fvm global` to switch Flutter version:
|
||||
|
||||
```bash
|
||||
```sh
|
||||
export PATH=$HOME/fvm/default/bin:$PATH
|
||||
```
|
||||
|
||||
Once that is done, you should disable telemetry and check if everything is OK:
|
||||
|
||||
```bash
|
||||
```sh
|
||||
flutter --disable-analytics
|
||||
dart --disable-analytics
|
||||
flutter doctor -v
|
||||
```
|
||||
It doesn't matter if some of the checks fail, they usually will, what's important is that the check for the environment you intend to use is OK, namely "Xcode". If there are problems reported, address them before moving forward.
|
||||
It doesn't matter if some of the checks fail, they usually will, what's important is that the check for the environment you intend to use is OK, namely `Xcode`. If there are problems reported, address them before moving forward.
|
||||
|
||||
Once Flutter is up and running, it's time to install the "bridge" that binds Rust and Flutter together. Here is another one of the versions that much work together with everything else, in this example we use `1.80.1`:
|
||||
|
||||
```bash
|
||||
```sh
|
||||
cargo install flutter_rust_bridge_codegen --version "1.80.1" --features "uuid"
|
||||
```
|
||||
|
||||
@ -109,13 +110,13 @@ cargo install flutter_rust_bridge_codegen --version "1.80.1" --features "uuid"
|
||||
|
||||
Build from the `rustdesk` folder. Build the Sciter version with:
|
||||
|
||||
```bash
|
||||
```sh
|
||||
python3 ./build.py
|
||||
```
|
||||
|
||||
Build the Flutter version with:
|
||||
```bash
|
||||
```sh
|
||||
flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart --c-output ./flutter/macos/Runner/bridge_generated.h
|
||||
python3 ./build.py --flutter
|
||||
```
|
||||
If everything goes well, you should now have a `dmg`file ready to install in your `rustdesk` folder.
|
||||
If everything goes well, you should now have a `dmg` file ready to install in your `rustdesk` folder.
|
||||
|
@ -20,7 +20,7 @@ Core Ports: \
|
||||
TCP `21114-21119` \
|
||||
UDP `21116`
|
||||
|
||||
The above 21115-21117 are the minimum required ports for RustDesk to work, these handle the signal and relay ports as well as NAT traversal.
|
||||
The above `21115-21117` are the minimum required ports for RustDesk to work, these handle the signal and relay ports as well as NAT traversal.
|
||||
|
||||
Additionally TCP ports `21118` and `21119` can be opened if you want to use the [RustDesk Web Client](https://rustdesk.com/docs/en/dev/build/web/).
|
||||
|
||||
|
@ -12,12 +12,11 @@ There are a number of ways to configure RustDesk Clients to use your own self-ho
|
||||
|
||||
You can have your own name, logo, icon, configuration, be signed and more.
|
||||
|
||||
[Videos](https://twitter.com/rustdesk/status/1769171628426944539)
|
||||
[Video](https://twitter.com/rustdesk/status/1769171628426944539)
|
||||
|
||||
![](images/custom-client-qs.png)
|
||||
![](images/web_console_custom_client_config.jpeg)
|
||||
|
||||
|
||||
### 2. Manual Config
|
||||
|
||||
In the main RustDesk Client home click on the Menu button [ ⋮ ] next to your ID then click on Network, you can now unlock the settings using elevated privileges and set your ID, Relay, API and Keys.
|
||||
@ -49,7 +48,7 @@ As a `Pro` user you will be able to retrieve the `Key` from the [web console](ht
|
||||
This is for `Pro` user only. When you can log in on web console, but fail to log in on RustDesk client, it probably you have not set `API Server` correctly.
|
||||
|
||||
If your API Server does not run on default `21114` port (you may not add this port to firewall if you come from open source version), please specify `API Server` explicitly.
|
||||
e.g. your API Server runs on default https port, please specify `API Server` with `https://hbbs.example.com`.
|
||||
e.g. your API Server runs on default HTTPS port, please specify `API Server` with `https://hbbs.example.com`.
|
||||
|
||||
If you still can not confirm the value of `API Server`, please go to the welcome page of web console, the `API Server` is shown in above picture (The input box with `API:` label).
|
||||
|
||||
|
@ -7,12 +7,12 @@ weight: 49
|
||||
|
||||
There are four types of settings:
|
||||
|
||||
1. Override settings, in "Web Console -> Custom Clients".
|
||||
1. Default settings, in "Web Console -> Custom Clients".
|
||||
1. User settings, in the RustDesk client.
|
||||
1. Stragegy settings, in "Web Console -> Strategies".
|
||||
1. Override settings, in "Web Console → Custom Clients"
|
||||
2. Default settings, in "Web Console → Custom Clients"
|
||||
3. User settings, in the RustDesk client
|
||||
4. Strategy settings, in "Web Console → Strategies"
|
||||
|
||||
The hierarchy of privilege for these settings is as follows: `Override > Stragegy > User > Default`.
|
||||
The hierarchy of privilege for these settings is as follows: `Override > Strategy > User > Default`.
|
||||
|
||||
## Security Settings
|
||||
|
||||
@ -22,8 +22,8 @@ Set the access mode (permissions) for incoming connections.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Permissions
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Security → Permissions
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -35,8 +35,8 @@ Enable keyboard/mouse input for incoming connections.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Permissions -> Enable keyboard
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Security → Permissions → Enable keyboard
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -44,12 +44,12 @@ Enable keyboard/mouse input for incoming connections.
|
||||
|
||||
### enable-clipboard
|
||||
|
||||
Enable copy and paste for the incomign connections.
|
||||
Enable copy and paste for the incoming connections.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Permissions -> Enable clipboard
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Security → Permissions → Enable clipboard
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -57,12 +57,12 @@ Enable copy and paste for the incomign connections.
|
||||
|
||||
### enable-file-transfer
|
||||
|
||||
Enable file copy and paster or filte transfer(session) for incoming connections.
|
||||
Enable file copy and paste or file transfer (session) for incoming connections.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Permissions -> Enable file transfer
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Security → Permissions → Enable file transfer
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -74,8 +74,8 @@ Enable audio record and transfer to peer.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Permissions -> Enable audio
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Security → Permissions → Enable audio
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -87,8 +87,8 @@ Enable TCP tunneling.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Permissions -> Enable TCP tunneling
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Security → Permissions → Enable TCP tunneling
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -100,8 +100,8 @@ Enable restarting by the control side.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Permissions -> Enable remote restart
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Security → Permissions → Enable remote restart
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -113,8 +113,8 @@ Enable sessions to be recorded.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Permissions -> Enable recording session
|
||||
1. **Mobile** Settings -> Share screen -> Enable recording session
|
||||
1. **Desktop** Settings → Security → Permissions → Enable recording session
|
||||
2. **Mobile** Settings → Share screen → Enable recording session
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -126,8 +126,8 @@ Enable the control side to block other users' input.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Permissions -> Enable blocking user input (Windows only)
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Security → Permissions → Enable blocking user input (Windows only)
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -135,12 +135,12 @@ Enable the control side to block other users' input.
|
||||
|
||||
### allow-remote-config-modification
|
||||
|
||||
Allow the control side to change the settings in conrolled RustDesk UI.
|
||||
Allow the control side to change the settings in controlled RustDesk UI.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Permissions -> Enable remote configuration modification
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Security → Permissions → Enable remote configuration modification
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -154,8 +154,8 @@ After LAN discovery, [WOL](https://en.wikipedia.org/wiki/Wake-on-LAN) can work i
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Security -> Deny LAN discovery
|
||||
1. **Mobile** Settings -> Share screen -> Deny LAN discovery
|
||||
1. **Desktop** Settings → Security → Security → Deny LAN discovery
|
||||
2. **Mobile** Settings → Share screen → Deny LAN discovery
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -167,8 +167,8 @@ Enable direct IP access.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Security -> Enable direct IP access
|
||||
1. **Mobile** Settings -> Share screen -> Direct IP access
|
||||
1. **Desktop** Settings → Security → Security → Enable direct IP access
|
||||
2. **Mobile** Settings → Share screen → Direct IP access
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -180,8 +180,8 @@ Direct IP access port.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Security -> Direct IP access port (Show if "Enable direct IP access" is checked)
|
||||
1. **Mobile** Settings -> Share screen -> Direct IP access
|
||||
1. **Desktop** Settings → Security → Security → Direct IP access port (Show if "Enable direct IP access" is checked)
|
||||
2. **Mobile** Settings → Share screen → Direct IP access
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -193,8 +193,8 @@ Use IP Whitelisting.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Security -> Use IP Whitelisting
|
||||
1. **Mobile** Settings -> Share screen -> Use IP Whitelisting
|
||||
1. **Desktop** Settings → Security → Security → Use IP Whitelisting
|
||||
2. **Mobile** Settings → Share screen → Use IP Whitelisting
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -206,8 +206,8 @@ Automatically close incoming sessions after a period of user inactivity.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Security -> Automatically close incoming sessions on user inactivity
|
||||
1. **Mobile** Settings -> Share screen -> Automatically close incoming sessions on user inactivity
|
||||
1. **Desktop** Settings → Security → Security → Automatically close incoming sessions on user inactivity
|
||||
2. **Mobile** Settings → Share screen → Automatically close incoming sessions on user inactivity
|
||||
|
||||
| Option | Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: | :------: |
|
||||
@ -220,8 +220,8 @@ Only allow connection if RustDesk window is open.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Security -> Only allow connection if RustDesk window is open
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Security → Security → Only allow connection if RustDesk window is open
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -233,8 +233,8 @@ Accept incoming connections via password or manually click.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Security -> Password -> Dropdown box
|
||||
1. **Mobile** Share screen -> Dropdown menu on right-up corner
|
||||
1. **Desktop** Settings → Security → Password → Dropdown box
|
||||
2. **Mobile** Share screen → Dropdown menu on right-up corner
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -242,20 +242,20 @@ Accept incoming connections via password or manually click.
|
||||
|
||||
### proxy-url
|
||||
|
||||
The proxy url.
|
||||
The proxy URL.
|
||||
|
||||
Currently support `http` and `socks5`.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Network -> Proxy -> Socks5/Http(s) proxy
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Network → Proxy → Socks5/Http(s) proxy
|
||||
2. **Mobile**
|
||||
|
||||
Examples:
|
||||
|
||||
1. **http** `proxy-url=http://192.168.0.2:12345`
|
||||
1. **https** `proxy-url=https://192.168.0.2:12345`
|
||||
1. **socks5** `proxy-url=socks5://192.168.0.2:1080`
|
||||
2. **https** `proxy-url=https://192.168.0.2:12345`
|
||||
3. **socks5** `proxy-url=socks5://192.168.0.2:1080`
|
||||
|
||||
### proxy-username & proxy-password
|
||||
|
||||
@ -263,8 +263,8 @@ Proxy username and password.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Network -> Proxy -> Socks5/Http(s) proxy
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Network → Proxy → Socks5/Http(s) proxy
|
||||
2. **Mobile**
|
||||
|
||||
| Option | Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: | :------: |
|
||||
@ -279,8 +279,8 @@ Controls the UI theme of RustDesk client.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> General -> Theme
|
||||
1. **Mobile** Settings -> Settings -> Theme
|
||||
1. **Desktop** Settings → General → Theme
|
||||
2. **Mobile** Settings → Settings → Theme
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -292,8 +292,8 @@ Controls the language of RustDesk client.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> General -> Luanguage
|
||||
1. **Mobile** Settings -> Settings -> Luanguage
|
||||
1. **Desktop** Settings → General → Language
|
||||
2. **Mobile** Settings → Settings → Language
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -311,8 +311,8 @@ Automatically record incoming sessions.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> General -> Recording -> Automatically record incoming sessions
|
||||
1. **Mobile** Settings -> Recording -> Automatically record incoming sessions
|
||||
1. **Desktop** Settings → General → Recording → Automatically record incoming sessions
|
||||
2. **Mobile** Settings → Recording → Automatically record incoming sessions
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -324,17 +324,17 @@ The directory to save recorded videos.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> General -> Recording -> Video save directory
|
||||
1. **Mobile** Settings -> Recording
|
||||
1. **Desktop** Settings → General → Recording → Video save directory
|
||||
2. **Mobile** Settings → Recording
|
||||
|
||||
Default values:
|
||||
|
||||
1. **MacOS** ~/Movies/**app_name**
|
||||
1. **Linux** ~/Videos/**app_name**
|
||||
1. **Windows** %USERPROFILE%\Videos\\**app_name**
|
||||
1. **Android** /Storage/emulated/0/**app_name**/ScreenRecord
|
||||
2. **Linux** ~/Videos/**app_name**
|
||||
3. **Windows** %USERPROFILE%\Videos\\**app_name**
|
||||
4. **Android** /Storage/emulated/0/**app_name**/ScreenRecord
|
||||
|
||||
**Note**: Relace **app_name** means current app name.
|
||||
**Note**: Replace **app_name** means current app name.
|
||||
|
||||
### enable-confirm-closing-tabs
|
||||
|
||||
@ -342,8 +342,8 @@ Controls whether to show a confirm dialog before closing all remote tabs.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> General -> Other -> Confirm before closing multiple tabs
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → General → Other → Confirm before closing multiple tabs
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -355,8 +355,8 @@ Enable adaptive bitrate.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> General -> Other -> Adaptive bitrate
|
||||
1. **Mobile** Settings -> Share screen -> Adaptive bitrate (beta)
|
||||
1. **Desktop** Settings → General → Other → Adaptive bitrate
|
||||
2. **Mobile** Settings → Share screen → Adaptive bitrate (beta)
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -368,8 +368,8 @@ Remove wallpaper during incoming sessions.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> General -> Other -> Remove wallpaper during incoming sessions
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → General → Other → Remove wallpaper during incoming sessions
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -381,8 +381,8 @@ Controls whether to use a new tab or a new window to open a new connection.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> General -> Other -> Open connection in new tab
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → General → Other → Open connection in new tab
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -394,8 +394,8 @@ Always use software rendering.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> General -> Other -> Always use software rendering
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → General → Other → Always use software rendering
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -405,12 +405,12 @@ Always use software rendering.
|
||||
|
||||
Allow incoming connection if there's no displays.
|
||||
|
||||
This option requires desktop environment, xorg server and gdm, see [PR 3902](https://github.com/rustdesk/rustdesk/pull/3902).
|
||||
This option requires desktop environment, Xorg server and GDM, see [PR 3902](https://github.com/rustdesk/rustdesk/pull/3902).
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> General -> Other -> Allow linux headless
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → General → Other → Allow Linux headless
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -423,7 +423,7 @@ Enable hardware encoding to make the picture smoother.
|
||||
**Location**:
|
||||
|
||||
1. **Desktop**
|
||||
1. **Mobile** Settings -> Hardware codec
|
||||
2. **Mobile** Settings → Hardware codec
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -435,8 +435,8 @@ Controls the view of peer cards, includes "Big tiles", "Small tiles" and "List".
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Home -> Peer panel -> Right top grid icon
|
||||
1. **Mobile**
|
||||
1. **Desktop** Home → Peer panel → Right top grid icon
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -452,8 +452,8 @@ Controls the ordering of peer cards.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Home -> Peer panel -> Right top sort icon
|
||||
1. **Mobile**
|
||||
1. **Desktop** Home → Peer panel → Right top sort icon
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -465,8 +465,8 @@ Controls whether to sync the address book with recent sessions.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Home -> Peer panel -> Address book -> Tags -> Dropdown menu -> Sync with recent sessions
|
||||
1. **Mobile** Home -> Peer panel -> Address book -> Tags -> Dropdown menu -> Sync with recent sessions
|
||||
1. **Desktop** Home → Peer panel → Address book → Tags → Dropdown menu → Sync with recent sessions
|
||||
2. **Mobile** Home → Peer panel → Address book → Tags → Dropdown menu → Sync with recent sessions
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -478,8 +478,8 @@ Controls whether to sort the address book tags.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Home -> Peer panel -> Address book -> Tags -> Dropdown menu -> Sort tags
|
||||
1. **Mobile** Home -> Peer panel -> Address book -> Tags -> Dropdown menu -> Sort tags
|
||||
1. **Desktop** Home → Peer panel → Address book → Tags → Dropdown menu → Sort tags
|
||||
2. **Mobile** Home → Peer panel → Address book → Tags → Dropdown menu → Sort tags
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -493,8 +493,8 @@ Filter address book by tag intersection.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Home -> Peer panel -> Address book -> Tags -> Dropdown menu -> Filter by intersection
|
||||
1. **Mobile** Home -> Peer panel -> Address book -> Tags -> Dropdown menu -> Filter by intersection
|
||||
1. **Desktop** Home → Peer panel → Address book → Tags → Dropdown menu → Filter by intersection
|
||||
2. **Mobile** Home → Peer panel → Address book → Tags → Dropdown menu → Filter by intersection
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -510,8 +510,8 @@ Then the "view-only" option in each peer's settings will controls whether the co
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> View mode
|
||||
1. **Mobile** Settings -> Display settings -> Other default options -> View mode
|
||||
1. **Desktop** Settings → Display → Other default options → View mode
|
||||
2. **Mobile** Settings → Display settings → Other default options → View mode
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -525,8 +525,8 @@ Controls whether to show monitors in toolbar.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Show monitors toolbar
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Display → Other default options → Show monitors toolbar
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -538,8 +538,8 @@ Controls whether the remote toolbar is collapsed after connecting.
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Collapse toolbar
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Display → Other default options → Collapse toolbar
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -553,8 +553,8 @@ Then the "show-remote-cursor" option in each peer's settings will controls wheth
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Show remote cursor
|
||||
1. **Mobile** Settings -> Display settings -> Other default options -> Show remote cursor
|
||||
1. **Desktop** Settings → Display → Other default options → Show remote cursor
|
||||
2. **Mobile** Settings → Display settings → Other default options → Show remote cursor
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -570,8 +570,8 @@ Then the "follow-remote-cursor" option in each peer's settings will controls whe
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Follow remote cursor
|
||||
1. **Mobile** Settings -> Display settings -> Other default options -> Follow remote cursor
|
||||
1. **Desktop** Settings → Display → Other default options → Follow remote cursor
|
||||
2. **Mobile** Settings → Display settings → Other default options → Follow remote cursor
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -587,8 +587,8 @@ Then the "follow-remote-window" option in each peer's settings will controls whe
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Follow remote window focus
|
||||
1. **Mobile** Settings -> Display settings -> Other default options -> Follow remote window focus
|
||||
1. **Desktop** Settings → Display → Other default options → Follow remote window focus
|
||||
2. **Mobile** Settings → Display settings → Other default options → Follow remote window focus
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -602,8 +602,8 @@ The "zoom-cursor" option in each peer's settings will then control whether the c
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Zoom cursor
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Display → Other default options → Zoom cursor
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -617,8 +617,8 @@ The "show-quality-monitor" option in each peer's settings will then control whet
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Show quality monitor
|
||||
1. **Mobile** Settings -> Display settings -> Other default options -> Show quality monitor
|
||||
1. **Desktop** Settings → Display → Other default options → Show quality monitor
|
||||
2. **Mobile** Settings → Display settings → Other default options → Show quality monitor
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -632,8 +632,8 @@ The "disable-audio" option in each peer's settings will then control whether to
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Mute
|
||||
1. **Mobile** Settings -> Display settings -> Other default options -> Mute
|
||||
1. **Desktop** Settings → Display → Other default options → Mute
|
||||
2. **Mobile** Settings → Display settings → Other default options → Mute
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -647,8 +647,8 @@ The "enable-file-copy-paste" option in each peer's settings will then control en
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Enable file copy and paste (Windows only)
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Display → Other default options → Enable file copy and paste (Windows only)
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -662,8 +662,8 @@ The "disable-clipboard" option in each peer's settings will then control whether
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Disable clipboard
|
||||
1. **Mobile** Settings -> Display settings -> Other default options -> Disable clipboard
|
||||
1. **Desktop** Settings → Display → Other default options → Disable clipboard
|
||||
2. **Mobile** Settings → Display settings → Other default options → Disable clipboard
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -677,8 +677,8 @@ The "lock-after-session-end" option in each peer's settings will then control wh
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Lock after session end
|
||||
1. **Mobile** Settings -> Display settings -> Other default options -> Lock after session end
|
||||
1. **Desktop** Settings → Display → Other default options → Lock after session end
|
||||
2. **Mobile** Settings → Display settings → Other default options → Lock after session end
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -692,8 +692,8 @@ The "privacy-mode" option in each peer's settings will then control whether to u
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Privacy mode
|
||||
1. **Mobile** Settings -> Display settings -> Other default options -> Privacy mode
|
||||
1. **Desktop** Settings → Display → Other default options → Privacy mode
|
||||
2. **Mobile** Settings → Display settings → Other default options → Privacy mode
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -708,7 +708,7 @@ The "touch-mode" option in each peer's settings will then control whether to use
|
||||
**Location**:
|
||||
|
||||
1. **Desktop**
|
||||
1. **Mobile** Settings -> Display settings -> Other default options -> Touch mode
|
||||
2. **Mobile** Settings → Display settings → Other default options → Touch mode
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -722,8 +722,8 @@ The "i444" option in each peer's settings will then control whether to use true
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> True color (4:4:4)
|
||||
1. **Mobile** Settings -> Display settings -> Other default options -> True color (4:4:4)
|
||||
1. **Desktop** Settings → Display → Other default options → True color (4:4:4)
|
||||
2. **Mobile** Settings → Display settings → Other default options → True color (4:4:4)
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -737,8 +737,8 @@ The "reverse-mouse-wheel" option in each peer's settings will then control wheth
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Reverse mouse wheel
|
||||
1. **Mobile** Settings -> Display settings -> Other default options -> Reverse mouse wheel
|
||||
1. **Desktop** Settings → Display → Other default options → Reverse mouse wheel
|
||||
2. **Mobile** Settings → Display settings → Other default options → Reverse mouse wheel
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -752,8 +752,8 @@ The "swap-left-right-mouse" option in each peer's settings will then control whe
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Swap left-right mouse button
|
||||
1. **Mobile** Settings -> Display settings -> Other default options -> Swap left-right mouse button
|
||||
1. **Desktop** Settings → Display → Other default options → Swap left-right mouse button
|
||||
2. **Mobile** Settings → Display settings → Other default options → Swap left-right mouse button
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -769,8 +769,8 @@ The "displays-as-individual-windows" option in each peer's settings will then co
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Show displays as individual windows
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Display → Other default options → Show displays as individual windows
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -786,8 +786,8 @@ The "use-all-my-displays-for-the-remote_session" option in each peer's settings
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Other default options -> Use all my displays for the remote session
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Display → Other default options → Use all my displays for the remote session
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -801,8 +801,8 @@ The "view-style" option in each peer's settings will then control the view style
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Default view style
|
||||
1. **Mobile** Settings -> Display settings -> Default view style
|
||||
1. **Desktop** Settings → Display → Default view style
|
||||
2. **Mobile** Settings → Display settings → Default view style
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -816,8 +816,8 @@ The "scroll-style" option in each peer's settings will then control the scroll s
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Default scroll style
|
||||
1. **Mobile**
|
||||
1. **Desktop** Settings → Display → Default scroll style
|
||||
2. **Mobile**
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -831,8 +831,8 @@ The "image-quality" option in each peer's settings will then control the image q
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Default image quality
|
||||
1. **Mobile** Settings -> Display settings -> Default image quality
|
||||
1. **Desktop** Settings → Display → Default image quality
|
||||
2. **Mobile** Settings → Display settings → Default image quality
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -846,8 +846,8 @@ The "custom-image-quality" option in each peer's settings will then control the
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Default image quality -> Custom
|
||||
1. **Mobile** Settings -> Display settings -> Default image quality -> Custom
|
||||
1. **Desktop** Settings → Display → Default image quality → Custom
|
||||
2. **Mobile** Settings → Display settings → Default image quality → Custom
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -861,8 +861,8 @@ The "custom-fps" option in each peer's settings will then control the fps if "im
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Default image quality -> Custom
|
||||
1. **Mobile** Settings -> Display settings -> Default image quality -> Custom
|
||||
1. **Desktop** Settings → Display → Default image quality → Custom
|
||||
2. **Mobile** Settings → Display settings → Default image quality → Custom
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
@ -876,8 +876,8 @@ The "codec-preference" option in each peer's settings will then control codec fo
|
||||
|
||||
**Location**:
|
||||
|
||||
1. **Desktop** Settings -> Display -> Default codec
|
||||
1. **Mobile** Settings -> Display settings -> Default codec
|
||||
1. **Desktop** Settings → Display → Default codec
|
||||
2. **Mobile** Settings → Display settings → Default codec
|
||||
|
||||
| Install required | Values | Default | Example |
|
||||
| :------: | :------: | :------: | :------: |
|
||||
|
@ -70,7 +70,7 @@ function getLatest()
|
||||
$params += @{Version = $Version}
|
||||
$params += @{Downloadlink = $Downloadlink}
|
||||
$Result = New-Object PSObject -Property $params
|
||||
|
||||
|
||||
return($Result)
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
---
|
||||
title: 3rd Party Integrations
|
||||
weight: 400
|
||||
pre: "<b>2.4.1 </b>"
|
||||
---
|
||||
|
||||
RustDesk has successfully been integrated into a number of other projects, please see some below. If your project wants to integrate with RustDesk or you have already integrated RustDesk please let us know via [email](mailto:support@rustdesk.com) and we can add to our docs.
|
||||
|
@ -35,8 +35,8 @@ If you can not see logs with `-td`, you can see logs via `docker logs hbbs`. Or
|
||||
|
||||
#### Docker Compose examples
|
||||
For running the Docker files with the `compose.yml` as described here you need to have [Docker Compose](https://docs.docker.com/compose/) installed.
|
||||
```yaml
|
||||
|
||||
```yaml
|
||||
services:
|
||||
hbbs:
|
||||
container_name: hbbs
|
||||
@ -50,7 +50,6 @@ services:
|
||||
- hbbr
|
||||
restart: unless-stopped
|
||||
|
||||
|
||||
hbbr:
|
||||
container_name: hbbr
|
||||
image: rustdesk/rustdesk-server:latest
|
||||
|
@ -6,8 +6,8 @@ pre: "<b>2.1. </b>"
|
||||
|
||||
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" %}}
|
||||
|
||||
{{% notice note %}}
|
||||
If you build you own server on your home/office, and can't connect it through public IP/domain, please check [this article](https://rustdesk.com/docs/en/self-host/nat-loopback-issues/).
|
||||
{{% /notice %}}
|
||||
|
||||
{{% children depth="3" showhidden="true" %}}
|
||||
|
@ -4,6 +4,7 @@ weight: 22
|
||||
---
|
||||
|
||||
Synology has two types of Docker, "Docker" and "Container Manager". If you're using DSM 7.2 and later, please follow the guide for DSM 7.2, or follow the DSM 6 guide if you're on older system.
|
||||
{{% children depth="3" showhidden="true" %}}
|
||||
|
||||
If you are using Synology with Portainer, please check [this tutorial](https://mariushosting.com/how-to-install-rustdesk-on-your-synology-nas/).
|
||||
|
||||
{{% children depth="3" showhidden="true" %}}
|
||||
|
@ -78,7 +78,7 @@ The public key will looks like this:
|
||||
|
||||
![](images/dsm7_viewing_public_key_though_syno_text_editor.png)
|
||||
|
||||
Check [here](/docs/en/client) to set up your client. Only `ID server` and `Key` is needed. `Relay server` isn't needed because we've set it in `hbbs`, hbbs will provide this information automatically.
|
||||
Check [here](/docs/en/client) to set up your client. Only `ID server` and `Key` is needed. `Relay server` isn't needed because we've set it in `hbbs`, `hbbs` will provide this information automatically.
|
||||
|
||||
### 5. Set your hbbs to point to your domain
|
||||
|
||||
@ -105,9 +105,9 @@ If you still can't find the setting, Google search `{Router brand} + port forwar
|
||||
|
||||
Open these required ports:
|
||||
* `21114` TCP for web console, only available in Pro version
|
||||
* `21115` `TCP` For NAT type test
|
||||
* `21116` `TCP` TCP hole punching
|
||||
* `21116` `UDP` Heartbeat/ID server
|
||||
* `21117` `TCP` Relay
|
||||
* `21115` TCP for NAT type test
|
||||
* `21116` TCP TCP hole punching
|
||||
* `21116` UDP heartbeat/ID server
|
||||
* `21117` TCP relay
|
||||
* `21118/21119` TCP for web socket if you want to run web client
|
||||
|
||||
|
@ -2,5 +2,7 @@
|
||||
title: Ubuntu Server
|
||||
weight: 30
|
||||
---
|
||||
In Ubuntu Server, you have two method to deplay RustDesk Server, Docker or nornal `.deb` installation, Docker is more recommend for unexperienced users, because you could just copy the `compose.yml`, and do some modify and you good to go!
|
||||
{{% children depth="3" showhidden="true" %}}
|
||||
|
||||
In Ubuntu Server, you have two methods to deploy RustDesk Server, Docker or normal `.deb` installation. Docker is more recommend for unexperienced users, because you could just copy the `compose.yml`, and do some modify and you good to go!
|
||||
|
||||
{{% children depth="3" showhidden="true" %}}
|
||||
|
@ -2,8 +2,10 @@
|
||||
title: Ubuntu Server with Docker
|
||||
weight: 20
|
||||
---
|
||||
Following tutoral will use Ubuntu Server **22.04 minimal** as example. And especially command line procedures, because lowest price spec of VPS can't handle desktop environment.
|
||||
## Preparation
|
||||
|
||||
Following tutorial will use Ubuntu Server **22.04 minimal** as example. And especially command line procedures, because lowest price spec of VPS can't handle desktop environment.
|
||||
|
||||
### Preparation
|
||||
|
||||
> First, you need:
|
||||
* [Visual Studio Code](https://code.visualstudio.com)
|
||||
@ -15,22 +17,24 @@ Following tutoral will use Ubuntu Server **22.04 minimal** as example. And espec
|
||||
* [Ubuntu Server ISO](https://ubuntu.com/download/server)
|
||||
* Ability to setup port forwarding on your ISP modem or router, if you got these devices from your ISP and don't know how to enter the admin page, please ask your ISP
|
||||
|
||||
## VPS/VM specs choosing/setting
|
||||
If you plan to run only RustDesk Server, lowest spec should be fine, except AWS Lightsail, because its lowest spec is 512MB RAM which may too low and crash, any spec with **1GB RAM** should fine.
|
||||
### VPS/VM specs choosing/setting
|
||||
|
||||
For self-hosted VMs, **1GB RAM and 32GB** of disk will suit your need, and UEFI BIOS is preferred.
|
||||
If you plan to run only RustDesk Server, lowest spec should be fine, except AWS Lightsail, because its lowest spec is 512 MB RAM which may too low and crash, any spec with **1 GB RAM** should fine.
|
||||
|
||||
For self-hosted VMs, **1 GB RAM and 32 GB** of disk will suit your need, and UEFI BIOS is preferred.
|
||||
|
||||
For any other hypervisor that runs on Windows or Linux with GUI, such as VirtualBox or VMware Workstation, please set your virtual network card to **bridged** mode.
|
||||
|
||||
## 1. Installing Ubuntu Server
|
||||
#### [Skip](#2-setup-server) if you decide to rent a VPS.
|
||||
### 1. Installing Ubuntu Server
|
||||
|
||||
##### Skip [2. Setup Server](#2-setup-server), if you decide to rent a VPS.
|
||||
|
||||
{{% notice note %}}
|
||||
This tutorial assume you install your Ubuntu Server as a virtual machine. If you decide to install on a physical machine, doing wrong procedures, may cause **data loss**.
|
||||
{{% /notice %}}
|
||||
|
||||
{{% notice note %}}
|
||||
Use **Tab** to navigate different options, use **Space** to choose different options, use **Enter** when hitting Done.
|
||||
Use **Tab** to navigate different options, use **Space** to choose different options, use **Enter** when hitting **Done**.
|
||||
{{% /notice %}}
|
||||
|
||||
1. Choose language
|
||||
@ -46,14 +50,13 @@ Use **Tab** to navigate different options, use **Space** to choose different opt
|
||||
Now, you could go to your router's DHCP settings, find and add your VM's LAN IP address to DHCP reservation, if you want, you could also assign other IP address.
|
||||
{{% /notice %}}
|
||||
|
||||
|
||||
4. It should choose mirror automatically, if yes, next
|
||||
![](images/installation/ubt-serv-install-mirror-config.png)
|
||||
|
||||
5. Choose minimized to reduce memory and disk usage
|
||||
![](images/installation/ubt-serv-install-installation-type.png)
|
||||
|
||||
6. Use entire disk, next
|
||||
6. Use entire disk
|
||||
![](images/installation/ubt-serv-install-use-entire-disk.png)
|
||||
|
||||
7. Confirm your disk options
|
||||
@ -64,41 +67,45 @@ Now, you could go to your router's DHCP settings, find and add your VM's LAN IP
|
||||
|
||||
9. Skip [Ubuntu Pro](https://ubuntu.com/pro) register, or you could do it right now
|
||||
![](images/installation/ubt-serv-install-skip-pro.png)
|
||||
10. We need to install OpenSSH
|
||||
|
||||
10. We need to install OpenSSH
|
||||
![](images/installation/ubt-serv-install-add-ssh-serv.png)
|
||||
|
||||
11. Skip anyting at this page, because it is snap package
|
||||
11. Skip anything at this page, because it is snap package
|
||||
![](images/installation/ubt-serv-install-skip-snap.png)
|
||||
|
||||
12. After installed it may doing auto update, you could let it update, after it done, reboot.
|
||||
|
||||
## 2. Setup Server
|
||||
|
||||
### 2. Setup Server
|
||||
|
||||
1. Open VSCode, click button at left corner and select SSH
|
||||
![](images/setup/open_vscode.png)
|
||||
|
||||
2. Enter `username@IP`
|
||||
|
||||
For example: `demouser@192.168.2.98`, and then enter
|
||||
2. Enter `username@IP`, for example `demouser@192.168.2.98`, and then `Enter`
|
||||
![](images/setup/connect_server_through_vscode.png)
|
||||
|
||||
3. Select your system, `Linux`
|
||||
3. Select your system `Linux`
|
||||
|
||||
4. Confirm the fingerprint of the server
|
||||
|
||||
5. Enter the password of your user
|
||||
|
||||
6. Open your home folder
|
||||
![](images/setup/vscode_open_folder.png)
|
||||
|
||||
7. Click, **Yes, I trust the authors**
|
||||
7. Click `Yes, I trust the authors`
|
||||
|
||||
8. Open terminal
|
||||
![](images/setup/vscode_open_terminal.png)
|
||||
|
||||
9. Install packages
|
||||
```text
|
||||
```
|
||||
sudo apt install docker.io docker-compose python3-pip curl git vim nano zram-config -y
|
||||
```
|
||||
|
||||
10. Disable disk swap
|
||||
|
||||
Check if swapfile exists
|
||||
Check if swap file exists
|
||||
```
|
||||
sudo vim /etc/fstab
|
||||
```
|
||||
@ -107,17 +114,17 @@ If you find anything similar to:
|
||||
```
|
||||
/swap.img none swap sw 0 0
|
||||
```
|
||||
If not: Type `:qa!` then enter to exit. And go to Step. 12
|
||||
If not: Type `:qa!` then `Enter` to exit. And go to step 12
|
||||
|
||||
If yes: Press `i` to activate edit mode, comment that line with `#` like this:
|
||||
```
|
||||
#/swap.img none swap sw 0 0
|
||||
```
|
||||
Press `Esc` and type `:wq` then enter to save the changes.
|
||||
Press `Esc` and type `:wq` then `Enter` to save the changes.
|
||||
|
||||
11. Adjust ZRAM size
|
||||
|
||||
ZRAM means **"compress ram"**, it is more efficient and won't occupy disk space.
|
||||
ZRAM means "compress ram", it is more efficient and won't occupy disk space.
|
||||
|
||||
```
|
||||
sudo vim /usr/bin/init-zram-swapping
|
||||
@ -141,6 +148,7 @@ Find your timezone at [Wikipedia](https://en.wikipedia.org/wiki/List_of_tz_datab
|
||||
```
|
||||
sudo timedatectl set-timezone "Asia/Taipei"
|
||||
```
|
||||
|
||||
13. Reboot
|
||||
```
|
||||
sudo reboot
|
||||
@ -151,12 +159,13 @@ After reboot, reconnect with your VSCode and open terminal.
|
||||
|
||||
(Skip if you don't have it.)
|
||||
|
||||
We've replaced swapfile with ZRAM, now we can delete `swap.img` now, replace `swap.img` with others if your name is different.
|
||||
We've replaced swap file with ZRAM, now we can delete `swap.img` now, replace `swap.img` with others if your name is different.
|
||||
```
|
||||
sudo rm /swap.img
|
||||
```
|
||||
|
||||
## 3. Setup RustDesk Server
|
||||
### 3. Setup RustDesk Server
|
||||
|
||||
1. Run this command to create required folders once:
|
||||
```
|
||||
cd ~ && mkdir -p docker/rustdesk-server/data
|
||||
@ -164,19 +173,21 @@ cd ~ && mkdir -p docker/rustdesk-server/data
|
||||
|
||||
2. Create `compose.yml`
|
||||
|
||||
Right click `rustdesk-server` folder, create new file named `compose.yml`
|
||||
Right click `rustdesk-server` folder, create new file named `compose.yml`.
|
||||
|
||||
Paste this to `compose.yml`.
|
||||
|
||||
After you copied, you should replace `rustdesk.example.com` (Which point to your hbbr) to the domain that will point to your server.
|
||||
After you copied, you should replace `rustdesk.example.com` (Which point to your `hbbr`) to the domain that will point to your server.
|
||||
|
||||
{{% notice note %}}
|
||||
You could modify the line with `hbbs` to your server's LAN IP temporarily (If you're deploying in your LAN) to ensure it is working. After you verify your server is working, you **should** change back.
|
||||
{{% /notice %}}
|
||||
|
||||
{{% notice note %}}
|
||||
Having problem after you changed LAN IP to domain? You should check [this article](/docs/en/self-host/nat-loopback-issues/).
|
||||
{{% /notice %}}
|
||||
```yml
|
||||
|
||||
```yaml
|
||||
services:
|
||||
hbbs:
|
||||
container_name: hbbs
|
||||
@ -214,6 +225,7 @@ Check [here](/docs/en/client) to set up your client. Only `ID server` and `Key`
|
||||
cd ~/docker/rustdesk-server
|
||||
sudo docker-compose up -d
|
||||
```
|
||||
|
||||
4. Check it is working
|
||||
|
||||
In your VSCode, you should see `id_ed25519`, `id_ed25519.pub` on your `docker/rustdesk-server/data` folder. You could click `id_ed25519.pub`, this is the public key that you need for your RustDesk client.
|
||||
@ -221,7 +233,7 @@ In your VSCode, you should see `id_ed25519`, `id_ed25519.pub` on your `docker/ru
|
||||
The public key will looks like this:
|
||||
![](images/setup/vscode_see_public_key.png)
|
||||
|
||||
## 5. Set port forwarding on your router/VPS
|
||||
### 4. Set port forwarding on your router/VPS
|
||||
|
||||
Go to your router's admin webpage, find anything related to `Port forwarding`, it should appear in `WAN` or `Firewall` settings.
|
||||
|
||||
@ -231,13 +243,14 @@ If you're using VPS, Google search `{VPS vendor name} + firewall port` to find t
|
||||
|
||||
Open these required ports:
|
||||
* `21114` TCP for web console, only available in Pro version
|
||||
* `21115` `TCP` For NAT type test
|
||||
* `21116` `TCP` TCP hole punching
|
||||
* `21116` `UDP` Heartbeat/ID server
|
||||
* `21117` `TCP` Relay
|
||||
* `21115` TCP for NAT type test
|
||||
* `21116` TCP TCP hole punching
|
||||
* `21116` UDP heartbeat/ID server
|
||||
* `21117` TCP relay
|
||||
* `21118/21119` TCP for web socket if you want to run web client
|
||||
|
||||
## 6. Some basics
|
||||
### 5. Some basics
|
||||
|
||||
1. How to apply the settings after you modified `compose.yml`?
|
||||
|
||||
Run this again:
|
||||
@ -263,7 +276,6 @@ Drag and drop them to VSCode Explorer if you want to upload it.
|
||||
|
||||
Use [Watchtower](https://containrrr.dev/watchtower/).
|
||||
|
||||
|
||||
Create folder and put the `compose.yml` in it.
|
||||
|
||||
```
|
||||
@ -274,7 +286,8 @@ Change your timezone with yours at `TZ`.
|
||||
If you didn't specify any container name, it will update **all** of your containers.
|
||||
|
||||
At the following command, it will run everyday at 3 AM, for more details, check their [documentation](https://containrrr.dev/watchtower/arguments/#scheduling).
|
||||
```yml
|
||||
|
||||
```yaml
|
||||
version: "3"
|
||||
services:
|
||||
watchtower:
|
||||
@ -291,4 +304,4 @@ services:
|
||||
|
||||
5. How to update Ubuntu system automatically?
|
||||
|
||||
By default, Ubuntu will installing security updates automatically, Google search: `ubuntu unattended-upgrades` or check the file at `/etc/apt/apt.conf.d/50unattended-upgrades` for more details.
|
||||
By default, Ubuntu will installing security updates automatically, Google search: `ubuntu unattended-upgrades` or check the file at `/etc/apt/apt.conf.d/50unattended-upgrades` for more details.
|
||||
|
@ -83,9 +83,9 @@ The User is the RustDesk User logged in on the device or assigned to the device
|
||||
|
||||
This can also be done via the API at command line on deployment or later by calling the RustDesk executable followed by `--assign --token <generatedtoken> --user_name <username>`. You need to go to `Settings → Tokens → Create` and create a token with Device permissions first to do this. An example of this on windows would be `"C:\Program Files\RustDesk\rustdesk.exe" --assign --token <generatedtoken> --user_name <newuser>`.
|
||||
|
||||
You can also assign strategy in this way, e.g. `--assign --token <generatedtoken> --strategy_name <strategy name>`.
|
||||
You can also assign strategy in this way, e.g. `--assign --token <generatedtoken> --strategy_name <strategyname>`.
|
||||
|
||||
The command line on Windows does not have output by default, to get output, please run like this, `"C:\Program Files\RustDesk\rustdesk.exe" <arg1> <arg2> ... | more`, or `"C:\Program Files\RustDesk\rustdesk.exe" <arg1> <arg2> ... | Out-String`, https://github.com/rustdesk/rustdesk/discussions/6377#discussioncomment-8094952.
|
||||
The command line on Windows does not have output by default. To get output, please run like this, `"C:\Program Files\RustDesk\rustdesk.exe" <arg1> <arg2> ... | more` or `"C:\Program Files\RustDesk\rustdesk.exe" <arg1> <arg2> ... | Out-String`, see [here](https://github.com/rustdesk/rustdesk/discussions/6377#discussioncomment-8094952).
|
||||
|
||||
### Searching for a device
|
||||
1. Go to Devices.
|
||||
|
@ -153,22 +153,21 @@ If your `hbbr` does not run on the same machine of `hbbs`, or you have multiple
|
||||
### Reset MFA for Admin account
|
||||
https://github.com/rustdesk/rustdesk/discussions/6576
|
||||
|
||||
### Set up HTTPS for web console manually
|
||||
|
||||
### Set up https for web console manually
|
||||
|
||||
#### 1. Buy a domain name and resolve it to your server's IP address.
|
||||
#### 1. Buy a domain name and resolve it to your server's IP address.
|
||||
* Buy a domain name from a domain registrar like GoDaddy, Namecheap, or Namesilo.
|
||||
* Resolve the domain name to your server's IP address with one of the following:
|
||||
* Resolve the domain name to your server's IP address with one of the following:
|
||||
- Your domain registrar's control panel (recommended)
|
||||
- DNS providers, https://en.wikipedia.org/wiki/List_of_managed_DNS_providers
|
||||
- [DNS providers](https://en.wikipedia.org/wiki/List_of_managed_DNS_providers)
|
||||
|
||||
For example, if you buy a domain name `example.com` from `Namesilo` and your server's IP address is `123.123.123.123`, you want to use `rustdesk.example.com` subdomain as your https web console address. You need to open link https://www.namesilo.com/account_domains.php, click the button with tooltip `Manage dns for the domain`, add add a `A` record with the hostname name `rustdesk` and the IP address of your server.
|
||||
For example, if you buy a domain name `example.com` from `Namesilo` and your server's IP address is `123.123.123.123`, you want to use `rustdesk.example.com` subdomain as your HTTPS web console address. You need to open [link](https://www.namesilo.com/account_domains.php), click the button with tooltip `Manage dns for the domain`, add add a `A` record with the hostname name `rustdesk` and the IP address of your server.
|
||||
![](/docs/en/self-host/rustdesk-server-pro/faq/images/namesilo-dns-button.png)
|
||||
![](/docs/en/self-host/rustdesk-server-pro/faq/images/namesilo-add-a-record.png)
|
||||
![](/docs/en/self-host/rustdesk-server-pro/faq/images/namesilo-dns-table.png)
|
||||
* It takes some time for dns to take effect, go to https://www.whatsmydns.net and check whether the domain name has been resolved to your server's IP address, step 6 depends on the correct resolve result. In the following steps, replace `<YOUR_DOMAIN>` with your subdomain, eg: `rustdesk.example.com`.
|
||||
* It takes some time for DNS to take effect, go to https://www.whatsmydns.net and check whether the domain name has been resolved to your server's IP address. Step 6 depends on the correct resolve result. In the following steps, replace `<YOUR_DOMAIN>` with your subdomain, e.g. `rustdesk.example.com`.
|
||||
|
||||
#### 2. Install nginx.
|
||||
#### 2. Install Nginx
|
||||
* Debian/Ubuntu: `sudo apt-get install nginx`
|
||||
* Fedora/CentOS: `sudo dnf install nginx` or `sudo yum install nginx`
|
||||
* Arch: `sudo pacman -S install nginx`
|
||||
@ -180,16 +179,15 @@ Run `nginx -h` to check whether it has been installed successfully.
|
||||
|
||||
#### 3. Install Certbot
|
||||
* Method 1: If snap is installed, run `sudo snap install certbot --classic`
|
||||
* Method 2: Using `python3-certbot-nginx` instead. eg: `sudo apt-get install python3-certbot-nginx` for ubuntu
|
||||
* Method 3: If the above two methods failed, try install `certbot-nginx`, eg: `sudo yum install certbot-nginx` for centos 7
|
||||
* Method 2: Using `python3-certbot-nginx` instead. e.g. `sudo apt-get install python3-certbot-nginx` for ubuntu
|
||||
* Method 3: If the above two methods failed, try install `certbot-nginx`, e.g. `sudo yum install certbot-nginx` for centos 7
|
||||
|
||||
Run `certbot -h` to check whether it has been installed successfully..
|
||||
|
||||
#### 4. Config nginx
|
||||
|
||||
#### 4. Config Nginx
|
||||
There are two ways:
|
||||
* If directory `/etc/nginx/sites-available` and `/etc/nginx/sites-enabled` exists, replace `<YOUR_DOMAIN>` of the following command with your domain name and run it.
|
||||
```bash
|
||||
```sh
|
||||
cat > /etc/nginx/sites-available/rustdesk.conf << EOF
|
||||
server {
|
||||
server_name <YOUR_DOMAIN>;
|
||||
@ -206,7 +204,7 @@ Then run `sudo ln -s /etc/nginx/sites-available/rustdesk.conf /etc/nginx/sites-e
|
||||
Run `cat /etc/nginx/sites-available/rustdesk.conf` to make sure its content is correct.
|
||||
|
||||
* If directory `/etc/nginx/sites-available` and `/etc/nginx/sites-enabled` don't exist and directory `/etc/nginx/conf.d` exists, replace `<YOUR_DOMAIN>` of the following command with your domain name and run it.
|
||||
```bash
|
||||
```sh
|
||||
cat > /etc/nginx/conf.d/rustdesk.conf << EOF
|
||||
server {
|
||||
server_name <YOUR_DOMAIN>;
|
||||
@ -221,50 +219,47 @@ EOF
|
||||
Run `cat /etc/nginx/conf.d/rustdesk.conf` to make sure its content is correct.
|
||||
|
||||
#### 5. Enable firewall rules for the domain
|
||||
|
||||
Run the following commands:
|
||||
|
||||
`sudo ufw allow 80/tcp`
|
||||
`sudo ufw allow 443/tcp`
|
||||
`sudo ufw --force enable`
|
||||
`sudo ufw --force reload`
|
||||
```sh
|
||||
sudo ufw allow 80/tcp
|
||||
sudo ufw allow 443/tcp
|
||||
sudo ufw --force enable
|
||||
sudo ufw --force reload
|
||||
```
|
||||
|
||||
#### 6. Generate SSL certificate
|
||||
|
||||
Replace `<YOUR_DOMAIN>` with your domain name, then run
|
||||
`sudo certbot --nginx --cert-name <YOUR_DOMAIN> --key-type ecdsa --renew-by-default --no-eff-email --agree-tos --server https://acme-v02.api.letsencrypt.org/directory -d <YOUR_DOMAIN>`
|
||||
`sudo certbot --nginx --cert-name <YOUR_DOMAIN> --key-type ecdsa --renew-by-default --no-eff-email --agree-tos --server https://acme-v02.api.letsencrypt.org/directory -d <YOUR_DOMAIN>`.
|
||||
|
||||
If it prompts `Enter email address (used for urgent renewal and security notices)`, enter your email address.
|
||||
|
||||
Finally, the content of `rustdesk.conf` should be like this:
|
||||
```
|
||||
server {
|
||||
server_name <Your_DOMAIN>;
|
||||
server_name <YOUR_DOMAIN>;
|
||||
location / {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_pass http://127.0.0.1:21114/;
|
||||
}
|
||||
|
||||
|
||||
listen 443 ssl; # managed by Certbot
|
||||
ssl_certificate /etc/letsencrypt/live/<Your_DOMAIN>/fullchain.pem; # managed by Certbot
|
||||
ssl_certificate_key /etc/letsencrypt/live/<Your_DOMAIN>/privkey.pem; # managed by Certbot
|
||||
ssl_certificate /etc/letsencrypt/live/<YOUR_DOMAIN>/fullchain.pem; # managed by Certbot
|
||||
ssl_certificate_key /etc/letsencrypt/live/<YOUR_DOMAIN>/privkey.pem; # managed by Certbot
|
||||
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||
|
||||
}
|
||||
server {
|
||||
if ($host = <Your_DOMAIN>) {
|
||||
if ($host = <YOUR_DOMAIN>) {
|
||||
return 301 https://$host$request_uri;
|
||||
} # managed by Certbot
|
||||
|
||||
|
||||
server_name <Your_DOMAIN>;
|
||||
server_name <YOUR_DOMAIN>;
|
||||
listen 80;
|
||||
return 404; # managed by Certbot
|
||||
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
@ -272,69 +267,75 @@ Here are some common errors:
|
||||
|
||||
* The console prints `Successfully deployed certificate for <YOUR_DOMAIN> to /etc/nginx/.../default` rather than `Successfully deployed certificate for <YOUR_DOMAIN> to /etc/nginx/.../rustdesk.conf`.
|
||||
|
||||
Solution: The reason may be certbot doesn't find the rustdesk.conf file, you can try one of the following solutions:
|
||||
- Check the result of the step 5, run `sudo service nginx restart`.
|
||||
- Copy the server configs `server{...}` which contain `<YOUR_DOMAIN>` to `rustdesk.conf`, and change `location{...}` to the content below.
|
||||
```bash
|
||||
The reason may be Certbot doesn't find the `rustdesk.conf` file, you can try one of the following solutions:
|
||||
- Check the result of the step 5, run `sudo service nginx restart`.
|
||||
- Copy the server configs `server{...}` which contain `<YOUR_DOMAIN>` to `rustdesk.conf`, and change `location{...}` to the content below.
|
||||
|
||||
```sh
|
||||
location / {
|
||||
proxy_set_header X-Real-IP \$remote_addr;
|
||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||
proxy_pass http://127.0.0.1:21114/;
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
* `too many certificates (5) already issued for this exact set of domains in the last 168 hours`
|
||||
|
||||
Solution: add another domain name to dns and change `<YOUR_DOMAIN>` to it, eg: `rustdesk2.example.com`, then repeat step 1, 4, 6.
|
||||
Solution: Add another domain name to DNS and change `<YOUR_DOMAIN>` to it, e.g. `rustdesk2.example.com`. Then repeat step 1, 4, 6.
|
||||
|
||||
* `Error getting validation data`
|
||||
|
||||
Solution: it may be caused by firewall, please refer to https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/faq/#firewall
|
||||
|
||||
Notice: Run `sudo service nginx restart` if you change the rustdesk.conf manually.
|
||||
|
||||
Notice: Run `sudo service nginx restart` if you change the `rustdesk.conf` manually.
|
||||
|
||||
#### 7. Login to the web page
|
||||
|
||||
* Open https://<YOUR_DOMAIN> in the browser, log in using the default user name "admin" and password "test1234", then change the password to your own.
|
||||
|
||||
### Selinux
|
||||
### SELinux
|
||||
|
||||
If `Waiting for RustDesk Relay service to become active...` appears when install, it may be caused by selinux. You can try the following commands:
|
||||
`sudo semanage fcontext -a -t NetworkManager_dispatcher_exec_t 'hbbs'`
|
||||
`sudo semanage fcontext -a -t NetworkManager_dispatcher_exec_t 'hbbr'`
|
||||
`sudo restorecon -v '/usr/bin/hbbs'`
|
||||
`sudo restorecon -v '/usr/bin/hbbr'`
|
||||
If `Waiting for RustDesk Relay service to become active...` appears when install, it may be caused by SELinux. You can try the following commands:
|
||||
|
||||
```sh
|
||||
sudo semanage fcontext -a -t NetworkManager_dispatcher_exec_t 'hbbs'
|
||||
sudo semanage fcontext -a -t NetworkManager_dispatcher_exec_t 'hbbr'
|
||||
sudo restorecon -v '/usr/bin/hbbs'
|
||||
sudo restorecon -v '/usr/bin/hbbr'
|
||||
```
|
||||
|
||||
### Firewall
|
||||
|
||||
#### Firewall of cloud.
|
||||
If you run on AWS/Azure/Google/DigitalOcean cloud, please open UDP(21116) + TCP(21114-21119) inbound port on cloud vendor's dashboard.
|
||||
#### Firewall of cloud
|
||||
If you run on AWS/Azure/Google/DigitalOcean cloud, please open UDP (21116) and TCP (21114-21119) inbound port on cloud vendor's dashboard.
|
||||
|
||||
- AWS: https://docs.aws.amazon.com/network-firewall/latest/developerguide/getting-started.html
|
||||
- Azure: https://learn.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview
|
||||
- Google: https://cloud.google.com/firewall/docs/firewalls
|
||||
- DigitalOcean: https://docs.digitalocean.com/products/networking/firewalls/
|
||||
- [AWS] https://docs.aws.amazon.com/network-firewall/latest/developerguide/getting-started.html
|
||||
- [Azure] https://learn.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview
|
||||
- [Google] https://cloud.google.com/firewall/docs/firewalls
|
||||
- [DigitalOcean] https://docs.digitalocean.com/products/networking/firewalls/
|
||||
|
||||
#### Firewall of on-premise server
|
||||
RustDesk set firewall with `ufw`. It may not work on some distros like CentOS 9, you can try with `firewall-cmd`:
|
||||
|
||||
### Firewall of on-premise server
|
||||
|
||||
Rustdesk set firewall with `ufw`, it may not work on some distros like CentOS 9, you can try with `firewall-cmd`.
|
||||
|
||||
`sudo firewall-cmd --permanent --add-port=21115/tcp`
|
||||
`sudo firewall-cmd --permanent --add-port=21116/tcp`
|
||||
`sudo firewall-cmd --permanent --add-port=21117/tcp`
|
||||
`sudo firewall-cmd --permanent --add-port=21118/tcp`
|
||||
`sudo firewall-cmd --permanent --add-port=21119/tcp`
|
||||
`sudo firewall-cmd --permanent --add-port=21116/udp`
|
||||
```sh
|
||||
sudo firewall-cmd --permanent --add-port=21115/tcp
|
||||
sudo firewall-cmd --permanent --add-port=21116/tcp
|
||||
sudo firewall-cmd --permanent --add-port=21117/tcp
|
||||
sudo firewall-cmd --permanent --add-port=21118/tcp
|
||||
sudo firewall-cmd --permanent --add-port=21119/tcp
|
||||
sudo firewall-cmd --permanent --add-port=21116/udp
|
||||
```
|
||||
|
||||
If you use IP:
|
||||
|
||||
`sudo firewall-cmd --permanent --add-port=21114/tcp`
|
||||
```sh
|
||||
sudo firewall-cmd --permanent --add-port=21114/tcp
|
||||
```
|
||||
|
||||
If you use DNS/Domain:
|
||||
|
||||
`sudo firewall-cmd --permanent --add-port=80/tcp`
|
||||
`sudo firewall-cmd --permanent --add-port=443/tcp`
|
||||
```sh
|
||||
sudo firewall-cmd --permanent --add-port=80/tcp
|
||||
sudo firewall-cmd --permanent --add-port=443/tcp
|
||||
```
|
||||
|
||||
After above, run `sudo firewall-cmd --reload` to reload firewall.
|
||||
|
@ -33,7 +33,6 @@ With Docker Compose you HAVE to use `network_mode: "host"` to ensure licensing w
|
||||
Copy the below into `compose.yml`.
|
||||
|
||||
```yaml
|
||||
|
||||
services:
|
||||
hbbs:
|
||||
container_name: hbbs
|
||||
@ -47,7 +46,6 @@ services:
|
||||
- hbbr
|
||||
restart: unless-stopped
|
||||
|
||||
|
||||
hbbr:
|
||||
container_name: hbbr
|
||||
image: rustdesk/rustdesk-server-pro:latest
|
||||
@ -63,6 +61,5 @@ The run `docker compose up -d`.
|
||||
> If you have problem with seLinux on Fedora, please check this [issue](https://github.com/rustdesk/rustdesk-server/issues/230).
|
||||
|
||||
{{% notice note %}}
|
||||
How to set up https for your web console.
|
||||
https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/faq/#set-up-https-for-web-console-manually
|
||||
How to [Set up HTTPS for web console manually](https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/faq/#set-up-https-for-web-console-manually).
|
||||
{{% /notice %}}
|
||||
|
@ -26,18 +26,15 @@ What it does:
|
||||
- If you choose Domain, it will install Nginx and Certbot, allowing the API to be available on port 443 (HTTPS) and get an SSL certificate over port 80, it is automatically renewed
|
||||
|
||||
{{% notice note %}}
|
||||
If you want to set up https for web console manually, please check this
|
||||
https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/faq/#set-up-https-for-web-console-manually
|
||||
How to [Set up HTTPS for web console manually](https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/faq/#set-up-https-for-web-console-manually).
|
||||
{{% /notice %}}
|
||||
|
||||
{{% notice note %}}
|
||||
If the systemd service fails to start, it is probably related to SELinux, please check this
|
||||
https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/faq/#selinux
|
||||
If the systemd service fails to start, it is probably related to SELinux, please check [this](https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/faq/#selinux).
|
||||
{{% /notice %}}
|
||||
|
||||
{{% notice note %}}
|
||||
If your client cannot connect to your server or you cannot access the web console, please check this
|
||||
https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/faq/#firewall
|
||||
If your client cannot connect to your server or you cannot access the web console, please check [this](https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/faq/#firewall).
|
||||
{{% /notice %}}
|
||||
|
||||
### Upgrade
|
||||
@ -58,7 +55,7 @@ Copy and paste the above command into your Linux terminal to convert from RustDe
|
||||
`bash <(wget -qO- https://raw.githubusercontent.com/rustdesk/rustdesk-server-pro/main/convertfromos.sh)`
|
||||
|
||||
{{% notice note %}}
|
||||
Please add `21114` TCP port to your firewal, this is additional port for web console and user login in RustDesk client.
|
||||
Please add `21114` TCP port to your firewall, this is additional port for web console and user login in RustDesk client.
|
||||
{{% /notice %}}
|
||||
|
||||
What it does:
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: LDAP
|
||||
title: LDAP
|
||||
weight: 17
|
||||
---
|
||||
|
||||
@ -20,7 +20,7 @@ Please go to `LDAP` settings page as below.
|
||||
|
||||
- **Filter:** This is the search filter for the LDAP query. For example, `(objectClass=person)`, or `(&(age=28)(!(name=Bob)))`.
|
||||
|
||||
- **Username Attribute:** This is the attribute which contains the username. For example, `uid` or `sAMAccountName`. By default, it uses `uid` and `cn`. Here is a discussion about this, [https://github.com/rustdesk/rustdesk-server-pro/issues/140#issuecomment-1916804393](https://github.com/rustdesk/rustdesk-server-pro/issues/140#issuecomment-1916804393).
|
||||
- **Username Attribute:** This is the attribute which contains the username. For example, `uid` or `sAMAccountName`. By default, it uses `uid` and `cn`. Here is a [discussion](https://github.com/rustdesk/rustdesk-server-pro/issues/140#issuecomment-1916804393) about this.
|
||||
|
||||
- **StartTLS:** This determines whether to use StartTLS to upgrade the connection to a secure one.
|
||||
|
||||
@ -30,10 +30,8 @@ Please go to `LDAP` settings page as below.
|
||||
- How do LDAP logins work e.g. do I need to create a new user first, does RustDesk create a user on first login, etc?
|
||||
> RustDesk create a user on first login
|
||||
- How do I check LDAP is working (ideally a command I can give to RustDesk to return the discovered users.)?
|
||||
> When you submit the configuration, it will connect to your ldap server with binddn/password you have given and verify if it works.
|
||||
> When you submit the configuration, it will connect to your LDAP server with binddn/password you have given and verify if it works.
|
||||
- How do I change local users to LDAP users?
|
||||
> Not yet
|
||||
- Does it support LDAP group?
|
||||
- Does it support LDAP groups?
|
||||
> Not yet
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user