FastX consists of two components: the FastX REST API and the Xrdp web client
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
The Xrdp client takes a single get parameter which is a JSON object encoded in base64
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
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
This is the basic client for FastX.
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
This is the sharing client for fastx
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