Features

TestingBot Tunnel

Local Testing Security
Install our free Java based Tunnel.
Windows, Linux, BSD and macOS supported.
Download Testingbot Tunnel v.4.0
SHA1 Checksum: 6bac02b92e1eb0e96e49d02d66cbccf384f433de

v.4.0 released December 17, 2024 (Requires Java 8 or higher)
Source code on GitHub
Maven groupId: com.testingbot | artifactId: TestingBotTunnel | version: 4.0
Docker: docker pull testingbot/tunnel

Whether you want to test your website on your local computer (localhost), on a staging server inside your private network or on a computer across VPN, the TestingBot Tunnel makes all of this possible in a secure and reliable way.

You will no longer need to open up ports on your firewall or whitelist the TestingBot IP range to run tests on your staging environment. Below are some of the key features of the TestingBot Tunnel.

  • Fast: We cache static content on our side of the tunnel, reducing traffic and improving performance.
  • Secure: When you initiate the Tunnel, a dedicated VM server is created just for you, remaining active only for the duration of the session.
  • Robust: Full HTTP(s) + WebSockets support, built with Java for stability and performance.
  • Easy: Simple to set up and use.

Run tests in your local environment

The Tunnel makes it easy to run tests with TestingBot in your private staging environment.

Whether you're testing a new feature or a major code refactor, the Tunnel allows you to easily run regression tests and ensure everything still works as expected. Just point your tests to http://localhost on port 4445, instead of connecting to our grid at https://hub.testingbot.com.

The Tunnel is a Java-based program (.jar) that includes a secure HTTP(s) + WebSocket proxy, which relays requests to the TestingBot browser and device grid.

Optimized for Speed

Setting up a Tunnel means we provision a dedicated VM server just for you, which takes no longer than a minute to launch.

On our end, we use an accelerator that caches static content passing through the tunnel, speeding up the process.

The Tunnel uses compression to minimize the traffic going through the tunnel.

You can run multiple tunnels with a single account, allowing you to dedicate several machines on your private network to different tunnels. This setup ensures High Availability for your tests and services.

Secure Tunnel

All requests to and from our servers are securely routed through the Tunnel, which is built on the SSH protocol.

A dedicated VM is provisioned just for you, and once your tests are complete, both the Tunnel and the VM server are automatically destroyed.

Robust Tunnel

The Tunnel is designed to handle heavy traffic, even during parallel testing, ensuring reliable performance.

Built with Java, the Tunnel runs on any standard JVM.

It supports HTTP, HTTPS, WebSockets, SSE, HTTP/1, HTTP/2 and HTTP/3 protocols.

The standalone Tunnel application is compatible with all major operating systems: Windows, Linux, and macOS.

Easy Setup

Setting up and using the Tunnel is easy.
Download the .jar file from our website and run it from your commandline, or use the provided Docker image (testingbot/tunnel).

Replace the API_KEY and API_SECRET with your own key and secret.
Once your Tunnel is ready, you will see the message "You may start your tests."

The Tunnel creates a ~/.testingbot file on your local system to store the API_KEY and API_SECRET

System Requirements

The system requirements depend on how you are going to use the tunnel.
If you intend to do parallel testing, you will need to increase the CPU and RAM of the machine running the tunnel.

A machine with 4GB ram and 2 CPU cores should run the Tunnel just fine.

Shutting down tunnel

For a proper shutdown, it's recommended to exit the Tunnel gracefully. If not, the Tunnel may remain active in our system because we did not receive a shutdown command.

To do a graceful exit, please use CTRL+C in the process window or remove the TestingBot PID file. This will trigger a graceful exit, send the shutdown command to TestingBot and clean up everything.

Alternatively, you can send a kill -SIGUSR1 signal to the PID of the Tunnel process.

Tunnel Clients

We have created a NodeJS based launcher which you can use in your NodeJS tests and projects:
testingbot-tunnel-launcher

TestingBot Tunnel Diagram