Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Add cunīcu #20

Open
stv0g opened this issue Oct 13, 2022 · 2 comments
Open

[Feature Request] Add cunīcu #20

stv0g opened this issue Oct 13, 2022 · 2 comments
Assignees
Labels
enhancement New feature or request one to watch A project that is too early in development to be included likely because configuration is too manual

Comments

@stv0g
Copy link

stv0g commented Oct 13, 2022

Hi @HarvsG,

I previously already opened a PR for adding wice as a new WireGuard mesh.
wice has now been renamed to cunīcu and has received more features which now allow it to build full meshes.
This includes peer discovery, and endpoint discovery, NAT traversal, and more.

Details

Description

cunīcu is a user-space daemon managing WireGuard® interfaces to establish a mesh of peer-to-peer VPN connections in harsh network environments.

To achieve this, cunīcu utilizes a signaling layer to exchange peer information such as public encryption keys, hostname, advertised networks and reachability information to automate the configuration of the networking links. From a user perspective, cunīcu alleviates the need of manual configuration such as exchange of public keys, IP addresses, endpoints, etc.. Hence, it adopts the design goals of the WireGuard project, to be simple and easy to use.

Thanks to Interactive Connectivity Establishment (ICE), cunīcu is capable to establish direct connections between peers which are located behind NAT firewalls such as home routers. In situations where ICE fails, or direct UDP connectivity is not available, cunīcu falls back to using TURN relays to reroute traffic over an intermediate hop or encapsulate the WireGuard traffic via TURN-TCP.

It relies on the awesome pion/ice package for ICE as well as bundles the a Go user-space implementation of WireGuard in a single binary for systems in which WireGuard kernel support has not landed yet.

With these features, cunīcu can be used to quickly build multi-agent systems or connect field devices such as power grid monitoring infrastructure into a fully connected mesh. Within the ERIGrid 2.0 project, cunīcu is used to interconnect smart grid laboratories for geographically distributed simulation of energy systems.

The project is currently actively developed by Steffen Vogel at the Institute for Automation of Complex Power Systems (ACS) of RWTH Aachen University

@stv0g stv0g added the enhancement New feature or request label Oct 13, 2022
@stv0g stv0g changed the title Add cunīcu [Feature Request] Add cunīcu Oct 13, 2022
@stv0g
Copy link
Author

stv0g commented Oct 13, 2022

I will prepare a PR soon :)

@HarvsG
Copy link
Owner

HarvsG commented Oct 13, 2022

Awesome :)

@HarvsG HarvsG added the one to watch A project that is too early in development to be included likely because configuration is too manual label Oct 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request one to watch A project that is too early in development to be included likely because configuration is too manual
Projects
None yet
Development

No branches or pull requests

2 participants