alt.hn

3/16/2026 at 1:11:52 AM

I built an ephemeral P2P chat with WebRTC, without servers

https://ephemchat.vercel.app/

by zRinexD

3/16/2026 at 2:54:22 AM

THis is not without servers, you still use a signaling server for TURN.

If you want true serverless you need a side channel to copy the offer/response, e.g. tell the user's to copy paste them as base64 thorugh whatsapp manually or something (https://github.com/pirate/webrtcchat).

by nikisweeting

3/16/2026 at 9:27:59 AM

I wrote a webrtc chat prototype once that used a blockchain contract for the offer/response.

It was cool but a little slow and I moved onto other side projects.

by ssss11

3/16/2026 at 7:00:24 PM

Could send the offer/response over Waku protocol, some people have experimented with that to good effect.

by michaelsbradley

3/16/2026 at 2:48:33 AM

You should mention that it uses PeerJS. That's not without servers. PeerJS runs their own signaling server which you are relying on to connect your peers.

by elwebmaster

3/16/2026 at 2:13:35 AM

This is great, thanks! Would you accept a Github pull request to translate it to English and several other languages?

by atmanactive

3/16/2026 at 2:46:15 AM

Absolutely! I'd love to make this accessible to everyone. English translation would be a great start. Let's coordinate on GitHub issues.

by zRinexD

3/16/2026 at 3:16:49 AM

Matrix was once working on something similar, I wonder what the latest status is.

In general, things like this are a great way around current pushes for age verification and mandatory surveillance. Give your friends a link to this, or even a web archive via USB stick, and chat directly without intermediaries. No need to run a server.

(Others pointed out you still need a TURN server. True but hopefully there’s a P2P solution for this.)

by iamnothere

3/16/2026 at 2:50:39 AM

- does the room vanish after the last user exits? Seems like it?

- can the room code be tacked on to the url/slug?

by indigodaddy

3/16/2026 at 2:17:48 AM

What about use of TURN, entirely avoided?

by michaelsbradley

3/16/2026 at 3:32:43 AM

Lol do your DD properly before posting

by villgax

3/16/2026 at 3:47:38 AM

[flagged]

by stainlu

3/16/2026 at 1:11:52 AM

I wanted to be able to talk to anyone in the world without relying on any company's servers. No censorship, no rules, no limits except the ones I set in my own room. So I built this.

No signup, no registration. Just create a room with a password, share the code, and anyone can join directly. Everything is peer-to-peer, ephemeral, and disappears when you close the tab.

Would love to hear what you think. Code is open source. Link: https://ephemchat.vercel.app/ Source code: https://github.com/zzrinexd/EphemChat

by zRinexD

3/16/2026 at 7:15:36 AM

"No X, No Y"

Thanks for admitting you made heavy use of LLMs and did not read the code. Why should I care?

by ramon156

3/16/2026 at 2:14:23 AM

Many users in the world are behind CGNAT or symmetrical NAT, and if both sides are, they will not be able to use WebRTC unless there is a TURN relay server involved. Does your software have a way to account for this?

by ranger_danger

3/16/2026 at 2:45:26 AM

Great question! Currently it uses Google's public STUN servers, which works for ~85% of connections. For the remaining cases, I'm planning to add a community-maintained list of TURN servers or a P2P fallback mechanism.

by zRinexD

3/16/2026 at 3:21:44 AM

You could look into DHT as a way to distribute info about connected nodes, and maybe nodes with the right firewall setup could opt in to being TURN servers.

by iamnothere