I built an ephemeral P2P chat with WebRTC, without servers

ephemchat.vercel.app

14 points by zRinexD 4 hours ago


nikisweeting - 2 hours ago

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).

elwebmaster - 3 hours ago

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.

zRinexD - 4 hours ago

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

atmanactive - 3 hours ago

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

iamnothere - 2 hours ago

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.)

indigodaddy - 2 hours ago

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

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

michaelsbradley - 3 hours ago

What about use of TURN, entirely avoided?

villgax - 2 hours ago

Lol do your DD properly before posting

stainlu - 2 hours ago

[flagged]