The icons are stored in a number of locations, which change depending on platform
There are a few \*.png, \*.svg, and \*.ico files in ```/rustdesk/res```, you can replace those with your own versions.
There is also a Base64 encoded icon in the source code. Open ```/rustdesk/libs/hbb_common/src/config.rs``` and modify the following lines (starting at line 32)
```
// 128x128
#[cfg(target_os = "macos")] // 128x128 on 160x160 canvas, then shrink to 128, mac looks better with padding
[Convert your image to Base64](https://www.base64-image.de/) and then replace the contents of ```ICON``` with your base64 encoded image (it should start with ```data:image/png;base64,``` followed by your image data). Your image should be 128x128
In order to include the applicatin's UI resources in the executable, you will need to enable the ```inline``` feature. This compiles the application resources (*src/ui*) into the executable so you do not have to deploy them yourself.
1. Enable ```inline``` feature by editing ```Cargo.toml```
Under the ```[features]``` block, find this line
```
default = ["use_dasp"]
```
and change it to read
```
default = ["use_dasp", "inline"]
```
2. Build the UI resources (requires [Python 3](https://www.python.org/downloads/) to be installed)
Run ```python res/inline-sciter.py``` every time you want to build the UI resources again (i.e. every time you modify the UI)
If it complains that it cannot find python or the command is unrecognized, you need to install the latest version of [Python 3](https://www.python.org/downloads/) and add it to your PATH environment variable.
If you want a single portable executable file, you can either statically link Sciter, or embed the DLL. Statically linking it requires you [license Sciter](https://sciter.com/prices/), which costs money--so I went with embedding the dll.
1. Copy sciter.dll to your project root directory (where Cargo.toml resides)
Note: Do not remove the "..\\" as main.rs resides in */rustdesk/src*, and will not be able to find the file otherwise. Alternatively you can put ```sciter.dll``` in */rustdesk/src*
Before proceeding, verify your server works with your existing client, by overriding the ID and Relay Server values in the client.
[See RustDesk docs for how to do this](https://rustdesk.com/docs/en/self-host/install/#step-3--set-hbbshbbr-address-on-client-side)
You will also need to specify the public key you generated on your server. Once you have verified your server is working, you can make your changes permanent below.
Modify ```/rustdesk/libs/hbb_common/src/config.rs```, line 73. Replace the array of *RENDEVOUS_SERVERS*
Please note that if you have values in the ID/Relay fields in the client, they will override these static values, as they are loaded from a config file in ```%APPDATA%/AppName/config/AppName.toml```, where *AppName* is RustDesk or whatever name you customized it with in the [Changing the application name](#changing-the-application-name) section. So you may want to delete this file.