# README
eduP2P
An authenticated peer-to-peer network overlay.
Development notes can be found in DEVELOPING.md
.
Library usage can be found in toversok/
.
A proof-of-concept minimal implementation (wrapping the library) can be found in cmd/dev_client/
.
eduP2P is currently in the proof-of-concept stage, no fully fledged clients exists yet, but there is a working
terminal-based development program in cmd/dev_client/
, as mentioned above.
Documentation on how to use the PoC (from scratch) can be found here
Design
Toversok - the internal common-component library - provides the core of the overlay network that makes peer-to-peer connections possible.
On a high level;
- It connects to a control server, to receive peer definitions, keys, assigned IP addresses of those peers, and information about relay servers.
- On-demand, it connects to one relay server permanently, and will connect to other relay servers on-demand when sending data to their attached peers.
- It will opportunistically try to establish direct connection to peers, using relays as a fallback.
For an in-depth overview of the design, you can look at ARCHITECTURE.md.
Funding
This project received funding through NGI Assure, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.