Functionize CLI Tunnel

Functionize CLI Tunnel Overview

If an application under test is only accessible with a special connection or runs locally, a user may use the Functionize CLI to connect to non-public sites. The Functionize CLI supports a simple tunneling option to connect to a private site. This is much easier than setting up a whitelist for all our servers.

The Functionize CLI Tunnel is a secure reverse tunnel over secure websockets protocol (wss). The connection leverages the same token auth authentication as the rest of the Functionize CLI. The tunnel should require no changes to your firewall settings. DNS resolution takes place on the machine where the tunnel is started. You can also have more than one tunnel running in parallel.

Note: One limitation of the tunnel is the connection will sever if the computer goes to sleep. The authentication token generated for your Functionize connection will expire after 90 days if the tunnel is not open. The token will remain active if the tunnel itself remains open. In other words, don't let your tunnel machine go to sleep!

See below for a visual representation of the tunnel and how it communicates.

 

Prerequisites:

Setting up the Functionize CLI Tunnel requires a Proxy set for the user by the Functionize team. Message the Functionize Support team with your IP address and then they will provide you with the endpoint required to start the tunnel as well as the IP address and port to be used in your Test or Project Settings within Functionize, see below.

 

Commands for the Tunnel with the Functionize CLI

Available Commands:

Init Initialize the Tunnel connection.
Start Open the Tunnel connection to your proxy domain.
Stop Close the Tunnel connection, this may take up to 60 seconds if multiple connections are open.

 

Flags:

-e, --endPoint string Set your remote endpoint with this flag - your Proxy domain is the string.
-h, --help The list of Tunnel commands and flags.
--noConnections int The number of parallel connections you wish to open, by default, one connection opens - you have the option of setting up to 12 parallel connections.

 

Starting and Stopping the Tunnel

Within the Functionize CLI, run the following commands:

  1. Initialize the Tunnel connection:
    fze tunnel init
  2. The following result from the above command should appear:
    Initializing tunnel. Tunnel has been successfully initialized.
  3. Start the Tunnel connection:
    fze tunnel start --endPoint string
    Note: The string is your Proxy endpoint provided to you from Support.
    Note: During the Start command you also have the option of setting the number of parallel connections with the flag
    --noConnections int
    Note: The int is the number of connections you wish to open, up to 12. By default, including not using this flag, one connection will open.
    Screen_Shot_2021-07-20_at_7.32.11_PM.png

  4. Stop the Tunnel connection:
    fze tunnel stop
    Note: If multiple connections are open, it will take up to 60 seconds to disconnect. Also, as noted above, the Tunnel will remain open and active as long as the computer does not go to sleep.
    Screen_Shot_2021-07-20_at_7.34.15_PM.png

 

Set the Proxy within your Project or Test

Proxy IP address and Port are added to the Project Advanced Settings on the Basic tab.


Proxy IP address and Port are added to the Test Settings on the Advanced tab.

 

Visual Representation of tunneling with the Functionize CLI

Connectivity_Options__-_Tunnel.jpeg