SparkView Admin Manual
1. – Overview
1.1 – Features
SparkView is a RDP, VNC, SSH, TELNET, SMB2, SFTP proxy (gateway) with HTML5 client. It uses WebSo...
1.2 – Architecture
SparkView basically consists of two components: Gateway A web socket server and simple web serv...
1.3 – What's the difference
SparkView is quite different compared with other similar solutions: It is designed to be a repla...
2. – Installation
2.1 – Install J2SE Software Development Kit (JDK)
Download the Java 2 Standard Edition (J2SE) JDK version 1.8 or later from one of these sources: ...
2.2 – Install as a Windows service
Download SparkView installer for Windows from: https://cloud.beyondssl.com/url/sparkviewinstaller...
2.3 – Install as Linux/Unix daemon
Before installation Download SparkView for Linux/Unix: https://cloud.beyondssl.com/url/sparkvie...
2.4 – Install as macOS daemon
Run the following commands: cd /Library sudo unzip SparkGateway.zip sudo chown username Spa...
2.5 – Install HTML client on other web servers
Spark View (the HTML5 Client part) doesn't include any server side logic. You can also install it...
2.6 – Run SparkView as a container (Docker)
SparkView is fully executable as a container on many platforms. Advantages here are certainly the...
2.7 – Install as PWA
SparkView offers native PWA support from version 1036 and can be installed as such on all operati...
2.8 – Integrating a license
To integrate a license file into SparkView, please note the following steps: Stop SparkView serv...
3. – Server configuration
3.1 – Gateway
The gateway can be configured through the gateway.conf file. By default, this is located in the r...
3.2 – HTTPS and WSS (WebSocket secure connection)
Recommended to enable HTTPS and WSS. There is a self-signed certificate (keystore.jks) in the ins...
3.3 – Remote Desktop Web Access Portal Integration
A user can log in with his domain user name and password and get the RemtoeApps or desktops publi...
3.4 – Servers & RDP options
Contents: General information Performance flags IP ranges Keyboard layouts General informatio...
3.5 – Users
Contents: General User creation Local user database Integrate Active Directory/LDAP/RADIU...
3.6 – Easy printing
In a traditional RDP environment, you may have to install drivers for client side printers to mak...
3.7 – RemoteApp and start a program instead of the whole desktop
There are two ways to start a program: Start a program on connection use a program as shell of W...
3.8 – Clipboard redirection and shared clipboard
You can only copy text, image and html between local and remote because of the browser's restrict...
3.9 – Bidirectional audio redirection (RDP)
Audio redirection must be enabled in the RDP server first. For microphone redirection, Chrome 53,...
3.10 – File share (uploading and downloading)
There are two ways to implement file downloading/uploading. One is using temporary directory for ...
3.11 – Session Recording and Playback
Spark View can record your session in RDP stream format (.rdpv) and play it anywhere. This format...
3.12 – Session Shadowing (join or share an active session on gateway)
Unlimited users can join/share one existed session via one click if you know the session id: http...
3.13 – Native RDP shadowing (join any active RDP sessions)
Since 6.0, Spark View can use shadow.html to shadow any active RDP sessions on the RDP server, ev...
3.14 – Touch interface (iOS, Android etc)
Spark View can operate on tablets and smart phone devices if you have an html5 browser available....
3.15 – Touch remoting
Touch Remoting will be enabled automatically when following conditions are met: RDP host is Wind...
3.16 – Hyper-V Console and Enhanced Session Mode
Compared with normal RDP connection, Hyper-V console connection has following pros and cons: Pros...
3.17 – RDP connection cache/pool
RDP session may take minutes to start (booting, login, user profile etc) which is unacceptable so...
3.18 – Symlink (access link)
You can create a symlink for a RDP host (must be configured in servers.json first). After you cre...
3.19 – Macro recording
Macro recording can be used on software testing, automated jobs etc. Please add macro.js into you...
3.20 - Remote assistance
You can provide Remote Assistance with assit.html. With Spark View's cross-platform ability, now ...
3.21 – RFB (VNC) protocol support
You can connect to any VNC server (Linux, Mac etc) with vnc.html. It also supports session shadow...
3.22 – SSH and Telnet
You can connect to SSH server with ssh.html, and connect to Telnet server with telnet.html: Yo...
3.23 – Smart Card Redirection
Since version 5.7, Java applet was deprecated. Smart Card redirection need a small native applica...
3.24 – Scanner redirection
Spark View provides two different method for scanner redirection: Please use the TWAIN Virtual D...
3.25 – USB redirection
USB redirection is based on WebUSB: https://wicg.github.io/webusb/. Please check your browser com...
3.26 – OAuth 2.0/Okta integration
You need to register your application before you use OAuth 2.0 integration. Provider Registeri...
3.27 – Active Directory, Azure AD, LDAP, RADIUS integration
✅ Create configuration files easily Click here to go to the customizer for the integration of au...
3.28 – Using Java parameters
In some cases, the use of Java parameters during or before the start of SparkView is useful or ne...
3.29 – Send logs to syslog
SparkView can collect and forward logs under Linux via syslog. This requires a few adjustments on...
3.30 — Add HTTP/S proxy entry
From SparkView version 6.4, the HTTP proxy has been completely redesigned to be faster, more secu...
4. – Administration and usage via UI
4.1 – config.html
After opening the /config.html page, you have the possibility to configure all the important sett...
4.2 – file.html
You can use the /file.html page to establish a secure connection to an SMB2 or SFTP destination. ...
4.3 – join.html
You can join an existing session as a support or spectator via the /join.html page. You will rece...
4.4 – login.html
You can log in to SparkView via the /login.html page.Logging in can be done via various services:...
4.5 – player.html
You can use the /player.html page to play previously recorded session recordings from localhost. ...
4.6 – rdp.html
The /rdp.html page is the heart of the SparkView installation and can be used to connect to a rem...
4.7 – report.html
On the /report.html page you have the opportunity to get important and up-to-date information abo...
4.8 – shadow.html
By calling the /shadow.html page, you can join an existing RDP session and view it, or even contr...
4.9 – ssh.html
The direct call to ssh.html can be used to quickly establish direct SSH connections to remote des...
4.10 – telnet.html
The direct call to telnet.html can be used to quickly establish direct telnet connections to remo...
4.11 – vnc.html
The direct call to vnc.html can be used to quickly establish direct VNC connections to remote tar...
4.12 – Further files and views
assist.html Join an existing session for support via this file. Please note that the partner will...
5. – Further management and configuration
5.1 – Session management
You can use config.html to check session status, terminate or join a session on the gateway:
5.2 – Multi-Monitor
You’ll have to open a new browser window for every monitor because you can not span a full screen...
5.3 – SMB2 and SFTB file proxy
Spark Gateway can also act as a SMB2/SFTP file proxy. User can access their SMB share, SFTB files...
5.4 – Deploy, run and test applications in the cloud
Deploy and test your application in cloud can cumbersome. You need: Create bastion for individua...
5.5 – IP filter (iptables)
You can set up IP filters for SparkView. First, save you ip filters into a JSON file. Here is the...
5.6 – SNMP integration
Configuration in gateway.conf: #agent address and port: snmp.address.get-set = udp:192.168.1.68/1...
5.7 – SSH authentication with keys
To be able to authenticate to a created target system via SSH using public and private keys, the ...
6. – API and Plug-In
6.1 – Reporting API (query server status, client side JavaScript API)
Include "gateway.js" in your web page: var gw = new Gateway("192.168.9.118"); gw.login("password...
6.2 – RDP library (client side JavaScript API)
Further links to the coresponding subpages: 6.2.1 – RDP parameters 6.2.2 – Passing parameter ...
6.2.1 – RDP parameters
Parameter ...
6.2.2 – Passing parameters via URL (Connection String)
URL components ❗️ Important Please use "on" and "off" for Boolean value if you are using URL to ...
6.2.3 – Passing parameter via object or cookie
Rdp2 class can be used to replace Rdp class. You can pass a object to Rdp2: varobj = {gateway: "1...
6.2.4 – Usage of RDP class
Properties: Name ...
6.2.5 – Extend RDP: Virtual Channel and Dynamic Virtual Channel
You can create multiple virtual channels and dynamic virtual channels on client side using JavaSc...
6.2.6 – Extend Gateway: Gateway Channel
You can create multiple gateway channels to create a communication layer between client browser a...
6.3 – Plug-ins (server side Java API)
Your plug-in must implement com.toremote.gateway.plugin.ManagerInterface. With the plugin, you ca...
6.4 – HTTP Request API (server side)
You can use HTTP request to create server, symlink dynamically if you don't want to write a plug-...
7. – Reverse Agent
Appendices
Appendix A – Shortcut keys
CTRL+ALT+END Brings up the Windows Security dialog box. ALT+PAGE UP Switches between programs ...
Appendix B – Browser support
Browser Minimum version Comments Mozilla Firefox 11.0 Audio redirection: 51 Google Chrom...
Appendix C – EchoHandler and network check
There is an EchoHandler on the gateway which can be used to check network connectivity and latenc...
Appendix D – configuration example for nginx
server { listen 80; location / { proxy_set_header Host $host; proxy_set_header X-Real...
Appendix E – configuration example for Apache Proxy
<VirtualHost *:443> ServerName spark.gateway.com DocumentRoot C:/Apache24/htdocs/reverseproxy...
Appendix F – configuration for Juniper, Cisco, Dell etc SSL VPN
It's very easy if the VPN supports WebSocket. You just need to create a web application resource ...
Appendix G – SMB path
SMB Path can also be used for recording, drive redirection etc., for example: recdir = smb://doma...
Appendix H – Ping
You can enable Ping on client side by setting pingInterval (seconds) parameter, or use rdp.startP...
Appendix I – TrustStore
When you RDP server or VNC server are using TLS encryption. You can allow user connect to trusted...
Appendix J – Features
tr td:not(:first-child) {text-align: center;} Feature list for the different versions of Spar...