Categorygithub.com/superfly/wormhole
modulepackage
0.7.0
Repository: https://github.com/superfly/wormhole.git
Documentation: pkg.go.dev

# README

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

FeatureStatus
SSH TunnelSupported
TCP TunnelExperimental - currently lacking some auth
TLS TunnelExperimental - currently lacking some auth
HTTP2 TunnelExperimental - currently lacking some auth
Local Endpoint over TCPSupported
Local Endpoint over TLSSupported
Single Tunnel Type per WH ServerSupported
Multiple Tunnel Types per WH ServerPending #10
Healthcheck for Local EndpointPending #33
WH Server Shared Port TLS+SNI forwardingSupported

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Package net is based on [go-conntrack](https://github.com/mwitkow/go-conntrack).
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

NewProcess returns the Process to execute a named program.
StartLocal ...
StartRemote ...

# Structs

Process is a wrapper around external program It handles execution and shutdown of a program and can notify an optional io.Closer when a program is terminated.