xrdp web client

FastX consists of two components: the FastX REST API and the Xrdp web client

The FastX REST API

These are the API calls that are used to set up the XRDP connection and manage the sessions (listing, starting,terminating etc)

The Xrdp web client

This is the component that does the actual connection to the FastX server to display graphics and interact with the session. The xrdp web client is built using AngularJS and a custom set of RDP libraries.  The FastX API gets all the needed information to make an XRDP connection using the Xrdp web client.

The basic xrdp web client is located at
https://your.fastx.server.com:3443/xrdp

The Xrdp client takes a single get parameter which is a JSON object encoded in base64
https://your.fastx.server.com:3443/xrdp#base_64_encoded_json

The JSON object contains all the parameters needed to connect to the FastX session.
These parameters usually come from the result of the /api/connect call.

The JSON object contains

  • port  — (int)  the rdp port the session is listening on
  • RdpPort  — (int) optional  alias for port
  • username  — (string)  username to display
  • password — (string) password generated from the /api/connect or /api/share call
  • id — (string) session id
  • geometry — (string) widthxheight of the session

When building a custom client, use the FastX api to get all the needed information to create the URL
https://your.fastx.server.com:3443/xrdp#base_64_encoded_json

and then launch the URL in an iframe to connect.

Using FastX API in conjunction with /xrdp

The /xrdp client connects through a websocket and communicates via xrdp channels directly to the xrdp session.  xrdp and the fastx api operate independently of each other.  However there are instances when the it will benefit clients to use the FastX API in an Xrdp session. Set the token from  /api/login  as a cookie (named “token”) to allow XRDP to access the token.

Built In FastX Clients

/connect

This is the basic client for FastX.

https://your.fastx.server.com:3443/connect?session-id

it checks to see if you have logged in and redirects to the login page if not.  It makes a /api/connect using the session-id GET parameter and generates a JSON object to send to /xrdp

/share

This is the sharing client for fastx

https://your.fastx.server.com:3443/connect?base_64_encoded_sharing_info

This is the URL generated when turning on sharing.  It will call /api/share to get the connection information and then generate a JSON object to send to /xrdp