Skip to content
Fly.io secure tunnel
Go Shell Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add PR template Jun 7, 2017
api Rest API (#51) Mar 7, 2019
cmd/wormhole
config
integration
local Rest API (#51) Mar 7, 2019
messages messages: update to use messagepack Jan 14, 2018
net Rest API (#51) Mar 7, 2019
remote
scripts Rest API (#51) Mar 7, 2019
server Rest API (#51) Mar 7, 2019
session
testdata Scrubbed commit Jun 5, 2017
testing add makefile and fix fmt/vet/lint issues Jun 6, 2017
tls Rest API (#51) Mar 7, 2019
utils
.gitignore Require client certificate authentication by default for ingress TLS Feb 8, 2018
.travis.yml Rest API (#51) Mar 7, 2019
CHANGELOG.md
CODE_OF_CONDUCT.md Scrubbed commit Jun 5, 2017
Dockerfile try this docker image for ca certificates, might fix a server issue Jul 4, 2018
Dockerfile.dev
Gopkg.lock Rest API (#51) Mar 7, 2019
Gopkg.toml Rest API (#51) Mar 7, 2019
LICENSE re-add the LICENSE Jun 6, 2017
Makefile Rest API (#51) Mar 7, 2019
README.md README: update feature status Jan 11, 2018
integration_test.go Rest API (#51) Mar 7, 2019
local.go don't rate limit so violently and for so long on the server and don't… Jun 25, 2018
process.go Use appropriate shell to launch local server on Windows (#25) Oct 10, 2017
process_unix.go Use appropriate shell to launch local server on Windows (#25) Oct 10, 2017
process_windows.go Use appropriate shell to launch local server on Windows (#25) Oct 10, 2017
release.go
remote.go Rest API (#51) Mar 7, 2019
wormhole.png Adds lovely picture. (#14) Jul 18, 2017

README.md

Fly.io Community Slack Build Status

wormhole - Fly.io reverse Proxy

What is wormhole?

Wormhole is a reverse proxy that creates a secure tunnel between two endpoints.

Compiling

Wormhole requires Go1.8+

go get github.com/superfly/wormhole
cd $GOPATH/src/github.com/superfly/wormhole
make setup
make binaries

Running locally

brew install redis

# make sure redis-server is running

# Start server
./scripts/wormhole-server.sh

# Start clients (defaults to 1)
./scripts/wormhole-local.sh <NUM_CLIENTS>

# The tunnel will be accessible on a randomly chosen port (look at wormhole-server logs):
# [Feb 20 20:43:50]  INFO SSHHandler: Started session 29ff7b66abcc9871cdf1bc551f6e89728202f3e24e48675ecd9b8556a5dbd60b for Mats-MBP.local ([::1]:63169). Listening on: localhost:63170

Feature Status

Feature Status
SSH Tunnel Supported
TCP Tunnel Experimental - currently lacking some auth
TLS Tunnel Experimental - currently lacking some auth
HTTP2 Tunnel Experimental - currently lacking some auth
Local Endpoint over TCP Supported
Local Endpoint over TLS Supported
Single Tunnel Type per WH Server Supported
Multiple Tunnel Types per WH Server Pending #10
Healthcheck for Local Endpoint Pending #33
WH Server Shared Port TLS+SNI forwarding Supported
You can’t perform that action at this time.