TestingBot Tunnel

test your internal website
Install our free Java based Tunnel.
Windows, Linux, BSD and OS X supported.

v.2.8 released June 11, 2018 (Requires Java 8 or higher)
Source code on GitHub
Maven groupId: com.testingbot | artifactId: TestingBotTunnel | version: 2.8

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, our 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 our IP range to run tests on your staging environment. Below are some of the features of the TestingBot Tunnel:


  • Fast: at our end of the tunnel we keep a cache of static content, to reduce traffic inside the tunnel.
  • Secure: when you start the Tunnel, a pristine VM server is booted just for you and will last until you end the tunnel.
  • Robust: full HTTP(s) support, coded in Java
  • Easy: to set up and use.

Run tests in your local environment

The Tunnel makes it easy to run Selenium tests in your private staging environment.
You might want to test a new feature or a big refactor of your local code, to make sure all regression tests still pass.
With our Tunnel this is very easy to do. All you need to do is point your tests to http://localhost and port 4445 instead of using our grid http://hub.testingbot.com port 4444.

The Tunnel is a Java based program (jar) which contains our very own secure HTTP(s) proxy, which will relay requests to our grid.
This way a browser on one of our instances can easily fetch webpages through the tunnel.

Optimized for Speed

Setting up a Tunnel means we boot a pristine VM server just for you. This takes about a minute to launch.

We added an accelerator on our end of the tunnel, which will cache static content flowing through the tunnel.

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

It's possible to run multiple tunnels with one account. This means you can dedicate a number of machines on your private network to run a number of tunnels.

This makes for a great High-Availability setup.

Secure Tunnel

Every request to and from our servers will pass through the Tunnel, which is based on the SSH protocol.
A fresh VM is booted up just for you, and when your tests are finished, the tunnel and VM server will be destroyed.

Robust Tunnel

We've built a strong Tunnel which can handle a lot of traffic, even during parallel testing.

The Tunnel is built with Java and runs on any standard JVM.

Both HTTP and HTTPS usage is supported inside the tunnel.


The standalone tunnel application runs on all major Operating Systems: Windows, Linux and Mac OS X.

Easy Setup

Setting up and using the Tunnel is easy.
Download the JAR file from our website and run it on your commandline.

All you need to do is replace the API_KEY and API_SECRET with your own key and secret.
You will see "You may start your tests" when your Tunnel is ready.


The Tunnel will create a ~/.testingbot file on your local system where it saves the API_KEY and API_SECRET.
This way, you can save the necessary credentials in the file and then just start the tunnel without passing credentials to the tunnel.

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.


By default, a machine with 4GB ram and 3GHz processor should be enough.

Shutting down tunnel

It is recommended to do a graceful exit of the tunnel every time, otherwise the tunnel will remain active in our system since we never received 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.

Tunnel Utilities

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