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:

IdName
0x00010401Arabic (102)
0x00010402Bulgarian (Latin)
0x00010405Czech (QWERTY)
0x00010407German (IBM)
0x00010408Greek (220)
0x00010409United States-Dvorak
0x0001040ASpanish Variation
0x0001040EHungarian 101-key
0x00010410Italian (142)
0x00010415Polish (214)
0x00010416Portuguese (Brazilian ABNT2)
0x00010419Russian (Typewriter)
0x0001041BSlovak (QWERTY)
0x0001041EThai Pattachote
0x0001041FTurkish F
0x00010426Latvian (QWERTY)
0x00010427Lithuanian
0x0001042BArmenian Western
0x00010439Hindi Traditional
0x0001043AMaltese 48-key
0x0001043BSami Extended Norway
0x00010445Bengali (Inscript)
0x0001045ASyriac Phonetic
0x00010465Divehi Typewriter
0x0001080CBelgian (Comma)
0x0001083BFinnish with Sami
0x00011009Canadian Multilingual Standard
0x00011809Gaelic
0x00020401Arabic (102) AZERTY
0x00020405Czech Programmers
0x00020408Greek (319)
0x00020409United States-International
0x0002041EThai Kedmanee (non-ShiftLock)
0x0002083BSami Extended Finland-Sweden
0x00030408Greek (220) Latin
0x00030409United States-Dvorak for left hand
0x0003041EThai Pattachote (non-ShiftLock)
0x00040408Greek (319) Latin
0x00040409United States-Dvorak for right hand
0x00050408Greek Latin
0x00050409US English Table for IBM Arabic 238_L
0x00060408Greek Polytonic
0xB0000407German Neo

Keyboard Input Method Editors (IMEs):

IdName
0xE0010404Chinese (Traditional) - Phonetic
0xE0010411Japanese Input System (MS-IME2002)
0xE0010412Korean Input System (IME 2000)
0xE0010804Chinese (Simplified) - QuanPin
0xE0020404Chinese (Traditional) - ChangJie
0xE0020804Chinese (Simplified) - ShuangPin
0xE0030404Chinese (Traditional) - Quick
0xE0030804Chinese (Simplified) - ZhengMa
0xE0040404Chinese (Traditional) - Big5 Code
0xE0050404Chinese (Traditional) - Array
0xE0050804Chinese (Simplified) - NeiMa
0xE0060404Chinese (Traditional) - DaYi
0xE0070404Chinese (Traditional) - Unicode
0xE0080404Chinese (Traditional) - New Phonetic
0xE0090404Chinese (Traditional) - New ChangJie
0xE00E0804Chinese (Traditional) - Microsoft Pinyin IME 3.0
0xE00F0404Chinese (Traditional) - Alphanumeric