All advanced settings in custom clients are covered here.
There are four types of settings:
Web Console
→ Custom Clients
Web Console
→ Custom Clients
Web Console
→ Strategies
The hierarchy of privilege for these settings is as follows: Override > Strategy > User > Default
.
Set the access mode (permissions) for incoming connections.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | custom, full, view | custom | access-mode=custom |
Enable keyboard/mouse input for incoming connections.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | Y | enable-keyboard=Y |
Enable copy and paste for incoming connections.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | Y | enable-clipboard=Y |
Enable file copy and paste or file transfer (session) for incoming connections.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | Y | enable-file-transfer=Y |
Enable audio record and transfer to peer.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | Y | enable-audio=Y |
Enable TCP tunneling.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | Y | enable-tunnel=Y |
Enable restarting by the control side.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | Y | enable-remote-restart=Y |
Enable sessions to be recorded.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | Y | enable-record-session=Y |
Enable the control side to block other users’ input.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | Y | enable-block-input=Y |
Allow the control side to change the settings in controlled RustDesk UI.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | allow-remote-config-modification=Y |
Allows LAN peers to discover me.
After LAN discovery, WOL can work if supported locally.
Location:
Install required | Values | Default | Example |
---|---|---|---|
Y | Y, N | Y | enable-lan-discovery=Y |
Enable direct IP access.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | direct-server=Y |
Direct IP access port.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | 21118 | direct-access-port=21118 |
Use IP Whitelisting.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | , or <ip1>,<ip2>,<ip3> | , means no filter | whitelist=, |
Automatically close incoming sessions after a period of user inactivity.
Location:
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 |
Only allow connection if RustDesk window is open.
Location:
Install required | Values | Default | Example |
---|---|---|---|
Y | Y, N | N | allow-only-conn-window-open=N |
Accept incoming connections via password or manually click.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | password, click, password-click | password-click | approve-mode=password-click |
What type of password can be used, temporary password
refers to the one-time random password.
Install required | Values | Default | Example |
---|---|---|---|
N | use-temporary-password, use-permanent-password, use-both-passwords | use-both-passwords | verification-method=use-permanent-password |
The proxy URL.
Currently support http
and socks5
.
Location:
Examples:
proxy-url=http://192.168.0.2:12345
proxy-url=https://192.168.0.2:12345
proxy-url=socks5://192.168.0.2:1080
Proxy username and password.
Location:
Option | Install required | Values | Default | Example |
---|---|---|---|---|
proxy-username | N | proxy-username=user | ||
proxy-password | N | proxy-password=pass |
Controls the UI theme of RustDesk client.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | dark, light, system | system | theme=system |
Controls the language of RustDesk client.
Location:
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, uk, vn, zh-cn, zh-tw
You can check LANGS in the code for the latest language list.
Automatically record incoming sessions.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | allow-auto-record-incoming=Y |
Automatically record outgoing sessions.
Location:
Install required | Values | Default | Example | Version |
---|---|---|---|---|
N | Y, N | N | allow-auto-record-outgoing=Y | >= 1.3.2 |
The directory to save recorded videos.
Location:
Default values:
Note: Replace app_name means current app name.
Controls whether to show a confirm dialog before closing all remote tabs.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | Y | enable-confirm-closing-tabs=Y |
Enable adaptive bitrate.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | Y | enable-abr=Y |
Remove wallpaper during incoming sessions.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | allow-remove-wallpaper=N |
Controls whether to use a new tab or a new window to open a new connection.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | Y | enable-open-new-connections-in-tabs=Y |
Always use software rendering.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | allow-always-software-render=N |
Allow incoming connection if there’s no displays.
This option requires desktop environment, Xorg server and GDM, see PR 3902.
Location:
Install required | Values | Default | Example |
---|---|---|---|
Y | Y, N | N | allow-linux-headless=N |
Enable hardware encoding to make the picture smoother.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | Y | enable-hwcodec=Y |
Controls the view of peer cards, includes “Big tiles”, “Small tiles” and “List”.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | 0, 1, 2 | 0 | peer-card-ui-type=0 |
0 Big tiles
1 Small tiles
2 List
Controls the ordering of peer cards.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Remote ID, Remote Host, Username | Remote ID | peer-sorting=Remote ID |
Controls whether to sync the address book with recent sessions.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | sync-ab-with-recent-sessions=N |
Controls whether to sort the address book tags.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | sync-ab-tags=N |
Filter address book by tag intersection.
Preview: PR #5985
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | filter-ab-by-intersection=N |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | view-only=Y |
Controls whether to show monitors in toolbar.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | show-monitors-toolbar=Y |
Controls whether the remote toolbar is collapsed after connecting.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | collapse-toolbar=Y |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | show-remote-cursor=N |
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
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | follow-remote-cursor=Y |
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
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | follow-remote-window=Y |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | zoom-cursor=Y |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | show-quality-monitor=Y |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | disable-audio=Y |
This option will set the “enable-file-copy-paste” option for every peer after the first connection.
The “enable-file-copy-paste” option in each peer’s settings will then control enable file copy and paste in connection.
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | enable-file-copy-paste=Y |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | disable-clipboard=Y |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | lock-after-session-end=Y |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | privacy-mode=Y |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | touch-mode=Y |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | i444=Y |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | reverse-mouse-wheel=Y |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | swap-left-right-mouse=Y |
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
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | displays-as-individual-windows=Y |
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
Location:
Install required | Values | Default | Example |
---|---|---|---|
N | Y, N | N | use-all-my-displays-for-the-remote_session=Y |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | original, adaptive | original | view-style=original |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | scrollauto, scrollbar | scrollauto | scroll-style=scrollauto |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | best, balanced, low, custom | balanced | image-quality=balanced |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | [10.0, 2000.0] | 50.0 | custom-image-quality=50 |
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:
Install required | Values | Default | Example |
---|---|---|---|
N | [5, 120] | 30 | custom-fps=30 |
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:
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.
Preset address book name and tag, https://github.com/rustdesk/rustdesk-server-pro/issues/257. You can set preset-address-book-name only if you do not want to set tag. Please use valid address book name and tag on your address book page of web console.
Option | Install required | Values | Default | Example |
---|---|---|---|---|
preset-address-book-name | N | preset-address-book-name=<address book name> | ||
preset-address-book-tag | N | preset-address-book-tag=<address book tag name> |
Disable group panel (next to address book panel) on RustDesk client, https://github.com/rustdesk/rustdesk-server-pro/issues/250.
Option | Install required | Values | Default | Example |
---|---|---|---|---|
disable-group-panel | N | Y, N | N | disable-group-panel=Y |
Automatic elevation on run for Windows portable, https://github.com/rustdesk/rustdesk-server-pro/issues/252.
Option | Install required | Values | Default | Example |
---|---|---|---|---|
pre-elevate-service | N | Y, N | N | pre-elevate-service=Y |
When the Android service starts, it will display a floating window, which helps prevent the system from killing the RustDesk service.
Values | Default | Example |
---|---|---|
Y, N | N | disable-floating-window=Y |
When the Android service starts, it will display a floating window, which helps prevent the system from killing the RustDesk service. When the size is less than 120, the floating window will be difficult to be clicked. A very small size may not be able to keep the background service on some devices.
Values | Default | Example |
---|---|---|
[32, 320] | 120 | floating-window-size=120 |
By default, clicking on the floating window will pop up a menu. After setting it to ‘untouchable’, clicking or swiping will pass through the floating window and be transmitted to the underlying window. After being set to ‘untouchable’, the position of the floating window cannot be changed, and the system may automatically set the floating window to be semi-transparent. However, this feature may not work in a small number of applications, such as the GitHub app.
Values | Default | Example |
---|---|---|
Y, N | N | floating-window-untouchable=Y |
Android floating windows have adjustable transparency. If you want to enable but hide the floating window, you can set the transparency to 0, the floating window will be automatically set to ‘untouchable’ in order to pass through click events.
Values | Default | Example |
---|---|---|
[0, 10] | 10 | floating-window-transparency=5 |
If an icon is not set for the Android floating window, it will default to displaying the RustDesk icon. When setting, please write the text content of SVG into one line, and pay attention to the SVG support limitations.
Default | Example |
---|---|
RustDesk icon | floating-window-svg=<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1717559129252" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4248" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M950.857143 512c0 242.285714-196.571429 438.857143-438.857143 438.857143S73.142857 754.285714 73.142857 512 269.714286 73.142857 512 73.142857s438.857143 196.571429 438.857143 438.857143z" fill="#1296db" p-id="4249"></path></svg> |
This is for the Android controlled side. Note that keeping the screen on depends on the floating window.
Values | Default | Example |
---|---|---|
never, during-controlled, service-on | during-controlled | keep-screen-on=never |
This is for the Windows controlled side. If you don’t encounter any problems, it is recommended to use the default settings, which prioritize using DirectX for screenshots instead of using GDI directly.
Values | Default | Example |
---|---|---|
Y, N | Y | enable-directx-capture=N |
This is for the Android controlled side. By default, when the resolution is greater than 1200, hardware encoding uses the original resolution, while software encoding uses half the resolution, as software encoding is slower. This option is used to set whether software encoding should be scaled to half the resolution.
Values | Default | Example |
---|---|---|
Y, N | Y | enable-android-software-encoding-half-scale=N |
Controls whether to allow the control side to click on the connection management window to accept connections, change permissions, etc.
https://github.com/rustdesk/rustdesk/issues/7425
Values | Default | Example |
---|---|---|
Y, N | N | allow-remote-cm-modification=Y |
Controls whether to remove the security warning on GUI when there is preset password in custom client.
https://github.com/rustdesk/rustdesk-server-pro/discussions/286
https://github.com/rustdesk/rustdesk/discussions/7956
Values | Default | Example |
---|---|---|
Y, N | Y | remove-preset-password-warning=Y |
Controls whether to hide some settings. Please ensure Disable settings
is turned off, otherwise these won’t work.
https://github.com/rustdesk/rustdesk-server-pro/issues/263
https://github.com/rustdesk/rustdesk-server-pro/issues/276
Values | Default | Example |
---|---|---|
Y, N | N | hide-security-settings=Y |
Controls whether to show username in the list of devices. Because sometimes, the username is too long, will hide the other info.
https://github.com/rustdesk/rustdesk-server-pro/issues/284#issuecomment-2216521407
Values | Default | Example |
---|---|---|
Y, N | N | hide-username-on-card=Y |
Controls whether to show UAC / permission warnings on GUI.
https://github.com/rustdesk/rustdesk/issues/8687
Values | Default | Example |
---|---|---|
Y, N | N | hide-help-cards=Y |
Change your display name which will be shown on the popup when you connect to remote device. By default it displays your OS username.
https://github.com/rustdesk/rustdesk-server-pro/issues/277
Controls whether to use TCP only. It will not use UDP 21116 any more, TCP 21116 will be used instead.
Values | Default | Example |
---|---|---|
Y, N | N | disable-udp=Y |
Assign user / strategy to device. You can also do this via command line.
https://github.com/rustdesk/rustdesk-server-pro/discussions/304
Default password used to connect to remote devices, this password has lower priority than address book password and local saved password.
e.g. default-connect-password=abcd1234
Allow trusted devices to skip 2FA verification.
https://github.com/rustdesk/rustdesk/discussions/8513#discussioncomment-10234494
Values | Default | Example |
---|---|---|
Y, N | Y | enable-trusted-devices=N |
Disable the tray icon in the systray.
https://github.com/rustdesk/rustdesk-server-pro/issues/332
Values | Default | Example |
---|---|---|
Y, N | N | hide-tray=Y |
Disable clipboard sync from controlled side to controlling side, available in RustDesk client >=1.3.1 (controlled side)
https://github.com/rustdesk/rustdesk/discussions/7837
Values | Default | Example |
---|---|---|
Y, N | N | one-way-clipboard-redirection=Y |
Disable file transfer from controlled side to controlling side, available in RustDesk client >=1.3.1 (controlled side)
https://github.com/rustdesk/rustdesk/discussions/7837
Values | Default | Example |
---|---|---|
Y, N | N | one-way-file-transfer=Y |
If sync initial clipboard when establishing connection (only from controlling side to controlled side), available in RustDesk client >=1.3.1 (controlling side)
https://github.com/rustdesk/rustdesk/discussions/9010
Values | Default | Example |
---|---|---|
Y, N | N | sync-init-clipboard=Y |
If allow password input on logon screen when click-only approve mode is used, available in RustDesk client >=1.3.1 (controlled side)
https://github.com/rustdesk/rustdesk/discussions/9269
Values | Default | Example |
---|---|---|
Y, N | N | allow-logon-screen-password=Y |