Skip to content

Turbo Play ​

Turbo Play serves two main functions:

  1. A graphical UI wrapper around turbo.exe commands, providing a user-friendly interface for launching and managing Turbo applications
  2. An RDP-based streaming client that enables users to connect to remote application servers and stream Turbo applications

Local Application Launching ​

When used locally, Turbo Play provides a graphical interface for turbo.exe commands instead of using the command prompt:

> turboplay turbo run --format=rpc my-image

Users can also pass a text file containing a turbo command:

> turboplay turbo C:\Users\[user]\AppData\Local\Turbo\Containers\shortcuts\My App.txt

Launch Options ​

      --quiet                            Hide all graphical user interfaces until the application launches
      --start-progress-ui-immediately    Shows the status dialog immediately before any events are detected from the underlying Turbo.exe
      --wait-for-window                  Status dialog remains until the application's main UI shows 
      --delete-cmd-file                  Deletes the cmd file if specified immediately after reading it
      --app-title                        Sets the title of the status dialog
      --debug-vm                         Overrides the path to the vm
      --log                              Specifies location of log file
      --startup-file                     Passes through startup file to turbo.exe
      --startup-verb                     Passes through startup verb to turbo.exe
      --isolate                          Passes through isolation setting to turbo.exe
      --merge-file                       Passes through merge file setting to turbo.exe

Note:

  • Turbo CLI flag --wait-after-(error|exit) is ignored as it requires input that cannot be provided through the UI
  • --format=rcp is automatically added to parse output
  • --show-eula-for-rpc is automatically added to display EULAs in a window if they exist

Application Streaming ​

Turbo Play can connect to remote application servers to stream Turbo applications using RDP. This is handled through either the Turbo URI scheme or direct RDP connection.

Turbo URI Scheme ​

The Turbo protocol directs Turbo Play to either:

  • Execute a local application
  • Connect to a remote application server for streaming
turbo://{portalAuthority}/{configPath}?t={type}&h={hash}&v={version}

portalAuthority                          domain which must be trusted by the user from which the configuration comes from
path                                     path of the service, typically 'config'
type                                     config for launching a local application or remoteAppConfig for connecting to a remote application
hash                                     hash of the configuration, to ensure its contents are not tampered with
version                                  currently at 1

Local Configuration Example ​

turbo://turbo.net/config?t=config&h=sha256:e28dd1863f82e6b2f46303311540ae194045a58756cd1c4fbbbc4c778021bc84&v=1

The json format for local configuration:

{
  "id":"2b68b3de-51e2-4a60-b822-bd810a55146f",
  "repoId":"mozilla/firefox",
  "appTitle":"Firefox",
  "verb":"try",
  "isolation":"full",
  "isolateNetwork":false,
  "routes":[],
  "redirectedDomains":[],
  "adGroupPermissions":[],
  "startupFile":"",
  "vm":"",
  "layers":[],
  "using":[],
  "sync":false,
  "tnlr":false,
  "enableRemoteCommands":true,
  "v":"1"
}

Remote Configuration Example ​

turbo://turbo.net/config?t=remoteAppConfig&h=sha256:51d021ef9da4ee6c7910a4d5f19325fba77888ba94255ab67e0e4c0d8053fa6d&v=1

The json format for remote configuration:

{
  "v":1,
  "sessionId":"e3e9df43-8f1e-4b0c-a371-8080b67cbc66",
  "host":"192.0.2.1",
  "auth":{
    "user":"randomWindowsUser",
    "password":"randomWindowsPassword"
  },
  "app":"turboplay",
  "args":"turbourl turbo://config.to/run"
}

Direct RDP Connection ​

Turbo Play can connect directly to a remote desktop to execute commands:

> turboplay rdp --rdp-host=<hostname> --rdp-program=<remoteAppProgram> --rdp-user=<rdpUsername> --rdp-password=<rdpPassword>

Required parameters:

--rdp-host=<hostname>

Optional parameters:

--rdp-domain=<logon user's domain>
--rdp-user=<logon user>
--rdp-password=<logon password>
--rdp-program=<program to run, defaults to cmd.exe>
--rdp-cmd=<remoteapp cmdline args>
--rdp-port=<rdp port, default 3389>

Legacy Support ​

Turbo Play maintains support for legacy applications through config and model URLs:

    /config           The URL to an application configuration to execute
    /model            The UNC path to a streaming model to execute
    /xsandboxname
    /xsandboxpath     The path to the app sandbox (required with the /model flag)
    /register
    /cachemode        The local path where the fully streamed application is to be cached (only valid with the /model flag and is required)
    /clientconfig
    /xvm