Skip to content
Miriam McMahon edited this page Jun 28, 2021 · 4 revisions

Scalus Session Client Application Launch Uri System

scalus allows you to configure custom URL handlers on a host, so that you can choose to launch your preferred application when you click on a URL link in a web browser.

There are 2 parts to configuring a protocol with scalus:

  • Tell the operating system how to handle the protocol.
    scalus registers itself with the OS as a handler for the protocol, and configures scalus as the current user’s preferred application for the protocol. The registration process is platform-dependent.
  • Configure scalus to tell it how to parse the URL; which application to run for the URL; and how to run the application.

Parsing the URL

When scalus is launched, the URL is parsed by one of the predefined parsers into a list of predefined tokens (e.g. %Host%, %Port%, %User%).
These tokens can be used in the configuration file to customize the behaviour e.g.

"Exec" : "%AppData%/RunMyApplication.exe -user %User% -host %Host% -port %Port%

Scalus replaces each token reference with the actual value from the URL when launching the application.
The complete list of supported tokens is defined here Token Details

  • The rdp parser expects a URL in the format:rdp://full+address=s:hostname&username=s:username&option=i:n
  • The ssh and telnet parsers expect a URL in the format: ssh://user@host
  • The ssh, rdp and telnet parsers can also handle a URL generated by Safeguard to view an SPS session. In this case, the User token will contain the full Safeguard token.
  • Any valid url can be parsed by the url parser. This can be used to define your own custom protocol, e.g. mycustom://user@host:port/path

Scalus Configuration

The configuration file scalus.json is used to control the behaviour of scalus. This configuration file defines

  • the list of protocols handled by scalus
  • the list of applications that scalus can run to handle protocols
  • defines the application that scalus will run for each protocol

An example scalus.json file is supplied with scalus, which shows how to run some common applications on each of the supported platforms. The structure of the scalus.json file is described here scalus.json definition