I’ve been working on this p2p protocol for a few years now as a sort of hobby. I’ve recently wrapped it up as a GTK app. I’m still working on getting it fully documented, as the protocol mostly exists in code and floating around in my head. I spew it out every now and then verbally, but still need to capture it in writing.
It lacks a lot of features that you'd expect, like encryption and group messaging, but, I wanted to share it because I’ve pushed really hard to get it to a minimally useful state to force myself to finally “finish” one of my ridiculous side projects.
Check it out on GitHub: https://github.com/zacstewart/comm-gtk A pre-built MacOS app is in the releases for download.
The underlying protocol repo is here: https://github.com/zacstewart/comm
The network layer is based on the design of the Mainline DHT described in BEP 5[1]. Atop that is built a messaging layer which handles all the relaying, message acknowledgement, storing messages for delivery later, etc.
Thanks for taking a look!