/p2p

P2P Cloud project allows users to build their private networks.

Primary LanguageGoGNU General Public License v3.0GPL-3.0

P2P Cloud

Build Status - master Build status codecov Go Report Card GoDoc

P2P Cloud project allows users to build their private networks.

Building

p2p is shipped with a Makefile, so building it a pretty easy task. You just run

make

command to buld a single binary for current platform or you can try to

make all

in order to build p2p for linux, windows and macos

Running

MacOS users should install TUN/TAP driver and create a config.yaml file with the following line: iptool: /sbin/ifconfig

Windows users should install TAP-windows NDIS6 driver from OpenVPN suite

p2p is managed by a daemon that controls every instance of your private networks (if you're participating in a different networks at the same time). To start a daemon simply run p2p daemon command. Note, that application will run in a foreground mode.

p2p daemon

Now you can start manage the daemon with p2p command line interface. To start a new network or join existing you should run p2p application with a -start flag.

p2p start -ip 10.10.10.1 -hash UNIQUE_STRING_IDENTIFIER

You should specify an IP address which will be used by your virtual network interface. All the participants should have an agreement on ranges of IP addresses they're using. In the future this will become unnecessary, because DHCP-like service will be implemented.

With a -hash flag user should specify a unique name of his network.

Instance of P2P network can be stopped with use of stop command

p2p stop -hash UNIQUE_STRING_IDENTIFIER

To learn more about available commands run

p2p help

or append name of command to print detailed help about this command. For example:

p2p help daemon

will display detailed information about daemon command

Development & Branching Model

  • 'master' is always stable.
  • 'dev' contains latest development snapshot that is under heavy testing