Skip to content

The Scalus Configuration File

Miriam McMahon edited this page Mar 14, 2022 · 4 revisions

Protocol List

Protocols": [   
    {   
        "Protocol": "myprotocol",   
        "AppId": "applicationId"   
    }    
  ]  
Name Description Required
Protocol The name of the protocol Y
AppId The Id of a configured application to handle this protocol. Only 1 application can be assigned to a protocol.

Application List

"Applications": [
    {
      "Id": "applicationId",
      "Name": "applicationName",
      "Description": "optional description",
      "Platforms": [  "Windows", "Linux",  "Mac" ],
      "Protocol": "myprotocol",
      "Parser": {
        "ParserId": "url",
        "Options": [
          "waitforexit"
        ],
        "UseDefaultTemplate": false,
        "UseTemplateFile": "/path/tofile",
        "PostProcessingExec": "path/toplugin",
        "PostProcessingArgs": [ "arg1", "arg2" ]
      },
      "Exec": "/path/tocommand",
      "Args": [ "arg1", "arg2 " ]
    }
  ]
}
PropertyName Description Required Can Contain Tokens
Id A unique id for the application. Y
Name A user-friendly name for the application: this is the name displayed on the UI. Y
Description A description for the application.
Platforms The list of platforms supported for this application. When assigning an application to a protocol, the UI will only display the list of applications that are supported by the current platform. Valid values are: [ Windows, Linux, Mac ] Y
Protocol The protocol supported by the application Y
ParserId The predefined parser that will be used to parse the URL. Valid values are: [ rdp, ssh, telnet, url ] . The default url parser can be used to parse any standard URL Y
Options A list that identifies how scalus handles the running application. Currently, the only supported option is the wait option, which determines how scalus waits for the running application. Valid values are [ waitforinputidle, waitforexit, wait ]. The wait option waits for default 20 secs, but can be configured, e.g. wait:60 (wait for 60 seconds)
UseDefaultTemplate Supported by the rdp parser only. A default template is generated suitable for use by Microsoft Remote Desktop. This template is copied to a temporary file that can be identified using the %GeneratedFile% token. The default values in this file can be overwritten in a URL by passing the corresponding setting in the RDP url, e.g. the default value for selectedmonitors: can be overridden in the URL: rdp://full+address=s:myhost&username=s:myuser&selectedmonitors:s:one.
UseTemplateFile The full path to a (text) template file to use for the application. The template will be copied to a temporary file, replacing any scalus tokens found in the file. Only the values in this template will be included in the generated file, which can be identified using the %GeneratedFile% token. If the template is a Microsoft Remote Desktop file, then rdp settings in the template can be overridden in the URL only if the template file contains an empty value for the property e.g. if the template contains the value selectedmonitors:s: then the selectedmonitors property can be overridden in the URL rdp://full+address=s:myhost&username=s:myuser&selectedmonitors:s:one. Y
PostProcessingExec The full path to an executable file that will be run to process the %GeneratedFile% before launching the application. This can be used to customize the default template. This program must not prompt for input. Y
PostProcessingArgs The arguments to pass to the PostProcessingExec executable. Y
Exec The full path to the application to run, e.g. "Exec" : "%AppData%/MyDir/Myprogram.exe". Y Y
Args The list of arguments to pass to the application, e.g. "Args": [ "-u", "%User%", "-f", "%GeneratedFile%", "-h", "%HOST%" ] Y

Default Configuration

The following predefined applications are supplied in the default scalus.json file. Example templates mentioned here can be found in the same directory as the scalus.json file, and can be edited to customize the settings as required. To preview the currently configured command without running it, run scalus launch -p -u url.

  • windows-rdp

    Run an interactive RDP session on Windows using MS Windows RDP client. This configuration uses a default connection file generated by SCALUS. The generated values are hard-coded, but can be customized before the application is run by editing the file examplePlugin.pl.

  • windows-rdp-withtemplate

    Run an interactive RDP session on Windows using MS Windows RDP client. This configuration uses a user-supplied connection file: exampleRdpTemplate.rdp.

  • windows-rdp-runapplication

    Run an RDP session on Windows using MS Windows RDP client. This configuration uses a user-supplied connection file: RdpRemoteAppTemplate.rdp, which is tailored to run a dedicated application program.

  • freerdp

    Run an RDP session on Windows using FreeRdp client.

  • windows-openssh

    Run an SSH session using the Windows OpenSSH client. An auth key can be provided by adding the '-i, keypath' arguments

  • putty-ssh

    Run an SSH session using the Windows Putty client. An auth key can be provided by adding the '-i, keypath' arguments

  • putty-telnet

    Run a telnet session using the Windows Putty client.

  • gnome-terminal-ssh

    Run an SSH session using the Open Gnome Terminal on Linux. An auth key can be provided by adding the '-i, keypath' arguments

  • remmina-ssh

    Run an SSH session using the Remmina client on Linux. This configuration uses a user-supplied template file: ssh.remmina. This template can be customized as required.

  • remmina-rdp

    Run an RDP session using the Remmina client on Linux. This configuration uses a user-supplied template file: rdp.remmina. This template can be customized as required.

  • mac-ssh

    Run an SSH session on MacOS.

  • mac-rdp

    Run an RDP session on MacOS using MS Windows RDP client. This configuration uses a default connection file generated by SCALUS.

Clone this wiki locally