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
port Listening port of RDP, default is 3389
username User name of your Windows
password Password of the Windows user
console Login to console session (or Admin mode).
width Screen width of RDP session, if no value is given, client will use the width of browser window.
height Screen height of RDP session, if no value is given, client will use the height of browser window.
color Color depth of RDP session, default is 16.
command Start a program on connection
directory Directory for running “command”
mapClipboard If enable clipboard redirection
mapDisk If enable disk redirection
disks Redirection 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
playSound Sound options, 0: bring sound to local, 1: no sound, 2: leave sound on remote computer.
audioRecord If enable audio record.
performanceflags Default 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;
legacyMode If enable legacy mode, default is false. Set this true if you are using xrdp or VirtualBox RDP.
mapPrinter If enable easy printing.
remoteProgram Connect to a RemoteApp, always use alias name instead of program path, example: ||WINWORD, ||wordpad, or ||EXCEL
remoteWorkDir Directory for running remoteProgram.
remoteArgs Arguments for running remoteProgram.
credSSP If use NLA (Network Level Authentication).
sessionRecord 0: no session recording, 1: recording graphic only (no sound), 3: recording graphic and sound.
keyboard Keyboard layout. See attached layout list.
loadBalanceInfo Load balance information
shadowing Shadowing switch
vmid Hyper-V VM GUID, For example: B3D5444C-2611-405A-9CA0-7AA8DA94DF0B, it’s for Hyper-V console connection.
minWidth Minimum width, some applications need a minimum resolution to work.
minHeight Minimum height
remotefx If enable remtoefx, default is false. RemoteFX is LAN and 32 bit only.
soundPref 0: 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


#### Keyboard layouts: | Id | Name | |------------|----------------------------------------| | 0x00000401 | Arabic (101) | | 0x00000402 | Bulgarian | | 0x00000404 | Chinese (Traditional) - US Keyboard | | 0x00000405 | Czech | | 0x00000406 | Danish | | 0x00000407 | German | | 0x00000408 | Greek | | 0x00000409 | US | | 0x0000040A | Spanish | | 0x0000040B | Finnish | | 0x0000040C | French | | 0x0000040D | Hebrew | | 0x0000040E | Hungarian | | 0x0000040F | Icelandic | | 0x00000410 | Italian | | 0x00000411 | Japanese | | 0x00000412 | Korean | | 0x00000413 | Dutch | | 0x00000414 | Norwegian | | 0x00000415 | Polish (Programmers) | | 0x00000416 | Portuguese (Brazilian ABNT) | | 0x00000418 | Romanian | | 0x00000419 | Russian | | 0x0000041A | Croatian | | 0x0000041B | Slovak | | 0x0000041C | Albanian | | 0x0000041D | Swedish | | 0x0000041E | Thai Kedmanee | | 0x0000041F | Turkish Q | | 0x00000420 | Urdu | | 0x00000422 | Ukrainian | | 0x00000423 | Belarusian | | 0x00000424 | Slovenian | | 0x00000425 | Estonian | | 0x00000426 | Latvian | | 0x00000427 | Lithuanian IBM | | 0x00000429 | Farsi | | 0x0000042A | Vietnamese | | 0x0000042B | Armenian Eastern | | 0x0000042C | Azeri Latin | | 0x0000042F | FYRO Macedonian | | 0x00000437 | Georgian | | 0x00000438 | Faeroese | | 0x00000439 | Devanagari - INSCRIPT | | 0x0000043A | Maltese 47-key | | 0x0000043B | Norwegian with Sami | | 0x0000043F | Kazakh | | 0x00000440 | Kyrgyz Cyrillic | | 0x00000444 | Tatar | | 0x00000445 | Bengali | | 0x00000446 | Punjabi | | 0x00000447 | Gujarati | | 0x00000449 | Tamil | | 0x0000044A | Telugu | | 0x0000044B | Kannada | | 0x0000044C | Malayalam | | 0x0000044E | Marathi | | 0x00000450 | Mongolian Cyrillic | | 0x00000452 | United Kingdom Extended | | 0x0000045A | Syriac | | 0x00000461 | Nepali | | 0x00000463 | Pashto | | 0x00000465 | Divehi Phonetic | | 0x0000046E | Luxembourgish | | 0x00000481 | Maori | | 0x00000804 | Chinese (Simplified) - US Keyboard | | 0x00000807 | Swiss German | | 0x00000809 | United Kingdom | | 0x0000080A | Latin American | | 0x0000080C | Belgian French | | 0x00000813 | Belgian (Period) | | 0x00000816 | Portuguese | | 0x0000081A | Serbian (Latin) | | 0x0000082C | Azeri Cyrillic | | 0x0000083B | Swedish with Sami | | 0x00000843 | Uzbek Cyrillic | | 0x0000085D | Inuktitut Latin | | 0x00000C0C | Canadian French (legacy) | | 0x00000C1A | Serbian (Cyrillic) | | 0x00001009 | Canadian French | | 0x0000100C | Swiss French | | 0x0000141A | Bosnian | | 0x00001809 | Irish | | 0x0000201A | Bosnian Cyrillic |

Keyboard layout variants:

Id Name
0x00010401 Arabic (102)
0x00010402 Bulgarian (Latin)
0x00010405 Czech (QWERTY)
0x00010407 German (IBM)
0x00010408 Greek (220)
0x00010409 United States-Dvorak
0x0001040A Spanish Variation
0x0001040E Hungarian 101-key
0x00010410 Italian (142)
0x00010415 Polish (214)
0x00010416 Portuguese (Brazilian ABNT2)
0x00010419 Russian (Typewriter)
0x0001041B Slovak (QWERTY)
0x0001041E Thai Pattachote
0x0001041F Turkish F
0x00010426 Latvian (QWERTY)
0x00010427 Lithuanian
0x0001042B Armenian Western
0x00010439 Hindi Traditional
0x0001043A Maltese 48-key
0x0001043B Sami Extended Norway
0x00010445 Bengali (Inscript)
0x0001045A Syriac Phonetic
0x00010465 Divehi Typewriter
0x0001080C Belgian (Comma)
0x0001083B Finnish with Sami
0x00011009 Canadian Multilingual Standard
0x00011809 Gaelic
0x00020401 Arabic (102) AZERTY
0x00020405 Czech Programmers
0x00020408 Greek (319)
0x00020409 United States-International
0x0002041E Thai Kedmanee (non-ShiftLock)
0x0002083B Sami Extended Finland-Sweden
0x00030408 Greek (220) Latin
0x00030409 United States-Dvorak for left hand
0x0003041E Thai Pattachote (non-ShiftLock)
0x00040408 Greek (319) Latin
0x00040409 United States-Dvorak for right hand
0x00050408 Greek Latin
0x00050409 US English Table for IBM Arabic 238_L
0x00060408 Greek Polytonic
0xB0000407 German Neo

Keyboard Input Method Editors (IMEs):

Id Name
0xE0010404 Chinese (Traditional) - Phonetic
0xE0010411 Japanese Input System (MS-IME2002)
0xE0010412 Korean Input System (IME 2000)
0xE0010804 Chinese (Simplified) - QuanPin
0xE0020404 Chinese (Traditional) - ChangJie
0xE0020804 Chinese (Simplified) - ShuangPin
0xE0030404 Chinese (Traditional) - Quick
0xE0030804 Chinese (Simplified) - ZhengMa
0xE0040404 Chinese (Traditional) - Big5 Code
0xE0050404 Chinese (Traditional) - Array
0xE0050804 Chinese (Simplified) - NeiMa
0xE0060404 Chinese (Traditional) - DaYi
0xE0070404 Chinese (Traditional) - Unicode
0xE0080404 Chinese (Traditional) - New Phonetic
0xE0090404 Chinese (Traditional) - New ChangJie
0xE00E0804 Chinese (Traditional) - Microsoft Pinyin IME 3.0
0xE00F0404 Chinese (Traditional) - Alphanumeric