Skip to content

enricomariafusi/meshbird

 
 

Folders and files

NameName
Last commit message
Last commit date
Jul 2, 2017
Jan 25, 2016
Jan 30, 2016
Mar 13, 2017
Jul 2, 2017
Jan 24, 2016
Jan 24, 2016
Apr 27, 2016
Jan 31, 2016
Jan 23, 2016
Feb 14, 2017
Mar 13, 2017
Jan 30, 2016
Jan 26, 2016
Feb 15, 2017
Jun 7, 2016
Jan 26, 2016

Repository files navigation

Meshbird

Meshbird - distributed private networking. Twitter, Website

MeshBird

Intro

Meshbird enables distributed private networking across geographically dispersed datacenters. With Meshbird senders can send data directly to recipients without the need for gateways or centralized servers. Meshbird is compatible across countries, cloud providers, and container technologies.

Meshbird encrypts all traffic, but currently uses AES-256 in unauthenticated CBC mode, which does not guarantee confidentiality. Meshbird's encryption is currently not suited for working with sensitive data, unless an additional layer of protection like SSH is used.

For example, with a single command, Meshbird can be used to create a private network connecting a Docker container in DigitalOcean's in New York data center to a laptop in a Kyrgyzstan café.

Supported OS

  • Linux (386, amd64, arm)
  • Darwin (386, amd64)

Demo of ssh connection via our secure tunnel

Demo install and setup Meshbird on DigitalOcean droplets and home laptop for creating distributed private network and provide access to ssh server over Meshbird network.

SSHDemo

Full video can be found at https://www.youtube.com/watch?v=sW5ZIcfX7w8

Other demos

Technologies used

  1. DHT - distributed node discovery (based on seed IP address list)
  2. STUN - NAT traversal
  3. AES-256 - traffic encryption
  4. uTP - node communication with low-latency congestion control

Roadmap

  1. Better encryption
  2. Windows support
  3. IPv6
  4. Much more
  5. IP Load Balancing
  6. HTTP Load Balancing
  7. DNS Service Discovery
  8. Additional peer discovery plugins

Quick Start

Install

$ curl http://meshbird.com/install.sh | sh

or if you have Go compiler

$ go get github.com/meshbird/meshbird

Generate new network secret key

$ meshbird new

Join to the private network with interface tunX

$ MESHBIRD_KEY="<key>" meshbird join

Ideas

Any ideas feel free to send to email: miolini@gmail.com.

About

Distributed private networking

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.1%
  • Shell 1.7%
  • Makefile 0.2%