This document tries to give a description of the .mxtsession files used in the proprietary software MobaXterm. Sadly this format, as efficient as it is, is too obscure to encourage legitimate use cases of this format as there is no public documentation available.
The software licence of MobaXterm, for both Home and Pro editions, allows to "observe, study or test the functioning of the Software in order to determine the ideas and principles which are the basis of the Software, when performing the loading, display, execution, transmission or storage of the Software" and this study has been done in full under those terms.
The studied format is the one of version 23.6: sessions last modified (but not necessarily exported) before this version will have fewer fields.
If your project uses the information shared here feel free to talk about it in the comments, and I'll add it to the list.
PHP Libraries:
- Sessionator, by myself allows to compose session files from PHP by building connection objects and exporting them all at once to different formats (MobaXterm being the first one).
Utilities:
- mobaConverterGo, by dbauer23 converts .mxtsessions files to JSON and vice-versa, which is useful for some jq manipulation magic.
- mobaxterm2ssh, by gplv2 is a CLI Node/JS script that converts SSH sessions from a .mxtsessions file to a .ssh/config file.
- OpenXterm, by yarete03 is a CLI Python script that supports the .mxtsessions format to connect to servers.
.mxtsessions files follow the INI format, using a Windows-1252/CP1252 charset and Windows (CR LF) line delimiters: it can be tested by using the "Euro" € character in a session title. Which means that Unicode characters can't be used anywhere, especially in session names and comments, and will need to be transformed if present in some source data.
They're basically an extract of all "Bookmarks" sections from the "main" %APPDATA%/MobaXterm/MobaXterm.ini configuration file (or the MobaXterm.ini file next to MobaXterm.exe if you run a Portable version).
Their content is roughly the same whether they are :
- a full export (right-click on "User sessions" and click "Export all sessions to file"),
- a partial export (right-click on a session folder and click "Export sessions from this folder"),
- a "Shared" export (right-click on a session folder or at the root folder and click "Share these sessions with my team").
A full or "fully shared" export starts with:
[Bookmarks]
SubRep=
ImgNum=42
Being the main folder, SubRep ("sub-repertory") is empty (the name is forced to "User sessions" by the software) and ImgNum is 42 (icon of a folder with a person above it): this icon cannot be changed in the software. Following those two properties are the sessions saved under the folder, one per line (see section below).
A partial or "partially shared" export starts with:
[Bookmarks]
SubRep=The folder selected for export
ImgNum=41
Here ImgNum will be whatever it was set to prior to the export, but SubRep will be the name of the "root partial folder".
Sub-folders follow this naming convention:
[Bookmarks_1]
SubRep=Subfolder name
ImgNum=41
In this case, "SubRep" needs to be filled with the directory name that would be displayed on-screen. The default ImgNum is the empty blue folder (icon ID 41).
The number after "Bookmarks_" indicates the placement order on-screen, from top to bottom.
Sub-sub-folders have a "SubRep" property like "Folder1\Folder2", with as many sub-folders as necessary.
The icons in the following screenshot are the property of MOBATEK SARL.
Session lines looks like this:
Reference Session= #109#0%localhost%22%<default>%%-1%-1%%%%%0%0%0%%%-1%0%0%0%%1080%%0%0%1%%0%%%%0%-1%-1%0#MobaFont%10%0%0%-1%15%236,236,236%30,30,30%180,180,192%0%-1%0%%xterm%-1%0%_Std_Colors_0_%80%24%0%0%-1%<none>%%0%0%-1%-1#0# #-1
Deck=#109#0%192.168.137.40%22%deck%%0%0%%%%%0%0%0%%%-1%0%0%0%%1080%%0%0%1%#MobaFont%10%0%0%-1%15%236,236,236%30,30,30%180,180,192%0%-1%0%%xterm%-1%0%_Std_Colors_0_%80%24%0%1%-1%<none>%%0%0%-1%-1#0# #-1
If you export a session (Right click -> "Save session to file") you'll get a .moba file containing only one session line.
The value is the session name, and can contain spaces.
The property is an ordered list, separated by the '#' character, of session characteristics, and some of them can contain a second dimension of characteristics separated by the '%' character. The number of session characteristics in a line or parent characteristic depend on the version under which the session was last saved: it is assumed that new versions of the software add new characteristic indexes while some older ones (among the unidentified ones) may become ignored.
By comparing sessions with a changed parameter against a reference session, the full list has been identified as:
-
"
; logout
" if "Display reconnection message" is unchecked in "Bookmark settings", empty if it's checked. -
The icon number of the session (see list below) (the default for SSH is 109)
-
The first group of session characteristics, separated by the '%' character (quotes indicate literal strings or numbers):
Index SSH Property Default Value Section Note 0 Session type 0 For SSH connections it's always "0". Other session types have other identifiers. 1 Remote host Basic SSH settings Cannot be empty 2 Port 22 Basic SSH settings (self-explanatory) 3 Username (specific or "") (empty) Basic SSH settings The default login is set in-app and its default is the Windows login 4 ? (empty) Seems always empty for SSH. 5 X11-Forwarding -1 Advanced SSH settings enabled "-1", disabled "0" 6 Compression -1 Advanced SSH settings enabled "-1", disabled "0" 7 Execute command (at login) (empty) Advanced SSH settings ' ;
' in the text field is changed to "__PTVIRG__
" in the setting, '"
' by '__DBLQUO__
' and '|
' by '__PIPE__
'8 SSH Gateway host list (empty) Network settings If one gateway, its hostname. If multiple, their hostnames separated by " __PIPE__
".9 SSH Gateway port list (empty) Network settings If one gateway, its port. If multiple, their ports separated by " __PIPE__
" (ex.22__PIPE__22
).10 SSH Gateway user list (empty) Network settings If one gateway, its username. If multiple, their usernames separated by " __PIPE__
" (ex.userHost1__PIPE__userHost2
).11 Do not exit after (login) command ends 0 Advanced SSH settings enabled "-1", disabled "0" 12 Don't specify username 0 if index 3 (username) is filled, -1 if it's not enabled "-1", disabled "0" (specific username used) 13 Remote environment 0 Advanced SSH settings Interactive shell "0", LXDE "1", ... (long list of DEs) (TODO complete the list) 14 Private key path, if set (empty) Advanced SSH settings 'C' drive letter in the path is changed to " _CurrentDrive_
" in the setting15 SSH Gateway private key list (empty) if 0 or 1 gateway, __PIPE__
if two, …Network settings If one gateway, its private key (optional). If multiple, their private keys (optional) separated by " __PIPE__
" (ex.pathKeyHost1__PIPE__pathKeyHost2
). Two separators can follow each other if a key is absent. Same 'C' drive letter replacement as above.16 SSH-browser type (File browser) -1 Advanced SSH settings (auto from 24/25) enabled "-1", disabled "0" 17 Follow SSH path (experimental) (in File browser) 0 Advanced SSH settings enabled "-1", disabled "0" 18 ? 0 19 Proxy type 0 Network settings None "0", Socks4 "1", Socks5 "2", Http "3", Telnet "4", Local "5" 20 Proxy host (empty) Network settings (self-explanatory) 21 Proxy port 1080 Network settings (the default is set even if the Proxy type is "None") 22 Proxy login (empty) Network settings (self-explanatory) 23 Adapt locales on remote server 0 Expert SSH settings enabled "-1" ("try to send the local language settings to the server"), disabled "0" 24 File Browser: SCP over SFTP 0 Advanced SSH settings (set from selection choices) enabled (SCP) "-1", disabled (SSH or None) "0" 25 File Browser Protocol 1 Advanced SSH settings (set from selection choices) disabled "0", SFTP "1", SCP Speed "2", SCP Normal "3" 26 Local proxy command (empty) Network settings (only when Proxy type "Local" is selected) If index 19 is "5", the local proxy command (recognizes the internal variables %host
,%port
,%user
,%pass
, and uses%%
for a literal percentage, of course the '%' character is changed to__PERCENT__
in the session line to avoid clashing with the separator)-- The fields below were not in sessions I saved before v22.3, but maybe they were only added after going to the "Expert SSH settings" section -- 27 SSH protocol version 0 Expert SSH settings auto "0", SSHv2 "1", SSHv1 (insecure) "2" 28 Key Exchange algorithms (empty) Expert SSH settings Default equals to: ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1 29 Host key types (empty) Expert SSH settings Default equals to: ed448,ed25519,ecdsa,rsa,WARN,dsa 30 Ciphers (empty) Expert SSH settings Default equals to: aes,chacha20,3des,WARN,des,blowfish,arcfour 31 Disconnect if authentication succeeds trivially 0 Expert SSH settings enabled "-1" (disconnects if the connection could be done without password or token), disabled "0" 32 Prefer hostkey algorithms for which a hostkey is already known -1 Expert SSH settings enabled "-1" (adjust the preference order so that known host keys from this server are moved to the top of the list), disabled "0" 33 Attempt authentication using the SSH agent -1 Expert SSH settings enabled "-1" (internal agent or external PuTTY agent, set in global settings), disabled "0" 34 Allow agent forwarding 0 Expert SSH settings enabled "-1" (open forwarded connections back to your local agent), disabled "0" -
The second group of session characteristics, separated by the '%' character:
Index SSH Property Default Value Sub-section Note 0 Terminal font MobaFont Terminal settings : Font settings > Terminal font Any installed font + the builtin "MobaFont" 1 Font size 10 Terminal settings : Font settings > Terminal font 2 Terminal font Bold 0 Terminal settings : Font settings > Terminal font enabled "-1", disabled "0" 3 ? 0 4 Append Windows PATH to shell env -1 Terminal settings enabled "-1", disabled "0" 5 Terminal charset 15 Terminal settings : Font settings > Terminal font ISO-8859-1 "0", ISO-8859-15 "13", UTF-8 "15", CP850 "22", Font encoding "40" (too many other settings to list here) 6 Foreground (standard text) if not global 236,236,236 Terminal settings : Color settings > Basic terminal colors R,G,B (default given for "Dark background / Light text") 7 Background color if not global 30,30,30 Terminal settings : Color settings > Basic terminal colors R,G,B (default given for "Dark background / Light text") 8 Cursor color if not global 180,180,192 Terminal settings : Color settings > Cursor settings R,G,B (default given for "Dark background / Light text") 9 Cursor type 0 Terminal settings : Color settings > Cursor settings Block "0", Underline "1", Line "2", Blinking block "3", Blinking underline "4", Blinking line "5" 10 Backspace sends ^H -1 Terminal settings enabled "-1", disabled "0" (sends ^? instead) 11 Log output 0 Terminal settings enabled "-1", disabled "0" 12 Log folder path (empty) Terminal settings <>
for the executable path (ex: portable app), path otherwise ('C' drive replacement as usual)13 Terminal type xterm Terminal settings List in v22.3: xterm, xterm-r6, vt100, vt100+, vt220, vt400, vt900, OpenVMS, OpenVMS2, Netterm100, Netterm220, ShiftFnKeys, ESC[n~, SCO, Byobu, xterm-256color 14 Lock terminal title -1 Bookmark settings enabled "-1", disabled "0" (allows the shell to change the tab title) 15 ? 0 16 Colors scheme _Std_Colors_0_
Terminal settings : Color settings > Terminal colors Default is for "Current global color theme" (safer choice). Any other choice changes the number of fields by turning index 16 into 16 colors also separated by '%'. 17 Terminal rows 80 Terminal settings : Font settings > Terminal size (applicable if force fixed in index 19) 18 Terminal columns 24 Terminal settings : Font settings > Terminal size (applicable if force fixed in index 19) 19 Force fixed rows/columns 0 Terminal settings : Font settings > Terminal size enabled "-1", disabled "0" 20 Syntax highlighting 1 Terminal settings None "0", Standard keywords "1", Unix shell script "2", Cisco "3", Perl "4", SQL "5", Custom 1 "101", ... (all custom settings refer to local settings done outside of the session file) 21 Show bold font as brighter color -1 Terminal settings : Font settings > Terminal font
Color settings > Terminal colorsenabled "-1", disabled "0" 22 Custom macro type <none>
Advanced SSH settings " <none>
" or "<custom macro>
"23 Custom macro text (empty) Advanced SSH settings each line starts with "12:2:0:" and ends with " __PIPE__
" (currently buggy, they get concatenated in v22.3)24 Paste delay 0 Terminal settings Auto "0", no delay "1", 10ms "2", 20ms "3", 30ms "4", 40ms "5", 50ms "6", 60ms "7", 70ms "8", 80ms "9", 90ms "10", 100ms "11", 200ms "12", 360ms "13" 25 Font Charset 1 Terminal settings : Font settings > Terminal font ANSI "1" (English), DEFAULT "0" (System), ARABIC "178", GREEK "161", TURKISH "162", VIETNAMESE "163", EASTEUROPE "238", RUSSIAN (Cyrillic) "204", BALTIC "186" 26 Font Antialiasing -1 Terminal settings : Font settings > Terminal font enabled "-1", disabled "0" 27 Font Ligatures -1 Terminal settings : Font settings > Terminal font enabled "-1", disabled "0" 28 Expert settings (empty) Terminal settings : Expert settings A sub-sub-string with items separated by "," if defined and different from the globals, see below. The full "all by default" string is "1001111111110000000000,x2,1,,,,,R,S,Any,0," for SSH (added in 24.0) The "Expert settings" sub-sub-string is made of the following items, separated by ",":
Sub-index Expert setting Default value Sub-section Note 0 Terminal features (booleans) 1001111111110000000000 Terminal features Yet another nested setting, see below 1 Answerback to ^E x2 Terminal features "x2" is "xterm-256color", TODO find other values 2 Auto-copy selected text 1 Copy/paste settings checked "1", unchecked "0" 3 Add left delimiters (empty) Copy/paste settings This and the 3 below configure the delimiters used when selecting a word in the terminal by double-clicking 4 Add right delimiters (empty) Copy/paste settings (see above) 5 Remove left delimiters (empty) Copy/paste settings (see above) 6 Remove right delimiters (empty) Copy/paste settings (see above) 7 Reconnect R Reconnection keys F1 to F12, 0 to 9, A to Z, SPACE, HOME, END, PAGE_UP, PAGE_DOWN, DEL, ESC, TAB, RETURN, SUBTRACT, DIVIDE, ADD, MULTIPLY 8 Save S Reconnection keys (same as above) 9 Exit Any Reconnection keys (same as above + "Any" for "Any other key") 10 Bell Type 0 Terminal features None "0", Default sound "1", Visual "2", PC speakers "3" 11 Scrollback lines (empty) Terminal features Empty is treated as 360000, any other value is the number of lines to keep The "Terminal features (booleans)" sub-sub-sub-string is made of the following items, with their values concatenated directly:
For each feature, the value is "1" if checked and, "0" if unchecked.
Sub-index Terminal feature Default value 0 Display scrollbar 1 1 Implicit CR in every LF 0 2 Implicit LF in every CR 0 3 Flush log files frequently 1 4 Ctrl+Alt is different from AltGr 1 5 Enable xterm-style mouse reporting 1 6 Enable switching to the alternate screen 1 7 Enable scrollback clearing 1 8 Enable destructive backspace 1 9 Enable character set configuration 1 10 Enable arabic text shaping 1 11 Enable bidirectional text display 1 12 Force local echo on 0 13 Force local echo off 0 14 Force local line editing on 0 15 Force local line editing off 0 16 Force application cursor keys mode on 0 17 Force application cursor keys mode off 0 18 Set application cursor keys on by default 0 19 Force application keypad mode on 0 20 Force application keypad mode off 0 21 Set application keypad on by default 0 -
Start session in: "0" for "Normal tab" (default), "1" for "Detached tab", "2" for "Maximized detached tab", "3" for "Fullscreen".
-
The "Comments" field: empty if empty (default), else the comment with any '#' changed to "
__DIEZE__
", no%
is allowed in the field. -
Custom tab color: "-1" if unchecked (default), if checked the decimal value of the RGB color ("536870911" for the default color (whitish), "0" for black, "255" for pure red, "65280" for pure green, "16711680" for pure blue)
By comparing sessions with a changed parameter against a reference session, the full list has been identified as:
-
"
; logout
" if "Display reconnection message" is unchecked in "Bookmark settings", empty if it's checked. -
The icon number of the session (see list below) (the default for RDP is 91)
-
The first group of session characteristics, separated by the '%' character (quotes indicate literal strings or numbers):
Index RDP Property Default Value Section Note 0 Session type 4 For RDP connections it's always "4". 1 Remote host localhost Basic Rdp settings Cannot be empty 2 Port 3389 Basic Rdp settings (self-explanatory) 3 Username (specific) (empty) Basic Rdp settings The default login is set in-app and its default is the Windows login 4 Admin console 0 Connection settings enabled "-1", disabled "0" 5 Redirect ports 0 Local resources enabled "-1", disabled "0" 6 Redirect drives 0 Local resources enabled "-1", disabled "0" 7 Redirect printers 0 Local resources enabled "-1", disabled "0" 8 ? -1 9 Enhanced graphics 0 Display settings enabled "-1", disabled "0" 10 Resolution 0 Display settings Fit to terminal "0", Fit to screen "1", 640x480 "2", 800x600 "3", 1024x768 "4", 1152x864 "5", 1280x720 "6", 1280x968 "7", 1280x1024 "8", 1400x1050 "9", 1600x1200 "10", 1920x1080 "11", 1276x936 "12", 1916x988 "13", 1920x1200 "14", 1280x800 "15", 1360x768 "16", 1366x768 "17", 1440x900 "18", 1536x864 "19", 1600x900 "20", 1680x1050 "21", 2048x1152 "22", 2560x1080 "23", 2560x1440 "24", 3440x1440 "25", 3840x2160 "26" 11 ? -1 12 Remote command (empty) Connection settings ' ;
' in the text field is changed to "__PTVIRG__
" in the setting, '"
' by '__DBLQUO__
' and '|
' by '__PIPE__
'13 SSH Gateway host list (empty) Network settings If one gateway, its hostname. If multiple, their hostnames separated by " __PIPE__
".14 SSH Gateway port list (empty) Network settings If one gateway, its port. If multiple, their ports separated by " __PIPE__
" (ex.22__PIPE__22
).15 SSH Gateway user list (empty) Network settings If one gateway, its username. If multiple, their usernames separated by " __PIPE__
" (ex.userHost1__PIPE__userHost2
).16 Redirect audio 0 Local resources No audio "0", Redirect audio "1", Play on remote server "2" 17 Native authentication 0 Connection settings enabled "-1", disabled "0" 18 SSH Gateway private key list (empty) if 0 or 1 gateway, __PIPE__
if two, …Network settings If one gateway, its private key (optional). If multiple, their private keys (optional) separated by " __PIPE__
" (ex.pathKeyHost1__PIPE__pathKeyHost2
). Two separators can follow each other if a key is absent. 'C' drive letter in the path is changed to "_CurrentDrive_
" in the setting.19 Redirect clipboard -1 Local resources enabled "-1", disabled "0" 20 RDP Gateway (empty) Connection settings Gateway hostname (to also put in Expert RDP settings, see below) 21 Forward keyboard shortcuts -1 Connection settings enabled "-1", disabled "0" 22 Display settings bar -1 Display settings enabled "-1", disabled "0" 23 ? 0 24 Use CredSSP -1 Before 24.2: Connection settings
From 24.2: Expert RDP settingsenabled "-1", disabled "0 (to also put in Expert RDP settings, see below) 25 Redirect microphone 0 Local resources enabled "-1", disabled "0" 26 Autoscale -1 Display settings enabled "-1", disabled "0" 27 Zoom 0 Display settings no "0", auto "1", 25% "2", 50% "3", 75% "4", 100% "5", 125% "6", 150% "7", 175% "8", 200% "9", 250% "10", 300% "11", 360% "12" 28 Color depth 0 Display settings auto "0", 8 bits "1", 16 bits "2", 24 bits "3", 32 bits "4" 29 Redirect smartcards 0 Local resources enabled "-1", disabled "0" 30 Server authentication 0 Connection settings none "0", force "1", prompt "2" 31 Expert RDP settings (empty) Connection settings A sub-sub-string with items separated by "," if defined and different from the globals, see below. The full "all by default" string is "100000100000,0,,,0,0" (added in 24.2) The "Expert RDP settings" sub-sub-string is made of the following items, separated by ",":
Sub-index Expert setting Default value Sub-section Note 0 Connection features & Graphic settings (booleans) 100000100000 Connection features & Graphic settings Yet another nested setting, see below 1 Use RDP Gateway 0 Gateway settings Never "0", Detect "1", Always "2" 2 Server (empty) Gateway settings Same as index 20 above for compatibility reasons 3 Login (empty) Gateway settings Used when sub-index 5 is set to 2 or 3 4 ? 0 5 Authentication 0 Gateway settings Same as end server "0", Prompt during connection "1", Specify login/password "2", Use smartcard "3" The "Connection features & Graphic settings (booleans)" sub-sub-sub-string is made of the following items, with their values concatenated directly:
For each feature, the value is "1" if checked and, "0" if unchecked.
Sub-index Terminal feature Sub-section Default value Note 0 Use CredSSP Connection features 1 Also set index 24 above for compatibility reasons 1 Remote credentials guard Connection features 0 2 Use a web account Connection features 0 Microsoft Entra ID SSO for Azure Virtual Desktop 3 Automatic reconnection Connection features 0 4 Multi monitors (fullscreen on all monitors) Connection features 0 5 Restricted admin Connection features 0 Prevents the transmission of reusable credentials 6 Auto-adapt graphics Graphic settings 1 Disable to change the 4 next items, else adapts according to the detected bandwidth 7 Display wallpaper Graphic settings 0 8 Display themes Graphic settings 0 9 Fonts smoothing Graphic settings 0 10 Desktop composition Graphic settings 0 Enable remote desktop composition 11 Hardware mode Graphic settings 0 Use the hardware for graphics decoding -
The second group of session characteristics, separated by the '%' character, is identical to the SSH one but only the "Lock terminal title" (index 14) is used in RDP:
Index SSH Property Default Value Note 0 Terminal font MobaFont Any installed font + the builtin "MobaFont" ... -
Start session in: "0" for "Normal tab" (default), "1" for "Detached tab", "2" for "Maximized detached tab", "3" for "Fullscreen".
-
The "Comments" field: empty if empty (default), else the comment with any '#' changed to "
__DIEZE__
", no%
is allowed in the field. -
Custom tab color: "-1" if unchecked (default), if checked the decimal value of the RGB color ("536870911" for the default color (whitish), "0" for black, "255" for pure red, "65280" for pure green, "16711680" for pure blue)
By comparing sessions with a changed parameter against a reference session, the full list has been identified as:
-
"
; logout
" if "Display reconnection message" is unchecked in "Bookmark settings", empty if it's checked. -
The icon number of the session (see list below) (the default for VNC is 128)
-
The first group of session characteristics, separated by the '%' character (quotes indicate literal strings or numbers):
Index RDP Property Default Value Section Note 0 Session type 5 For VNC connections it's always "5". 1 Remote hostname or IP address localhost Basic Vnc settings Cannot be empty 2 Port 5900 Basic Vnc settings (self-explanatory) 3 Auto scale display to fit the terminal size without scrollbars -1 Advanced Vnc settings enabled "-1", disabled "0" 4 View only 0 Advanced Vnc settings enabled "-1", disabled "0" 5 SSH Gateway host list (empty) Network settings If one gateway, its hostname. If multiple, their hostnames separated by " __PIPE__
".6 SSH Gateway port list (empty) Network settings If one gateway, its port. If multiple, their ports separated by " __PIPE__
" (ex.22__PIPE__22
).7 SSH Gateway user list (empty) Network settings If one gateway, its username. If multiple, their usernames separated by " __PIPE__
" (ex.userHost1__PIPE__userHost2
).8 SSH Gateway private key list (empty) if 0 or 1 gateway, __PIPE__
if two, …Network settings If one gateway, its private key (optional). If multiple, their private keys (optional) separated by " __PIPE__
" (ex.pathKeyHost1__PIPE__pathKeyHost2
). Two separators can follow each other if a key is absent. 'C' drive letter in the path is changed to "_CurrentDrive_
" in the setting.9 Display VNC settings bar -1 Advanced Vnc settings enabled "-1", disabled "0" 10 Use new embedded VNC engine 0 Advanced Vnc settings enabled "-1", disabled "0" 11 Use SSL tunneling to secure the connection 0 Advanced Vnc settings enabled "-1", disabled "0". If enabled, also enables "new embedded VNC engine" on index 10. 12 Use Unix login (empty) Advanced Vnc settings 13 Proxy type 0 Network settings None "0", Socks4 "1", Socks5 "2", Http "3", Telnet "4", Local "5" (setting a proxy also enables "new embedded VNC engine" on index 10) 14 Proxy host (empty) Network settings (self-explanatory) 15 Proxy port 1080 Network settings (the default is set even if the Proxy type is "None") 16 Proxy login (empty) Network settings (self-explanatory) 17 ? (empty) -
The second group of session characteristics, separated by the '%' character, is identical to the SSH one but only the "Lock terminal title" (index 14) is used in VNC:
Index SSH Property Default Value Note 0 Terminal font MobaFont Any installed font + the builtin "MobaFont" ... -
Start session in: "0" for "Normal tab" (default), "1" for "Detached tab", "2" for "Maximized detached tab", "3" for "Fullscreen".
-
The "Comments" field: empty if empty (default), else the comment with any '#' changed to "
__DIEZE__
", no%
is allowed in the field. -
Custom tab color: "-1" if unchecked (default), if checked the decimal value of the RGB color ("536870911" for the default color (whitish), "0" for black, "255" for pure red, "65280" for pure green, "16711680" for pure blue)
By comparing sessions with a changed parameter against a reference session, the full list has been identified as:
-
"
; logout
" if "Display reconnection message" is unchecked in "Bookmark settings", empty if it's checked. -
The icon number of the session (see list below) (the default for SFTP is 140)
-
The first group of session characteristics, separated by the '%' character (quotes indicate literal strings or numbers):
Index RDP Property Default Value Section Note 0 Session type 7 For SFTP connections it's always "7". 1 Remote hostname or IP address localhost Basic Sftp settings Cannot be empty 2 Port 22 Basic Sftp settings (self-explanatory) 3 Username (specific only) (empty) Basic Sftp settings The default login when empty is set in-app and its default is the Windows login 4 UTF-8 Charset -1 Advanced Sftp settings enabled "-1", disabled "0" 5 Compression 0 Advanced Sftp settings enabled "-1", disabled "0" 6 Remote startup folder (empty) Advanced Sftp settings Both relative and absolute paths seem to be allowed. 7 ASCII mode 0 Advanced Sftp settings enabled "-1", disabled "0" 8 2-steps authentication 0 Advanced Sftp settings enabled "-1", disabled "0" 9 Use private key (empty) Advanced Sftp settings Private key path. 'C' drive letter in the path is changed to " _CurrentDrive_
" in the setting.10 Proxy settings 0 Advanced Sftp settings - Proxy No proxy "0", Socks4 Proxy "1", Socks4 Proxy with authentication "2", Socks5 Proxy "3", Socks5 Proxy with authentication "4", Web proxy "5", Web proxy with basic authentication "6", Web proxy with digest authentication "7", Web proxy with NTLM authentication "8" 11 Proxy server (empty) Advanced Sftp settings - Proxy (self-explanatory) 12 Proxy port 1080 Advanced Sftp settings - Proxy (the default is set even if the Proxy type is "None") 13 Proxy username (empty) Advanced Sftp settings - Proxy 14 Proxy password (empty) Advanced Sftp settings - Proxy WARNING: The password is stored plaintext! 15 Local startup folder (empty) Advanced Sftp settings The folder path, without replacement it seems ("C:\" stays as-is) 16 Preserve file dates -1 Advanced Sftp settings enabled "-1", disabled "0" -
The second group of session characteristics, separated by the '%' character, is identical to the SSH one but only the "Lock terminal title" (index 14) is used in SFTP:
Index SSH Property Default Value Note 0 Terminal font MobaFont Any installed font + the builtin "MobaFont" ... -
Start session in: "0" for "Normal tab" (default), "1" for "Detached tab", "2" for "Maximized detached tab", "3" for "Fullscreen".
-
The "Comments" field: empty if empty (default), else the comment with any '#' changed to "
__DIEZE__
", no%
is allowed in the field. -
Custom tab color: "-1" if unchecked (default), if checked the decimal value of the RGB color ("536870911" for the default color (whitish), "0" for black, "255" for pure red, "65280" for pure green, "16711680" for pure blue)
By comparing sessions with a changed parameter against a reference session, the full list has been identified as:
-
"
; logout
" if "Display reconnection message" is unchecked in "Bookmark settings", empty if it's checked. -
The icon number of the session (see list below) (the default for Browser is 313)
-
The first group of session characteristics, separated by the '%' character (quotes indicate literal strings or numbers):
Index RDP Property Default Value Section Note 0 Session type 11 For Browser connections it's always "11". 1 Remote hostname or IP address localhost Basic Browser settings Cannot be empty 2 Display top bar -1 Advanced Browser settings enabled "-1", disabled "0", 0 only if all "Display X" below are disabled too 3 Display back button -1 Advanced Browser settings enabled "-1", disabled "0" 4 Display forward button -1 Advanced Browser settings enabled "-1", disabled "0" 5 Display refresh button -1 Advanced Browser settings enabled "-1", disabled "0" 6 Display stop button -1 Advanced Browser settings enabled "-1", disabled "0" 7 Display home button -1 Advanced Browser settings enabled "-1", disabled "0" 8 Display address bar -1 Advanced Browser settings enabled "-1", disabled "0" 9 External popup windows 0 Advanced Browser settings enabled "-1", disabled "0" 10 IE Emulation level 0 Advanced Browser settings No emulation "0", IE7 "1", IE8 "2", IE9 "3", IE10 "4", IE11 "5" 11 Browser engine 0 Advanced Browser settings Internet Explorer "0", Google Chrome "1", Mozilla Firefox "2", Microsoft Edge "3" 12 Edge - Display top bar -1 Advanced Browser settings enabled "-1", disabled "0" 13 Edge - Enable context menus -1 Advanced Browser settings enabled "-1", disabled "0" 14 Edge - External popup windows 0 Advanced Browser settings enabled "-1", disabled "0" 15 Edge - Enable Smartscreen -1 Advanced Browser settings enabled "-1", disabled "0" 16 Edge - Allow insecure localhost 0 Advanced Browser settings enabled "-1", disabled "0" 17 Edge - Use Edge stored passwords -1 Advanced Browser settings enabled "-1", disabled "0" 18 Edge - Proxy 0 Advanced Browser settings System proxy settings "0", No proxy (direct connection) "1", Autodetect proxy "2", Specify a proxy server "3", Specify a proxy script "4" 19 Edge - Proxy server or script (empty) Advanced Browser settings Proxy server host or .pac file URL depending on the above setting 20 Edge - Proxy port (empty) Advanced Browser settings Proxy port -
The second group of session characteristics, separated by the '%' character, is identical to the SSH one but only the "Lock terminal title" (index 14) is used in SFTP:
Index SSH Property Default Value Note 0 Terminal font MobaFont Any installed font + the builtin "MobaFont" ... -
Start session in: "0" for "Normal tab" (default), "1" for "Detached tab", "2" for "Maximized detached tab", "3" for "Fullscreen".
-
The "Comments" field: empty if empty (default), else the comment with any '#' changed to "
__DIEZE__
", no%
is allowed in the field. -
Custom tab color: "-1" if unchecked (default), if checked the decimal value of the RGB color ("536870911" for the default color (whitish), "0" for black, "255" for pure red, "65280" for pure green, "16711680" for pure blue)
The icons in the following screenshot are the property of MOBATEK SARL.
Session type | Default session icon |
---|---|
SSH | 109 |
Telnet | 98 |
Rsh | 100 |
Xdmcp | 88 |
RDP | 91 |
VNC | 128 |
FTP | 130 |
SFTP | 140 |
Serial | 131 |
File | 84 |
Shell | 97 |
Browser | 313 |
Mosh | 145 |
Aws S3 | 343 |
WSL | 151 |
@Ruzgfpegk I would be happy to contribute to a “.mxtsession” repository.
My tool uses a json-fied version of your documentation as a lookup table for searching data/config.json. Perhaps this can be added to a repository in the future and made available to others.