Show HN: A P2P messenger with dual network modes (Fast and Tor)
by Realman78 on 4/2/2026, 3:32:45 PM
Hello HN,<p>I have been working on a desktop P2P messenger called Kiyeovo for the last ~8 months, and I just published its beta version.<p>Quick backstory: It started out as a CLI application for my Graduate Thesis, where I tried to make the most secure and private messenger application possible. Then, I transformed it into a desktop application, gave it "clearnet" support and added a bunch of features.<p>Short summary:<p>The app runs in 2 completely isolated modes:<p>- fast mode: relay/DCUtR -> lower latency, calls support<p>- anonymous mode: Tor message routing -> slower, anonymous<p>These modes use different protocol IDs, DHT namespaces, pubsub topics and storage scopes so there’s no data crossover between them.<p>Messaging works peer-to-peer when both parties are online, but falls back to DHT "offline buckets" when one of them is not. To ensure robustness, messages are ACK-ed and deleted after being read.<p>Group chats use GossipSub for realtime messaging. Group messages are also saved to offline buckets in order for offline users to be able to read them upon logging in. Kick/Join/Leave events are also propagated using the DHT. Group metadata and all offline data is of course encrypted.<p>Other features: Chats are E2E, file sharing is supported, 1:1 audio/video calls are supported (only in fast mode though, using WebRTC)<p>Tradeoffs: Tor has noticeable latency, offline delivery is not immediately guaranteed, but rather "eventually consistent"; beta version does not have group calls yet.<p>I’d appreciate feedback, that's why I posted this as a beta version<p>Repo: <a href="https://github.com/Realman78/Kiyeovo" rel="nofollow">https://github.com/Realman78/Kiyeovo</a>
https://github.com/Realman78/Kiyeovo/
Comments
by: kvisner
So most messaging apps rely on a phone number or centralized server to provide a means of making atleast the initial connection. In a purely P2P messaging system, how do I, as a user, find the other person I might want to talk to?
4/2/2026, 10:21:55 PM
by: blamestross
I don't recommend DHTs with public participants being made from scratch. Use mainline bittorrent DHT instead. Small networks are really easy to eclipse and censor.<p>DHTs of trusted participants are great.
4/2/2026, 9:49:19 PM
by: kopitev174
I worked on a p2p group chat app for a short time (no central server, same as this), but the group updates were a real problem. how do they get distributed?
4/2/2026, 4:19:20 PM