Skip to main content

3.4 – RDP, VNC, SSH, Telnet hosts

You can use servers.json file to configure: RDP hosts which can be accessed; RDP options for every host. The user can get a list of the RDP hosts if this file was used.

Bildschirmfoto 2022-04-05 um 12.12.03.png

Here is an example:

{
  /* this is a comment, use UTF-8 (without byte order mark) encoding for Unicode support */
  "type": "NORMALLIST",
  /* type can be WHITELIST, BLACKLIST, NORMALLIST */
  "display": true,
  /* display this list to client */
  "connections": [
    {
      "id": "Word",
      "displayName": "RemoteApp MS Word",
      "server": "213.180.85.124",
      "icon": "kbd.png",
      "protocols": "rdp",
      "rdp": {
        "username": "demo",
        "password": "m9ff.QWE",
        "domain": "SERVERSKY",
        "remoteProgram": "||WINWORD",
        "mapClipboard": true,
        "mapDisk": true,
        "playSound": 0,
        "mapPrinter": true
      }
    }
  ]
}

This file is in JSON format, {} means an object, [] means an array. Here is a full list of RDP options you can use (All options defined in this file will override the client options):

Key                                                                                                                   Value
portListening port of RDP, default is 3389
usernameUser name of your Windows
passwordPassword of the Windows user
consoleLogin to console session (or Admin mode).
widthScreen width of RDP session, if no value is given, client will use the width of browser window.
heightScreen height of RDP session, if no value is given, client will use the height of browser window.
colorColor depth of RDP session, default is 16.
commandStart a program on connection
directoryDirectory for running “command”
mapClipboardIf enable clipboard redirection
mapDiskIf enable disk redirection
disksRedirection a disk or directory on Gateway. It’s an array of DeviceInfo, example for DeviceInfo:
{
"dosName": "disk1",
"longName": "disk1 on local",
"devicePath": "/apps/test/",
“actions”: 7
}

Default value for actions is 7 = ACTION_REDIRECT(1) | ACTION_DOWNLOAD(2) | ACTION_UPLOAD(4). Set value to 2 if you want this disk downloadable only, 1 if you only want this disk mapped to RDP host. Right now, only the first disk can be a downloadable directory.

You can use ${user} and ${domain} variables in devicePath since 5.0
playSoundSound options, 0: bring sound to local, 1: no sound, 2: leave sound on remote computer.
audioRecordIf enable audio record.
performanceflagsDefault value is 111,
PERF_DISABLE_WALLPAPER = 0x01;
PERF_DISABLE_FULLWINDOWDRAG = 0x02;
PERF_DISABLE_MENUANIMATIONS = 0x04;
PERF_DISABLE_THEMING = 0x08;
PERF_DISABLE_CURSOR_SHADOW = 0x20;
PERF_DISABLE_CURSORSETTINGS = 0x40;
PERF_ENABLE_FONT_SMOOTHING = 0x80;
PERF_ENABLE_DESKTOP_COMPOSITION = 0x100;

111 = PERF_DISABLE_CURSOR_SHADOW | PERF_DISABLE_CURSORSETTINGS | PERF_DISABLE_FULLWINDOWDRAG | PERF_DISABLE_MENUANIMATIONS | PERF_DISABLE_THEMING | PERF_DISABLE_WALLPAPER;
legacyModeIf enable legacy mode, default is false. Set this true if you are using xrdp or VirtualBox RDP.
mapPrinterIf enable easy printing.
remoteProgramConnect to a RemoteApp, always use alias name instead of program path, example: ||WINWORD, ||wordpad, or ||EXCEL
remoteWorkDirDirectory for running remoteProgram.
remoteArgsArguments for running remoteProgram.
credSSPIf use NLA (Network Level Authentication).
sessionRecord0: no session recording, 1: recording graphic only (no sound), 3: recording graphic and sound.
keyboardKeyboard layout
loadBalanceInfoLoad balance information
shadowingShadowing switch
vmidHyper-V VM GUID, For example: B3D5444C-2611-405A-9CA0-7AA8DA94DF0B, it’s for Hyper-V console connection.
minWidthMinimum width, some applications need a minimum resolution to work.
minHeightMinimum height
remotefxIf enable remtoefx, default is false. RemoteFX is LAN and 32 bit only.
soundPref0: low quality sound; 1: high quality sound

You can also define IP ranges in servers.json, for example:

{
  "id": "range1",
  "ipRanges": [
    {"from": "192.168.0.0", "to": "192.168.0.250"},
    {"from": "192.168.56.0", "to": "192.168.56.250"}
  ]
},

You can also use config.html to configure servers.json. Use your browser navigate to: http://localhost/config.html.
For security reason, this page can be only accessed from local host.

Bildschirmfoto 2022-04-05 um 12.29.25.png

You can also configure server groups, which is saved in serverGroups.json by default:

Bildschirmfoto 2022-04-05 um 12.30.44.png