frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: A P2P messenger with dual network modes (Fast and Tor)

https://github.com/Realman78/Kiyeovo/
23•Realman78•7h ago
Hello HN,

I have been working on a desktop P2P messenger called Kiyeovo for the last ~8 months, and I just published its beta version.

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.

Short summary:

The app runs in 2 completely isolated modes:

- fast mode: relay/DCUtR -> lower latency, calls support

- anonymous mode: Tor message routing -> slower, anonymous

These modes use different protocol IDs, DHT namespaces, pubsub topics and storage scopes so there’s no data crossover between them.

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.

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.

Other features: Chats are E2E, file sharing is supported, 1:1 audio/video calls are supported (only in fast mode though, using WebRTC)

Tradeoffs: Tor has noticeable latency, offline delivery is not immediately guaranteed, but rather "eventually consistent"; beta version does not have group calls yet.

I’d appreciate feedback, that's why I posted this as a beta version

Repo: https://github.com/Realman78/Kiyeovo

Comments

kopitev174•6h ago
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?
Realman78•5h ago
The group creator distributes the updates to each group member individually (each pair of users has their own buckets). Of course, if the member is not online for a long time, the update does not just get lost, it gets republished and will continue to republish until the member has read the update. Did I answer your question?
blamestross•1h ago
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.

DHTs of trusted participants are great.

noman-land•28m ago
How does one find large DHTs? Is there anything connecting them all?
blamestross•11m ago
"Mainline DHT" is the primary one. It backs magnet links and has resisted censorship for over a decade. Largest most robust group of cooperating computers there is.

You can reliably use it to store arbitrary key-value pairs up to 1 in in size.

https://en.wikipedia.org/wiki/Mainline_DHT

Realman78•8m ago
Good question. The 4 initial bootstrap nodes that I provided (in the README) are all connected to each other. If everyone connects to all of them, we are all basically on the same network instead of on "isolated islands"
kvisner•39m ago
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?
blamestross•16m ago
I'm a fan of "face to face mutual qr code key exchange." I should implement that someday.

Show HN: A P2P messenger with dual network modes (Fast and Tor)

https://github.com/Realman78/Kiyeovo/
25•Realman78•7h ago•8 comments

Show HN: SyNumpy – a Header only C++17 library for working with NumPy Arrays

https://github.com/symisc/sy-numpy-cpp
9•symisc_devel•4h ago•1 comments

Show HN: I built a DNS resolver from scratch in Rust – no DNS libraries

https://github.com/razvandimescu/numa
84•rdme•12h ago•51 comments

Show HN: I tested 15 free AI models at building real software on a $25/year VPS

https://georgelarson.me/writing/2026-04-03-25-dollar-ai-lab/
6•j0rg3•5h ago•0 comments

Show HN: Dull – Instagram Without Reels, YouTube Without Shorts (iOS)

https://getdull.app
138•kasparnoor•1d ago•108 comments

Show HN: RiceVM – A Dis virtual machine and Limbo compiler in Rust

4•habedi0•3h ago•0 comments

Show HN: Git bayesect – Bayesian Git bisection for non-deterministic bugs

https://github.com/hauntsaninja/git_bayesect
326•hauntsaninja•5d ago•43 comments

Show HN: Most products have no idea what their AI agents did yesterday

https://velt.dev/activity-logs
3•rakeshgoyal•4h ago•0 comments

Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)

https://github.com/yannick-cw/korb
196•wazHFsRy•3d ago•80 comments

Show HN: Mac-hardware toys, control your Mac's hardware like a modular synth

https://github.com/pirate/mac-hardware-toys
2•nikisweeting•5h ago•1 comments

Show HN: Abject: the first self-aware object runtime

https://blog.mempko.com/an-abject-horror/
7•mempko•10h ago•2 comments

Show HN: I ran 28 OpenClaw instances as a team for 2 months

https://github.com/CorellisOrg/corellis
11•TJ_FLEET•10h ago•5 comments

Show HN: Zerobox – Sandbox any command with file, network, credential controls

https://github.com/afshinm/zerobox
134•afshinmeh•3d ago•90 comments

Show HN: Portcullis, a review gate for curl|bash

https://github.com/imjasonh/portcullis
5•ImJasonH•6h ago•1 comments

Show HN: Postgres extension for BM25 relevance-ranked full-text search

https://github.com/timescale/pg_textsearch
197•tjgreen•2d ago•57 comments

Show HN: AI-first PostgreSQL client for Mac

https://guillim.github.io/products/paul
4•Guillim•7h ago•0 comments

Show HN: 1-Bit Bonsai, the First Commercially Viable 1-Bit LLMs

https://prismml.com/
415•PrismML•2d ago•153 comments

Show HN: Flight-Viz – 10K flights on a 3D globe in 3.5MB of Rust+WASM

https://flight-viz.com
81•coolwulf•1d ago•44 comments

Show HN: Forkrun – NUMA-aware shell parallelizer (50×–400× faster than parallel)

https://github.com/jkool702/forkrun
149•jkool702•6d ago•41 comments

Show HN: Open-source distributed quantum compute network

https://quip.network
11•cadillion•8h ago•10 comments

Show HN: NASA Artemis II Mission Timeline Tracker

https://www.sunnywingsvirtual.com/artemis2/timeline.html
90•AustinDev•19h ago•15 comments

Show HN: Real-time dashboard for Claude Code agent teams

https://github.com/simple10/agents-observe
73•simple10•1d ago•24 comments

Show HN: Quillium, the non-linear writing app

https://quillium.bryanhu.com/
4•thatxliner•9h ago•0 comments

Show HN: We open-sourced our content writing workflow as a Claude Code skill

https://www.npmjs.com/package/claude-content-writer
15•arximughal•20h ago•7 comments

Show HN: Semantic atlas of 188 constitutions in 3D (30k articles, embeddings)

https://constitutionalmap.ai/en
10•joaoli131•20h ago•3 comments

Show HN: Claude Code rewritten as a bash script

https://github.com/jdcodes1/claude-sh
51•rpst•1d ago•14 comments

Show HN: I run a full software company solo with Claude Code agents

https://theonemancompany.com/
4•martinovigiani•11h ago•0 comments

Show HN: Hacker News, summarized and printed to your local printer

https://github.com/thejchap/jc-news
5•jchap•11h ago•0 comments

Show HN: QWERTY mini Pro – Why a 2-row, 16-key keyboard works better

https://k-keyboard.com/Why-2-Row-16-Key-Structure
8•QWERTYmini•3d ago•7 comments

Show HN: Sycamore – next gen Rust web UI library using fine-grained reactivity

https://sycamore.dev
94•lukechu10•1d ago•75 comments