Steffen Vogel 0de0a6ffdf wip: broken libp2p backend
Signed-off-by: Steffen Vogel <post@steffenvogel.de>
2022-05-08 13:39:08 +02:00
2022-02-08 14:36:53 +01:00
2022-05-08 12:57:03 +02:00
2022-05-08 12:06:34 +02:00
2022-05-08 13:00:18 +02:00
2022-05-08 13:39:08 +02:00
2022-05-08 11:41:58 +02:00
2022-01-23 09:25:32 +01:00
2022-05-05 13:13:14 +02:00
2022-05-05 13:13:14 +02:00
2021-12-15 18:03:58 +01:00
2022-05-08 11:41:43 +02:00

wice logo

Wireguard Interactive Connectivity Establishment

GitHub Workflow Status goreportcard Codacy grade Codacy coverage libraries.io License GitHub go.mod Go version Go Reference

🚧 ɯice is currently still in an Alpha state and not usable yet

ɯice is a user-space daemon managing Wireguard interfaces to establish peer-to-peer connections in harsh network environments.

It relies on the awesome pion/ice package for the interactive connectivity establishment as well as bundles the Go user-space implementation of Wireguard in a single binary for environments in which Wireguard kernel support has not landed yet.

Getting started

To use ɯice follow these steps on each host:

  1. Install ɯice: go install riasc.eu/wice/cmd/wice@latest
  2. Configure your Wireguard interfaces using wg, wg-quick or NetworkManager
  3. Start the ɯice daemon by running: sudo wice daemon

Make sure that in step 2. you have created Wireguard keys and exchanged them by hand between the hosts. ɯice does not (yet) discover available peers. You are responsible to add the peers to the Wireguard interface by yourself.

After the ɯice daemons have been started, they will attempt to discover valid endpoint addresses using the ICE protocol (e.g. contacting STUN servers). These ICE candidates are then exchanged via the signaling server and ɯice will update the endpoint addresses of the Wireguard peers accordingly. Once this has been done, the ɯice logs should show a line state=connected.

Documentation

Documentation of ɯice can be found in the docs/ directory.

Authors

  • Steffen Vogel (@stv0g, Institute for Automation of Complex Power Systems, RWTH Aachen University)

Join us

Please feel free to join our Slack channel #wice in the Gophers workspace and say 👋.

License

ɯice is licensed under the Apache 2.0 license.

Copyright 2022 Institute for Automation of Complex Power Systems, RWTH Aachen University

Funding acknowledgement

European Flag The development of k8s-netem has been supported by the ERIGrid 2.0 project of the H2020 Programme under Grant Agreement No. 870620

Description
A zeroconf peer-to-peer mesh VPN using Wireguard® and Interactive Connectivity Establishment (ICE)
Readme Apache-2.0 27 MiB
Languages
Go 92.3%
Nix 2.2%
JavaScript 2%
Shell 1.9%
C 0.7%
Other 0.9%