Skip to content

AssistivTunnel

Screenshot of a Terminal running the AssistivTunnel CLI.

AssistivTunnel is a small command line interface (CLI) that creates a secure connection between your computer and virtual machines or mobile devices running in Assistiv Labs, which enables you to test…

  • Any site or server running on localhost
  • Internal staging servers that may require VPN
  • Geofenced sites that only accept requests from certain countries or IPs

Get started

  1. Download the CLI for your platform from your terminal/command prompt:
    # MacOS
    curl -L https://assistivlabs.com/cli/mac.zip -o mac.zip && unzip mac.zip
    # Windows
    powershell.exe "$ProgressPreference='SilentlyContinue'; Invoke-WebRequest https://assistivlabs.com/cli/win.zip -OutFile win.zip; Expand-Archive win.zip ."
    # Linux
    curl -L https://assistivlabs.com/cli/linux.zip -o linux.zip && unzip linux.zip
    
  2. Copy your personal AssistivTunnel access key from https://assistivlabs.com/settings
  3. From a terminal or command prompt, run
    # MacOS / Linux syntax
    ./AssistivTunnel --accessKey <PASTE KEY HERE>
    # Windows syntax
    .\AssistivTunnel.exe --accessKey <PASTE KEY HERE>
    

The CLI will output something like:

Connecting...
✅ Connected successfully
You can now start testing from https://assistivlabs.com/dashboard.
Select the tunnel named "My-Computer" from the dropdown

You're now ready to test. Any URL that you can load locally will now work in Assistiv Labs. For example, paste https://localhost:3000 or https://staging.example.com into the remote browser.

CLI options

Options:
      --help       Show help                                           [boolean]
      --accessKey  Your AssistivTunnel access key, obtain from
                   https://assistivlabs.com/settings                    [string]
      --label      Optional label for your tunnel to help you identify it on the
                   dashboard. If omitted, your computer's hostname will be used
                   instead                                              [string]
      --proxy      Optional, if your organization requires that you use a proxy
                   server to connect to the internet, specify it here with
                   "<host>:<port>". Ex: --proxy internalproxy.example.com:8080
                                                                        [string]
      --verbose    Enable verbose logging                              [boolean]
      --update     Check for updates                                   [boolean]
  -v, --version    Display AssistivTunnel's version                    [boolean]

FAQ

Is it secure?

Yes. AssistivTunnel uses TLS 1.2 end-to-end encryption for all communications. Traffic is not decrypted on our servers, it is only passed through. You can confirm this by visiting an HTTPS site in an Assistiv Labs browser and inspecting the connection certificate chain.

Only test devices in the Assistiv Labs cloud that you are actively testing can access your tunnel. Learn more about our security practices.

How does it work?

The AssistivTunnel CLI establishes a WSS (secure WebSocket) connection to our Relay server from your computer. When you start a test session from your Assistiv Labs dashboard and select an active tunnel, a new virtual machine or mobile device is provisioned and its network requests are routed through the Relay server over HTTPS. The network requests are then transmitted over WSS using a custom protocol to AssistivTunnel, which resolves the request and transmits the response over WSS back to the Relay.

When you end your test session, the test device and routing rule is deleted and all pending requests are cancelled.

A detailed whitepaper describing AssistivTunnel’s internals is available for security review upon request.

Supported Versions

The latest major version release will always be supported, including contacting us for support and picking up security patches.

In addition, all versions prior to and including 9.92 are deprecated and will no longer be supported because of an important bug they contain (use the --update option to update to a newer version).

I'm experiencing interruptions

Prior to version 9.93, if your network became unstable, AssistivTunnel could break completely and you'd have to start over from scratch with a new session.

With 9.93 and later versions, AssistivTunnel will instead try several times to reconnect to your session before giving up.

This greatly smooths out the experience in the face of network instability.

Can it be run centrally, from a DMZ or internal server?

Yes, if you only need to test internal websites with AssistivLabs (and not localhost) and would like to monitor the traffic moving through AssistivTunnel from a single access point, you can run AssistivTunnel from a DMZ or internal server. The tunnel can then be shared with everyone in your Assistiv Labs account.

Requires a Company plan. Contact us for more details.

Need help?

Contact us and we'll be happy to answer questions or walk you through the process.