feat: custom client, advanced settings

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou 2024-05-14 21:51:09 +08:00
parent 36f28cdbe2
commit 45c251d677
5 changed files with 1737 additions and 0 deletions

View File

@ -17,6 +17,7 @@ You can have your own name, logo, icon, configuration, be signed and more.
![](images/custom-client-qs.png) ![](images/custom-client-qs.png)
![](images/web_console_custom_client_config.jpeg) ![](images/web_console_custom_client_config.jpeg)
### 2. Manual Config ### 2. Manual Config
In the main RustDesk Client home click on the Menu button [ &#8942; ] 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. In the main RustDesk Client home click on the Menu button [ &#8942; ] 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.
@ -108,3 +109,5 @@ By adding `--` at the end right after our config string, even if something is ad
`rustdesk.exe --config <config-string>` `rustdesk.exe --config <config-string>`
You can get the config string from web console (you can see it on above picture) or from RustDesk client "Settings → Network" ([here](https://github.com/rustdesk/rustdesk/discussions/7118) is a discussion about this). You can get the config string from web console (you can see it on above picture) or from RustDesk client "Settings → Network" ([here](https://github.com/rustdesk/rustdesk/discussions/7118) is a discussion about this).
### 8. [Advanced Settings](https://rustdesk.com/docs/en/self-host/client-configuration/advanced-settings/)

View File

@ -0,0 +1,124 @@
---
title: 客户端配置
weight: 300
pre: "<b>2.3. </b>"
---
### 概述
有多种方法可以配置 RustDesk 客户端以使用您自己的自托管服务器,我们将在下面介绍一些方法。
### 1. 自定义客户端生成器 (仅支持 Pro)
您可以拥有自己的名称、logo、图标、配置、签名等。
[Videos](https://twitter.com/rustdesk/status/1769171628426944539)
![](images/custom-client-qs.png)
![](images/web_console_custom_client_config.jpeg)
### 2. 手动配置
在 RustDesk 客户端主主页中,单击您的 ID 旁的菜单按钮 [ &#8942; ] ,然后单击网络。您现在可以使用提升的权限解锁设置,并设置您的 ID、中继、API 和 Keys。
![](/docs/en/self-host/client-configuration/images/network-config.png)
Enter the `hbbs` host or IP Address in the **ID Server** input box (local side + remote side). The other two addresses can be left blank, RustDesk will automatically deduce (if not specially set), and the Relay Server refers to `hbbr` (port 21117).
**ID Server** 输入框中输入 "hbbs" 主机或 IP 地址(本地端+远程端)。
另外两个地址可以留空RustDesk会自动推导如果没有特别设置Relay Server 引用的是 `hbbr`端口21117
如:
```nolang
hbbs.example.com
```
或者
```nolang
hbbs.example.com:21116
```
#### 设置 `Key`
作为 "Pro" 用户,您将能够从 [Web 控制台](https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/console/) 获取 "Key",或者 您可以在工作目录下的 "id_ed25519.pub" 文件中找到它。
![](/docs/en/self-host/rustdesk-server-pro/console/images/console-home.png?v2)
#### 设置 `API Server`
这仅适用于 `Pro` 用户。 当您可以登录 Web 控制台,但无法登录 RustDesk 客户端时,可能是您没有正确设置 `API Server`
如果您的 API Server 不在默认的 `21114` 端口上运行(如果您来自开源版本,则不能将此端口添加到防火墙),请明确指定 `API Server`
例如 您的 API 服务器在默认 https 端口上运行,请使用 `https://hbbs.example.com` 指定 `API Server`
如果您仍然无法确认 `API Server` 的值,请进入 Web控制台 的欢迎页面,`API Server` 如上图所示(带有 `API` 标签的输入框)。
### 3. 通过导入导出进行设置
1. 使用[上述步骤](https://rustdesk.com/docs/en/self-host/client-configuration/#manual-config) 在设备上配置 RustDesk 客户端。
2. 使用上述机器进入 "设置",然后进入 "网络" 并解锁。
3. 单击 "导出服务器配置"。
4. 将复制的字符串粘贴到记事本或类似工具中。
5. 转到新客户端,将以上内容复制到剪贴板。
6. 在 RustDesk 客户端中转到 "设置",然后转到 "网络",解锁并单击 "导入服务器配置"。
7. 它会自动粘贴设置。
8. 单击 "应用"。
### 4. 自动配置
自动设置的最简单方法是使用[此处](https://rustdesk.com/docs/en/self-host/client-deployment/)找到的部署脚本。
您可以修复需要密码并使用格式为 `{"host":"HOSTADDRESS","key":"HOSTKEY","api":"http://HOSTADDRESS:21114"}` 的反向 Base64 字符串来自动配置客户端,这在 RustDesk Server Pro 控制台是直接可用的。
您还可以使用[上面的步骤](https://rustdesk.com/docs/en/self-host/client-configuration/#setup-using-import-or-export)导出字符串,删除任何 `=` 位于字符串的开头或结尾。 如果设置未显示,请重新启动 RustDesk 客户端。
### 5. 将配置放入 rustdesk.exe 文件名中 (仅支持 Windows)
Change `rustdesk.exe` to rustdesk-`host=<host-ip-or-name>,key=<public-key-string>`.exe, e.g. rustdesk-`host=192.168.1.137,key=xfdsfsd32=32`.exe. You can see the config result in the About Window below.
As a `Pro` user you will be able to retrieve the whole encrypted string from the [web console](https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/console/) then download and rename the RustDesk Client exe, you can upload this somewhere easy for your customers to use.
`rustdesk.exe` 更改为 rustdesk-`host=<主机 IP 或名称>,key=<公钥字符串>`.exe例如 rustdesk-`主机=192.168.1.137,密钥=xfdsfsd32=32`.exe。 您可以在下面的 "关于" 窗口中看到配置结果。
作为 `Pro` 用户,您将能够从 [Web 控制台](https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/console/) 检索整个加密字符串,然后下载 并重命名 RustDesk Client exe您可以将其上传到易于客户使用的地方。
![](/docs/en/self-host/rustdesk-server-pro/console/images/console-home.png?v2)
<a name="invalidchar"></a>
{{% notice note %}}
您需要同时设置 `host``key`,缺少任何一个都将不起作用。
可以选择在键后面, `.exe` 部分前面,添加一个 `,`(逗号)字符作为分隔符,以避免 Windows 或浏览器在下载重复名称时重命名文件时键被破坏,例如 `host=<主机 IP 或名称>,key=<公钥字符串>,.exe`
如果密钥中存在无法在 Windows 文件名中使用的无效字符,请删除从服务器上下载 `id_ed25519` 文件并重启 `hbbs`/`hbbr`
这将重新生成 `id_ed25519.pub` 文件。
您可能需要重复此过程,直到获得有效字符。
{{% /notice %}}
#### 在名称中包含带有 `--` 的配置字符串
示例: `rustdesk--{config-string}--.exe`
{{% notice note %}}
请不要将 `-licensed-``--` 一起使用。例如 `rustdesk-licensed-{config-string}--.exe` 在版本 1.2.3 中不起作用。
我们将在 1.2.4 版本中修复它。
{{% /notice %}}
我们注意到,在某些情况下,当双重下载时,类似 `copy (1)` 的内容会添加到文件名末尾,这会破坏配置。
通过在配置字符串后面添加 `--`,即使文件名中添加了某些内容,也不会损坏配置字符串,并且 RustDesk 将正确检索它。
### 6. [Hardcoding Custom Settings](https://rustdesk.com/docs/en/self-host/client-configuration/hardcode-settings/)
### 7. Use command line `--config`
`rustdesk.exe --config <config-string>`
You can get the config string from web console (you can see it on above picture) or from RustDesk client "Settings → Network" ([here](https://github.com/rustdesk/rustdesk/discussions/7118) is a discussion about this).
您可以从 Web 控制台(您可以在上图中看到它)或从 RustDesk 客户端 "设置 → 网络" 获取配置字符串([此处](https://github.com/rustdesk/rustdesk/discussions/7118)对此进行讨论)。
### 8. [高级设置](https://rustdesk.com/docs/zh-cn/self-host/client-configuration/advanced-settings/)

View File

@ -0,0 +1,805 @@
---
title: Advanced Settings
weight: 49
---
### Privilege Levels for Settings
There are three 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.
The hierarchy of privilege for these settings is as follows: `Override > User > Default`.
### Settings
#### view-only
This option will set the "view-only" option for every peer after the first connection.
Then the "view-only" option in each peer's settings will controls whether the connection is view-only.
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> View mode
1. **Mobile** Settings -> Display settings -> Other default options -> View mode
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `view-only=Y` |
#### show-monitors-toolbar
Controls whether to show monitors in toolbar.
![show-monitors-toolbar](/docs/en/self-host/client-configuration/advanced-settings/images/show-monitors-toolbar.png)
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Show monitors toolbar
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `show-monitors-toolbar=Y` |
#### collapse-toolbar
Controls whether the remote toolbar is collapsed after connecting.
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Collapse toolbar
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `collapse-toolbar=Y` |
#### show-remote-cursor
This option will set the "show-remote-cursor" option for every peer after the first connection.
Then the "show-remote-cursor" option in each peer's settings will controls whether the remote cursor is displayed in the remote control page.
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Show remote cursor
1. **Mobile** Settings -> Display settings -> Other default options -> Show remote cursor
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `show-remote-cursor=N` |
#### follow-remote-cursor
This option will set the "follow-remote-cursor" option for every peer after the first connection.
Then the "follow-remote-cursor" option in each peer's settings will controls whether to follow the remote cursor.
**Preview** [PR 7717](https://github.com/rustdesk/rustdesk/pull/7717)
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Follow remote cursor
1. **Mobile** Settings -> Display settings -> Other default options -> Follow remote cursor
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `follow-remote-cursor=Y` |
#### follow-remote-window
This option will set the "follow-remote-window" option for every peer after the first connection.
Then the "follow-remote-window" option in each peer's settings will controls whether to follow the remote window.
**Preview** [PR 7717](https://github.com/rustdesk/rustdesk/pull/7717)
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Follow remote window focus
1. **Mobile** Settings -> Display settings -> Other default options -> Follow remote window focus
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `follow-remote-window=Y` |
#### zoom-cursor
This option will set the "zoom-cursor" option for every peer after the first connection.
The "zoom-cursor" option in each peer's settings will then control whether the cursor is scaled based on the current image scale.
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Zoom cursor
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `zoom-cursor=Y` |
#### show-quality-monitor
This option will set the "show-quality-monitor" option for every peer after the first connection.
The "show-quality-monitor" option in each peer's settings will then control whether to show the quality monitor.
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Show quality monitor
1. **Mobile** Settings -> Display settings -> Other default options -> Show quality monitor
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `show-quality-monitor=Y` |
#### disable-audio
This option will set the "disable-audio" option for every peer after the first connection.
The "disable-audio" option in each peer's settings will then control whether to play sound.
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Mute
1. **Mobile** Settings -> Display settings -> Other default options -> Mute
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `disable-audio=Y` |
#### disable-clipboard
This option will set the "disable-clipboard" option for every peer after the first connection.
The "disable-clipboard" option in each peer's settings will then control whether to enable text copy and paste.
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Disable clipboard
1. **Mobile** Settings -> Display settings -> Other default options -> Disable clipboard
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `disable-clipboard=Y` |
#### lock-after-session-end
This option will set the "lock-after-session-end" option for every peer after the first connection.
The "lock-after-session-end" option in each peer's settings will then control whether to lock the peer machine after the session ends.
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Lock after session end
1. **Mobile** Settings -> Display settings -> Other default options -> Lock after session end
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `lock-after-session-end=Y` |
#### privacy-mode
This option will set the "privacy-mode" option for every peer after the first connection.
The "privacy-mode" option in each peer's settings will then control whether to use privacy mode after connecting.
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Privacy mode
1. **Mobile** Settings -> Display settings -> Other default options -> Privacy mode
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `privacy-mode=Y` |
#### touch-mode
This option will set the "touch-mode" option for every peer after the first connection.
The "touch-mode" option in each peer's settings will then control whether to use touch mode or mouse mode.
**Location**:
1. **Desktop**
1. **Mobile** Settings -> Display settings -> Other default options -> Touch mode
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `touch-mode=Y` |
#### i444
This option will set the "i444" option for every peer after the first connection.
The "i444" option in each peer's settings will then control whether to use true color.
**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)
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `i444=Y` |
#### reverse-mouse-wheel
This option will set the "reverse-mouse-wheel" option for every peer after the first connection.
The "reverse-mouse-wheel" option in each peer's settings will then control whether to reverse mouse wheel.
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Reverse mouse wheel
1. **Mobile** Settings -> Display settings -> Other default options -> Reverse mouse wheel
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `reverse-mouse-wheel=Y` |
#### swap-left-right-mouse
This option will set the "swap-left-right-mouse" option for every peer after the first connection.
The "swap-left-right-mouse" option in each peer's settings will then control whether to swap left-right mouse button.
**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
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `swap-left-right-mouse=Y` |
#### displays-as-individual-windows
This option will set the "displays-as-individual-windows" option for every peer after the first connection.
The "displays-as-individual-windows" option in each peer's settings will then control whether to show displays as individual windows.
**Preview** [PR 5945](https://github.com/rustdesk/rustdesk/pull/5945)
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Show displays as individual windows
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `displays-as-individual-windows=Y` |
#### use-all-my-displays-for-the-remote_session
This option will set the "use-all-my-displays-for-the-remote_session" option for every peer after the first connection.
The "use-all-my-displays-for-the-remote_session" option in each peer's settings will then control whether to use all my displays for the remote session.
**Preview** [PR 6064](https://github.com/rustdesk/rustdesk/pull/6064)
**Location**:
1. **Desktop** Settings -> Display -> Other default options -> Use all my displays for the remote session
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `use-all-my-displays-for-the-remote_session=Y` |
#### view-style
This option will set the "view-style" option for every peer after the first connection.
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
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | original,adaptive | original | `view-style=original` |
#### scroll-style
This option will set the "scroll-style" option for every peer after the first connection.
The "scroll-style" option in each peer's settings will then control the scroll style.
**Location**:
1. **Desktop** Settings -> Display -> Default scroll style
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | scrollauto,scrollbar | scrollauto | `scroll-style=scrollauto` |
#### image-quality
This option will set the "image-quality" option for every peer after the first connection.
The "image-quality" option in each peer's settings will then control the image quality.
**Location**:
1. **Desktop** Settings -> Display -> Default image quality
1. **Mobile** Settings -> Display settings -> Default image quality
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | best,balanced,low,custom | balanced | `image-quality=balanced` |
#### custom-image-quality
This option will set the "custom-image-quality" option for every peer after the first connection.
The "custom-image-quality" option in each peer's settings will then control the image quality if "image-quality" is set to custom.
**Location**:
1. **Desktop** Settings -> Display -> Default image quality -> Custom
1. **Mobile** Settings -> Display settings -> Default image quality -> Custom
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | [10.0, 2000.0] | 50.0 | `custom-image-quality=50` |
#### custom-fps
This option will set the "custom-fps" option for every peer after the first connection.
The "custom-fps" option in each peer's settings will then control the fps if "image-quality" is set to custom.
**Location**:
1. **Desktop** Settings -> Display -> Default image quality -> Custom
1. **Mobile** Settings -> Display settings -> Default image quality -> Custom
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | [5,120] | 30 | `custom-fps=30` |
#### codec-preference
This option will set the "codec-preference" option for every peer after the first connection.
The "codec-preference" option in each peer's settings will then control codec for images.
**Location**:
1. **Desktop** Settings -> Display -> Default codec
1. **Mobile** Settings -> Display settings -> Default codec
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | auto,vp8,vp9,av1,h264,h265 | auto | `codec-preference=auto` |
**CAUTION**: Options other than "vp8" and "vp9" may not work. This depends on what your machine supports.
#### theme
Controls the UI theme of RustDesk client.
**Location**:
1. **Desktop** Settings -> General -> Theme
1. **Mobile** Settings -> Settings -> Theme
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | dark,light,system | system | `theme=system` |
#### lang
Controls the language of RustDesk client.
**Location**:
1. **Desktop** Settings -> General -> Luanguage
1. **Mobile** Settings -> Settings -> Luanguage
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | default,ar,bg,... | default | `lang=default` |
Currently available languages are:
ar, bg, ca, cs, da, de, el, en, eo, es, et, fa, fr, he, hr, hu, id, it, ja, ko, kz, lt, lv, nb, nl, pl, pt, ro, ru, sk, sl, sq, sr, sv, th, tr, ua, vn, zh-cn, zh-tw
You can check [LANGS](https://github.com/rustdesk/rustdesk/blob/master/src/lang.rs#L45) in the code for the latest language list.
#### enable-confirm-closing-tabs
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**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-confirm-closing-tabs=Y` |
#### enable-open-new-connections-in-tabs
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**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-open-new-connections-in-tabs=Y` |
#### sync-ab-with-recent-sessions
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
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `sync-ab-with-recent-sessions=N` |
#### sync-ab-tags
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
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `sync-ab-tags=N` |
#### filter-ab-by-intersection
Filter address book by tag intersection.
**Preview**: [PR #5985](https://github.com/rustdesk/rustdesk/pull/5985)
**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
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `filter-ab-by-intersection=N` |
#### access-mode
Set the access mode (permissions) for incoming connections.
**Location**:
1. **Desktop** Settings -> Security -> Permissions
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | custom,full,view | custom | `access-mode=custom` |
#### enable-keyboard
Enable keyboard/mouse input for incoming connections.
**Location**:
1. **Desktop** Settings -> Security -> Permissions -> Enable keyboard
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-keyboard=Y` |
#### enable-clipboard
Enable copy and paste for the incomign connections.
**Location**:
1. **Desktop** Settings -> Security -> Permissions -> Enable clipboard
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-clipboard=Y` |
#### enable-file-transfer
Enable file copy and paster or filte transfer(session) for incoming connections.
**Location**:
1. **Desktop** Settings -> Security -> Permissions -> Enable file transfer
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-file-transfer=Y` |
#### enable-audio
Enable audio record and transfer to peer.
**Location**:
1. **Desktop** Settings -> Security -> Permissions -> Enable audio
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-audio=Y` |
#### enable-tunnel
Enable TCP tunneling.
**Location**:
1. **Desktop** Settings -> Security -> Permissions -> Enable TCP tunneling
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-tunnel=Y` |
#### enable-remote-restart
Enable restarting by the control side.
**Location**:
1. **Desktop** Settings -> Security -> Permissions -> Enable remote restart
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-remote-restart=Y` |
#### enable-record-session
Enable sessions to be recorded.
**Location**:
1. **Desktop** Settings -> Security -> Permissions -> Enable recording session
1. **Mobile** Settings -> Share screen -> Enable recording session
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-record-session=Y` |
#### enable-block-input
Enable the control side to block other users' input.
**Location**:
1. **Desktop** Settings -> Security -> Permissions -> Enable blocking user input (Windows only)
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-block-input=Y` |
#### allow-remote-config-modification
Allow the control side to change the settings in conrolled RustDesk UI.
**Location**:
1. **Desktop** Settings -> Security -> Permissions -> Enable remote configuration modification
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `allow-remote-config-modification=Y` |
#### enable-lan-discovery
Allows LAN peers to discover me.
After LAN discovery, [WOL](https://en.wikipedia.org/wiki/Wake-on-LAN) can work if supported locally.
**Location**:
1. **Desktop** Settings -> Security -> Security -> Deny LAN discovery
1. **Mobile** Settings -> Share screen -> Deny LAN discovery
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| Y | Y,N | Y | `enable-lan-discovery=Y` |
#### direct-server
Enable direct IP access.
**Location**:
1. **Desktop** Settings -> Security -> Security -> Enable direct IP access
1. **Mobile** Settings -> Share screen -> Direct IP access
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `direct-server=Y` |
#### direct-access-port
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
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | | 21118 | `direct-access-port=21118` |
#### whitelist
Use IP Whitelisting.
**Location**:
1. **Desktop** Settings -> Security -> Security -> Use IP Whitelisting
1. **Mobile** Settings -> Share screen -> Use IP Whitelisting
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | , or ip1,ip2,ip3 | , means no filter | `whitelist=,` |
#### allow-auto-disconnect & auto-disconnect-timeout
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
| Option | Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: | :------: |
| allow-auto-disconnect | N | Y,N | N | `allow-auto-disconnect=Y` |
| auto-disconnect-timeout | N | Timeout in minutes | 10 | `auto-disconnect-timeout=10` |
#### allow-only-conn-window-open
Only allow connection if RustDesk window is open.
**Location**:
1. **Desktop** Settings -> Security -> Security -> Only allow connection if RustDesk window is open
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| Y | Y,N | N | `allow-only-conn-window-open=N` |
#### allow-auto-record-incoming
Automatically record incoming sessions.
**Location**:
1. **Desktop** Settings -> General -> Recording -> Automatically record incoming sessions
1. **Mobile** Settings -> Recording -> Automatically record incoming sessions
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `allow-auto-record-incoming=N` |
#### video-save-directory
The directory to save recorded videos.
**Location**:
1. **Desktop** Settings -> General -> Recording -> Video save directory
1. **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
**Note**: Relace **app_name** means current app name.
#### enable-abr
Enable adaptive bitrate.
**Location**:
1. **Desktop** Settings -> General -> Other -> Adaptive bitrate
1. **Mobile** Settings -> Share screen -> Adaptive bitrate (beta)
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-abr=Y` |
#### allow-remove-wallpaper
Remove wallpaper during incoming sessions.
**Location**:
1. **Desktop** Settings -> General -> Other -> Remove wallpaper during incoming sessions
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `allow-remove-wallpaper=N` |
#### allow-always-software-render
Always use software rendering.
**Location**:
1. **Desktop** Settings -> General -> Other -> Always use software rendering
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `allow-always-software-render=N` |
#### allow-linux-headless
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).
**Location**:
1. **Desktop** Settings -> General -> Other -> Allow linux headless
1. **Mobile**
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| Y | Y,N | N | `allow-linux-headless=N` |
#### enable-hwcodec
Enable hardware encoding to make the picture smoother.
**Location**:
1. **Desktop**
1. **Mobile** Settings -> Hardware codec
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-hwcodec=Y` |
#### approve-mode
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
| Install required | Values | Default | Example |
| :------: | :------: | :------: | :------: |
| N | password,click,password-click | password-click | `approve-mode=password-click` |

View File

@ -0,0 +1,805 @@
---
title: 高级设置
weight: 49
---
### 设置项的优先级
一共有 3 中类型的设置项:
1. 覆盖设置,在 "Web Console -> Custom Clients" 中。
1. 默认设置,在 "Web Console -> Custom Clients" 中。
1. 用户设置,在 RustDesk 客户端中。
这些设置的优先级是:`覆盖 > 用户 > 默认`
### 设置
#### view-only
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "view-only"。
被控端设置中的 "view-only" 会控制连接是否为浏览模式。
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 浏览模式
1. **移动端** 设置 -> 显示设置 -> 其他默认选项 -> 浏览模式
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `view-only=Y` |
#### show-monitors-toolbar
控制是否在工具栏上显示监视器列表。
![show-monitors-toolbar](/docs/en/self-host/client-configuration/advanced-settings/images/show-monitors-toolbar.png)
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 在工具栏上显示监视器。
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `show-monitors-toolbar=Y` |
#### collapse-toolbar
控制连接建立后,是否折叠工具栏。
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 折叠工具栏
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `collapse-toolbar=Y` |
#### show-remote-cursor
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "show-remote-cursor"。
被控端设置中的 "show-remote-cursor" 会控制是否显示被控端的光标。
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 显示远程光标
1. **移动端** 设置 -> 显示设置 -> 其他默认选项 -> 显示远程光标
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `show-remote-cursor=N` |
#### follow-remote-cursor
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "follow-remote-cursor"。
被控端设置中的 "follow-remote-cursor" 控制画面是否跟随远程光标。
**预览** [PR 7717](https://github.com/rustdesk/rustdesk/pull/7717)
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 跟随远程光标
1. **移动端** 设置 -> 显示设置 -> 其他默认选项 -> 跟随远程光标
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `follow-remote-cursor=Y` |
#### follow-remote-window
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "follow-remote-window"。
被控端设置中的 "follow-remote-window" 控制画面是否跟随远程窗口焦点。
**预览** [PR 7717](https://github.com/rustdesk/rustdesk/pull/7717)
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 跟随远程窗口焦点
1. **移动端** 设置 -> 显示设置 -> 其他默认选项 -> 跟随远程窗口焦点
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `follow-remote-window=Y` |
#### zoom-cursor
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "zoom-cursor"。
被控端设置中的 "zoom-cursor" 控制画面中的光标按照画面的比例进行缩放。
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 缩放光标
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `zoom-cursor=Y` |
#### show-quality-monitor
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "show-quality-monitor"。
被控端设置中的 "show-quality-monitor" 控制是否显示质量监测。
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 显示质量监测
1. **移动端** 设置 -> 显示设置 -> 其他默认选项 -> 显示质量监测
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `show-quality-monitor=Y` |
#### disable-audio
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "disable-audio"。
被控端设置中的 "disable-audio" 控制是否播放声音。
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 静音
1. **移动端** 设置 -> 显示设置 -> 其他默认选项 -> 静音
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `disable-audio=Y` |
#### disable-clipboard
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "disable-clipboard"。
被控端设置中的 "disable-clipboard" 控制是否允许文本复制粘贴。
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 禁用粘贴板
1. **移动端** 设置 -> 显示设置 -> 其他默认选项 -> 禁用粘贴板
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `disable-clipboard=Y` |
#### lock-after-session-end
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "lock-after-session-end"。
被控端设置中的 "lock-after-session-end" 控制是否在连接结束后,锁定被控端电脑。
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 会话结束后锁定远程电脑
1. **移动端** 设置 -> 显示设置 -> 其他默认选项 -> 会话结束后锁定远程电脑
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `lock-after-session-end=Y` |
#### privacy-mode
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "privacy-mode"。
被控端设置中的 "privacy-mode" 控制是否在连接后,启用隐私模式。
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 隐私模式
1. **移动端** 设置 -> 显示设置 -> 其他默认选项 -> 隐私模式
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `privacy-mode=Y` |
#### touch-mode
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "touch-mode"。
被控端设置中的 "touch-mode" 控制是否在连接后,使用触屏模式还是鼠标模式。
**位置**:
1. **桌面端**
1. **移动端** 设置 -> 显示设置 -> 其他默认选项 -> 触屏模式
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `touch-mode=Y` |
#### i444
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "i444"。
被控端设置中的 "i444" 控制是否使用真彩模式 (4:4:4)。
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 真彩模式 (4:4:4)
1. **移动端** 设置 -> 显示设置 -> 其他默认选项 -> 真彩模式 (4:4:4)
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `i444=Y` |
#### reverse-mouse-wheel
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "reverse-mouse-wheel"。
被控端设置中的 "reverse-mouse-wheel" 控制是否反转鼠标滚轮方向。
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 鼠标滚轮反向
1. **移动端** 设置 -> 显示设置 -> 其他默认选项 -> 鼠标滚轮反向
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `reverse-mouse-wheel=Y` |
#### swap-left-right-mouse
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "swap-left-right-mouse"。
被控端设置中的 "swap-left-right-mouse" 控制是否交换鼠标左右键。
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 交换鼠标左右键
1. **移动端** 设置 -> 显示设置 -> 其他默认选项 -> 交换鼠标左右键
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `swap-left-right-mouse=Y` |
#### displays-as-individual-windows
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "displays-as-individual-windows"。
被控端设置中的 "displays-as-individual-windows" 控制是否在在单个窗口打开显示器。
**预览** [PR 5945](https://github.com/rustdesk/rustdesk/pull/5945)
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 在单个窗口打开显示器
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `displays-as-individual-windows=Y` |
#### use-all-my-displays-for-the-remote_session
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "use-all-my-displays-for-the-remote_session"。
被控端设置中的 "use-all-my-displays-for-the-remote_session" 控制是否在连接时,尽量使用所有的本地显示器连接被控所有显示器。
**预览** [PR 6064](https://github.com/rustdesk/rustdesk/pull/6064)
**位置**:
1. **桌面端** 设置 -> 显示 -> 其他默认选项 -> 将我的所有显示器用于远程会话
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `use-all-my-displays-for-the-remote_session=Y` |
#### view-style
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "view-style"。
被控端设置中的 "view-style" 控制是否显示方式。
**位置**:
1. **桌面端** 设置 -> 显示 -> 默认显示方式
1. **移动端** 设置 -> 显示设置 -> 默认显示方式
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | original,adaptive | original | `view-style=original` |
#### scroll-style
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "scroll-style"。
被控端设置中的 "scroll-style" 控制是否滚动方式。
**位置**:
1. **桌面端** 设置 -> 显示 -> 默认滚动方式
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | scrollauto,scrollbar | scrollauto | `scroll-style=scrollauto` |
#### image-quality
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "image-quality"。
被控端设置中的 "image-quality" 控制图像质量。
**位置**:
1. **桌面端** 设置 -> 显示 -> 默认图像质量
1. **移动端** 设置 -> 显示设置 -> 默认图像质量
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | best,balanced,low,custom | balanced | `image-quality=balanced` |
#### custom-image-quality
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "custom-image-quality"。
被控端设置中的 "custom-image-quality" 控制图像质量(当 "image-quality" 为 custom 的时候)。
**位置**:
1. **桌面端** 设置 -> 显示 -> 默认图像质量 -> 自定义
1. **移动端** 设置 -> 显示设置 -> 默认图像质量 -> 自定义
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | [10.0, 2000.0] | 50.0 | `custom-image-quality=50` |
#### custom-fps
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "custom-fps"。
被控端设置中的 "custom-fps" 控制 fps当 "image-quality" 为 custom 的时候)。
**位置**:
1. **桌面端** 设置 -> 显示 -> 默认图像质量 -> 自定义
1. **移动端** 设置 -> 显示设置 -> 默认图像质量 -> 自定义
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | [5,120] | 30 | `custom-fps=30` |
#### codec-preference
这个选项会在第一次连接每个被控端的后,设置关于该被控端的 "codec-preference"。
被控端设置中的 "codec-preference" 控制图像的编解码。
**Location**:
1. **桌面端** 设置 -> 显示 -> 默认编解码
1. **移动端** 设置 -> 显示设置 -> 默认编解码
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | auto,vp8,vp9,av1,h264,h265 | auto | `codec-preference=auto` |
**注意**: "vp8" 和 "vp9" 以外的选项可能不起作用。 这取决于您的机器支持什么。
#### theme
控制 RustDesk 客户端的 UI 主题。
**位置**:
1. **桌面端** 设置 -> 常规 -> 主题
1. **移动端** 设置 -> 设置 -> 主题
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | dark,light,system | system | `theme=system` |
#### lang
控制 RustDesk 客户端的语言。
**位置**:
1. **桌面端** 设置 -> 常规 -> 语言
1. **移动端** 设置 -> 设置 -> 语言
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | default,ar,bg,... | default | `lang=default` |
当前可用的语言有:
ar, bg, ca, cs, da, de, el, en, eo, es, et, fa, fr, he, hr, hu, id, it, ja, ko, kz, lt, lv, nb, nl, pl, pt, ro, ru, sk, sl, sq, sr, sv, th, tr, ua, vn, zh-cn, zh-tw
您可以查看代码中的 [LANGS](https://github.com/rustdesk/rustdesk/blob/master/src/lang.rs#L45) 获取最新的语言列表。
#### enable-confirm-closing-tabs
控制在关闭所有远程选项卡之前是否显示确认对话框。
**位置**:
1. **桌面端** 设置 -> 常规 -> 其他 -> 关闭多个标签时向您确认
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-confirm-closing-tabs=Y` |
#### enable-open-new-connections-in-tabs
控制是否使用新选项卡或新窗口来打开新连接。
**位置**:
1. **桌面端** 设置 -> 常规 -> 其他 -> 在选项卡中打开新连接
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-open-new-connections-in-tabs=Y` |
#### sync-ab-with-recent-sessions
控制是否将地址簿与最近的会话同步。
**位置**:
1. **桌面端** 主页 -> Peer 面板 -> 地址簿 -> 标签 -> 下拉菜单 -> 同步最近会话
1. **移动端** 主页 -> Peer 面板 -> 地址簿 -> 标签 -> 下拉菜单 -> 同步最近会话
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `sync-ab-with-recent-sessions=N` |
#### sync-ab-tags
控制是否对通讯录标签进行排序。
**位置**:
1. **桌面端** 主页 -> Peer 面板 -> 地址簿 -> 标签 -> 下拉菜单 -> 对标签进行排序
1. **移动端** 主页 -> Peer 面板 -> 地址簿 -> 标签 -> 下拉菜单 -> 对标签进行排序
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `sync-ab-tags=N` |
#### filter-ab-by-intersection
按标签交集过滤地址簿。
**预览**: [PR #5985](https://github.com/rustdesk/rustdesk/pull/5985)
**位置**:
1. **桌面端** 主页 -> Peer 面板 -> 地址簿 -> 标签 -> 下拉菜单 -> 按交集过滤
1. **移动端** 主页 -> Peer 面板 -> 地址簿 -> 标签 -> 下拉菜单 -> 按交集过滤
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `filter-ab-by-intersection=N` |
#### access-mode
设置传入连接的访问模式(权限)。
**位置**:
1. **桌面端** 设置 -> 安全 -> 权限
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | custom,full,view | custom | `access-mode=custom` |
#### enable-keyboard
允许传入连接控制键盘/鼠标。
**位置**:
1. **桌面端** 设置 -> 安全 -> 权限 -> 允许控制键盘/鼠标
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-keyboard=Y` |
#### enable-clipboard
允许使用粘贴板。
**位置**:
1. **桌面端** 设置 -> 安全 -> 权限 -> 允许同步粘贴板
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-clipboard=Y` |
#### enable-file-transfer
允许文件复制和粘贴或文件传输(会话)。
**位置**:
1. **桌面端** 设置 -> 安全 -> 权限 -> 允许传输文件
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-file-transfer=Y` |
#### enable-audio
允许音频录制并传输给控制端。
**位置**:
1. **桌面端** 设置 -> 安全 -> 权限 -> 允许传输音频
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-audio=Y` |
#### enable-tunnel
允许建立 TCP 隧道。
**位置**:
1. **桌面端** 设置 -> 安全 -> 权限 -> 允许建立 TCP 隧道
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-tunnel=Y` |
#### enable-remote-restart
允许远程重启。
**位置**:
1. **桌面端** 设置 -> 安全 -> 权限 -> 允许远程重启
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-remote-restart=Y` |
#### enable-record-session
允许录制会话。
**位置**:
1. **桌面端** 设置 -> 安全 -> 权限 -> 允许录制会话
1. **移动端** 设置 -> 共享屏幕 -> 允许录制会话
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-record-session=Y` |
#### enable-block-input
允许控制端阻止其他用户的输入。
**位置**:
1. **桌面端** 设置 -> 安全 -> 权限 -> 允许阻止用户输入 (仅支持 Windows)
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-block-input=Y` |
#### allow-remote-config-modification
允许控制方更改受控 RustDesk UI 中的设置。
**位置**:
1. **桌面端** 设置 -> 安全 -> 权限 -> 允许远程修改配置
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `allow-remote-config-modification=Y` |
#### enable-lan-discovery
允许局域网发现。
局域网法相后,如果支持 [WOL](https://en.wikipedia.org/wiki/Wake-on-LAN) ,则可使用 WOL 。
**位置**:
1. **桌面端** 设置 -> 安全 -> 安全 -> 拒绝局域网发现
1. **移动端** 设置 -> 共享屏幕 -> 拒绝局域网发现
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| Y | Y,N | Y | `enable-lan-discovery=Y` |
#### direct-server
允许 IP 直接访问。
**位置**:
1. **桌面端** 设置 -> 安全 -> 安全 -> 允许 IP 直接访问
1. **移动端** 设置 -> 共享屏幕 -> IP 直接访问
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `direct-server=Y` |
#### direct-access-port
IP 直接访问的端口。
**位置**:
1. **桌面端** 设置 -> 安全 -> 安全 -> "允许 IP 直接访问" 后显示
1. **移动端** 设置 -> 共享屏幕 -> IP 直接访问项中的 编辑 按钮
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | | 21118 | `direct-access-port=21118` |
#### whitelist
只允许白名单上的 IP 访问。
**位置**:
1. **桌面端** 设置 -> 安全 -> 安全 -> 只允许白名单上的 IP 访问
1. **移动端** 设置 -> 共享屏幕 -> 只允许白名单上的 IP 访问
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | , or ip1,ip2,ip3 | , means no filter | `whitelist=,` |
#### allow-auto-disconnect & auto-disconnect-timeout
用户不活动一段时间后自动关闭会话。
**位置**:
1. **桌面端** 设置 -> 安全 -> 安全 -> 自动关闭不活跃的会话
1. **移动端** 设置 -> 共享屏幕 -> 自动关闭不活跃的会话
| Option | 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: | :------: |
| allow-auto-disconnect | N | Y,N | N | `allow-auto-disconnect=Y` |
| auto-disconnect-timeout | N | Timeout in minutes | 10 | `auto-disconnect-timeout=10` |
#### allow-only-conn-window-open
仅当 RustDesk 窗口打开时才允许连接。
**位置**:
1. **桌面端** 设置 -> 安全 -> 安全 -> 仅当 RustDesk 窗口打开时允许连接
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| Y | Y,N | N | `allow-only-conn-window-open=N` |
#### allow-auto-record-incoming
自动录制来访会话。
**位置**:
1. **桌面端** 设置 -> 常规 -> 录屏 -> 自动录制来访会话
1. **移动端** 设置 -> 录屏 -> 自动录制来访会话
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `allow-auto-record-incoming=N` |
#### video-save-directory
保存录制的视频的目录。
**位置**:
1. **桌面端** 设置 -> 常规 -> 录屏 -> 目录
1. **移动端** 设置 -> 录屏
默认值:
1. **MacOS** ~/Movies/**app_name**
1. **Linux** ~/Videos/**app_name**
1. **Windows** %USERPROFILE%\Videos\\**app_name**
1. **Android** /Storage/emulated/0/**app_name**/ScreenRecord
**Note**: **app_name** 代表当前的 app 名。
#### enable-abr
启用自适应码率。
**位置**:
1. **桌面端** 设置 -> 常规 -> 其他 -> 自适应码率
1. **移动端** 设置 -> 共享屏幕 -> 自适应码率 (beta)
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-abr=Y` |
#### allow-remove-wallpaper
接受会话时移除桌面壁纸。
**位置**:
1. **桌面端** 设置 -> 常规 -> 其他 -> 接受会话时移除桌面壁纸
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `allow-remove-wallpaper=N` |
#### allow-always-software-render
始终使用软渲染。
**位置**:
1. **桌面端** 设置 -> 常规 -> 其他 -> 始终使用软渲染
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | N | `allow-always-software-render=N` |
#### allow-linux-headless
在没有显示器的时候,允许传入会话。
启用次选项,需要桌面环境, xorg 服务 和 gdm, 参考 [PR 3902](https://github.com/rustdesk/rustdesk/pull/3902).
**位置**:
1. **桌面端** 设置 -> 常规 -> 其他 -> Allow linux headless
1. **移动端**
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| Y | Y,N | N | `allow-linux-headless=N` |
#### enable-hwcodec
启用硬件编码,使画面更加流畅。
**位置**:
1. **桌面端**
1. **移动端** 设置 -> 硬件编解码
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | Y,N | Y | `enable-hwcodec=Y` |
#### approve-mode
通过密码或手动单击接受传入连接。
**位置**:
1. **桌面端** 设置 -> 安全 -> 密码 -> 下拉框
1. **移动端** 共享屏幕 -> 右上角的下拉菜单
| 是否需要安装 | 可设值 | 默认值 | 示例 |
| :------: | :------: | :------: | :------: |
| N | password,click,password-click | password-click | `approve-mode=password-click` |

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB