Tunnelify is a deployable proxy server and tunnel written in go
Installing | Quickstart | Configuration
You can install tunnelify by manually downloading the executable for your operating system via the releases page with:
$ wget https://github.com/kofoworola/tunnelify/releases/download/v0.1.0/tunnelify_0.1.0_mac_x86_64.tar.gz
Then extract it to your preferred location with:
$ tar -xf https://github.com/kofoworola/tunnelify/releases/download/v0.1.0/tunnelify_0.1.0_mac_x86_64.tar.gz
You can use go get to compile and install tunnelify directly to your $GOPATH/bin
$ go get github.com/kofoworola/tunnelify
After installing tunnelify, run this to start up the proxy:
$ tunnelify start <PATH TO CONFIG FILE>
Now the proxy is listening on whatever value is set in your config's server.host
value and is proxying every request sent through it.
Recommended configuration format is json, but tunnelify also supports toml and yaml.
Config values can also be set via Environment variables. For example, to set the value of server.host
via
Environments, update the value of the SERVER_HOST
; essentially replace all .
in the key with _
and
change to upper case.
Name | Type | Description | Default |
---|---|---|---|
debug |
boolean | If set to true, debug log will be sent along side warning and error logs | false |
server.port |
string | Port the proxy's server will listen on | null |
server.auth |
[]string | Array of allowed Basic authorization strings in the form user-id:password |
[] |
server.health.status |
int | Status code to respond with when liveness checks (Get requests to server.host ) are made, an empty status code means tunnelify will not respond to liveness checks |
nil |
server.health.path |
string | URL path to listen to for liveness checks | / |
server.health.body |
string | Body of response to liveness checks | "" |
server.timeout |
duration | Amount of time the proxy will attempt to establish an outbound connection for | 30s |
hideIP |
boolean | Hide the IP of the source of the request | false |
logging |
[]string | An array of file or URL paths to write logging to (logs are written to stderr regardless |
[] |
allowedIP |
[]string | An array of IPs that should be allowed to access the server. Nil or empty means no IP filtering will be in place | [] |