wormhole

package module
v0.5.33 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2017 License: Apache-2.0 Imports: 20 Imported by: 0

README

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.7+

go get github.com/Masterminds/glide
mkdir -p $GOPATH/github.com/superfly
cd $GOPATH/src/github.com/superfly
git clone git@github.com:superfly/wormhole.git
cd wormhole
glide install
go build github.com/superfly/wormhole/cmd/wormhole

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StartLocal

func StartLocal(cfg *config.ClientConfig)

StartLocal ...

func StartRemote

func StartRemote(cfg *config.ServerConfig)

StartRemote ...

Types

type Process

type Process struct {
	// contains filtered or unexported fields
}

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.

func NewProcess

func NewProcess(logger *logrus.Logger, program string, closer io.Closer) *Process

NewProcess returns the Process to execute a named program

func (*Process) Run

func (p *Process) Run() (err error)

Run starts the specified command and returns without waiting for the program to complete. It sets up a os.Signal listener and passes SIGNINT and SIGTERM to the running program. It also closer the Closer if present.

Directories

Path Synopsis
cmd
Package conn is based on [go-conntrack](https://github.com/mwitkow/go-conntrack) Package conn is based on [go-conntrack](https://github.com/mwitkow/go-conntrack)
Package conn is based on [go-conntrack](https://github.com/mwitkow/go-conntrack) Package conn is based on [go-conntrack](https://github.com/mwitkow/go-conntrack)
Package net is based on [go-conntrack](https://github.com/mwitkow/go-conntrack) Package net is based on [go-conntrack](https://github.com/mwitkow/go-conntrack)
Package net is based on [go-conntrack](https://github.com/mwitkow/go-conntrack) Package net is based on [go-conntrack](https://github.com/mwitkow/go-conntrack)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL