superfly / wormhole

Fly.io secure tunnel

Home Page:https://fly.io/docs/#agents

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Fly.io secure tunnel

https://fly.io/docs/#agents

License:Apache License 2.0


Languages

Language:Go 94.9%Language:Shell 3.3%Language:Makefile 1.8%Language:Dockerfile 0.0%