Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/superfly/wormhole

Fly.io secure tunnel
https://github.com/superfly/wormhole

port-forwarding ssh-tunnel tls-tunnel tunnel tunnel-client tunnel-server

Last synced: 25 days ago
JSON representation

Fly.io secure tunnel

Awesome Lists containing this project

README

        

[![Fly.io Community Slack](https://fly.io/slack/badge.svg)](https://fly.io/slack/)
[![Build Status](https://travis-ci.org/superfly/wormhole.svg?branch=master)](https://travis-ci.org/superfly/wormhole)

# 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

# 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](https://github.com/superfly/wormhole/issues/10) |
| Healthcheck for Local Endpoint | Pending [#33](https://github.com/superfly/wormhole/issues/33) |
| WH Server Shared Port TLS+SNI forwarding | Supported |