testingbot-tunnel-launcher
Version:
A wrapper around TestingBot's Tunnel
143 lines (98 loc) • 3.26 kB
Markdown
# testingbot-tunnel-launcher
[](https://www.npmjs.com/package/testingbot-tunnel-launcher)
[](https://github.com/testingbot/testingbot-tunnel-launcher/actions/workflows/test.yml)
A library to download and launch [TestingBot Tunnel](https://testingbot.com/support/other/tunnel).
## Installation
```sh
npm install testingbot-tunnel-launcher
```
## Usage
### Simple Usage
```javascript
const testingbotTunnel = require('testingbot-tunnel-launcher');
testingbotTunnel({
apiKey: 'key',
apiSecret: 'secret',
verbose: true
}, function (err, tunnel) {
if (err) {
console.error(err.message);
return;
}
console.log("Tunnel ready");
tunnel.close(function () {
console.log("Tunnel closed completely");
})
});
```
### Advanced Usage
```javascript
const testingbotTunnel = require('testingbot-tunnel-launcher')
const options = {
// The TestingBot API key which you can get for free, listed in the TestingBot member area
apiKey: 'key',
// The TestingBot API secret which you can get for free, listed in the TestingBot member area
apiSecret: 'secret',
// More verbose output from the tunnel
verbose: true,
// Port on which the tunnel Selenium relay will listen for
// requests. Default 4445. (optional)
se-port: null,
// Proxy host and port the tunnel can use to connect to an upstream proxy
// e.g. "localhost:1234" (optional)
proxy: null,
// a comma-separated list of domains that
// will not go through the tunnel. (optional)
fast-fail-regexps: null,
// Write logging output to this logfile (optional)
logfile: null,
// Change the tunnel version - see versions on https://testingbot.com/support/other/tunnel/changelog.html
tunnelVersion: "4.0",
// Gives this tunnel a unique identifier
tunnelIdentifier: "myIdentifier"
};
testingbotTunnel(options, function(err, tunnel) {
console.log("Started Tunnel");
tunnel.close(function () {
console.log("Closed tunnel");
});
});
```
### Credentials
You can pass the [TestingBot credentials](https://testingbot.com/members) as `apiKey` and `apiSecret` in the options.
You can also create a `.testingbot` file in your `$HOME` directory, with `apiKey:apiSecret` as contents.
## Testing
```
npm test
```
## Changelog
### v1.1.13
- Add support for `noBump`
### v1.1.12
- Improve error handling
### v1.1.11
- Add support for `tunnelIdentifier`
- Improve parsing of arguments passed to the tunnel
### v1.1.11
- Throw error when user does not have any minutes left
### v1.1.9
- Add corrupt download check for tunnel binary
### v1.1.8
- Update dependencies
### v1.1.0
- Get rid of exit handlers, they're causing issues
- Add tests
- Update dependencies
### v1.0.7
- Properly handle SIGINT, exit and uncaughtException
### v1.0.6
- Small fixes
- Display new version/invalid credentials
### v1.0.5
- Add `tunnelVersion` support to specify which version of the tunnel you want to use
### v1.0.1 - v1.0.4
- Minor fixes
### v1.0.0
- First release of testingbot-tunnel-launcher
## MIT license
Copyright (c) TestingBot <info@testingbot.com>