frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

I built an ephemeral P2P chat with WebRTC, without servers

https://ephemchat.vercel.app/
13•zRinexD•2h ago

Comments

zRinexD•2h 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

ranger_danger•1h ago
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?
zRinexD•1h ago
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.
iamnothere•38m ago
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.
atmanactive•1h ago
This is great, thanks! Would you accept a Github pull request to translate it to English and several other languages?
zRinexD•1h ago
Absolutely! I'd love to make this accessible to everyone. English translation would be a great start. Let's coordinate on GitHub issues.
michaelsbradley•1h ago
What about use of TURN, entirely avoided?
elwebmaster•1h 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.
indigodaddy•1h ago
- does the room vanish after the last user exits? Seems like it?

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

nikisweeting•1h 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).

iamnothere•43m 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.)

villgax•27m ago
Lol do your DD properly before posting
stainlu•12m ago
The commenters pointing out that STUN/TURN servers are involved are technically right, but the privacy argument doesn't hinge on "no servers" -- it hinges on where the message content flows. A STUN server tells you your public IP. A TURN server relays encrypted packets it can't read. Neither sees your plaintext messages. The actual security property is that message content only exists on the two endpoints and disappears when the session ends.

The more precise framing would be "no servers that see your data" rather than "without servers." Every P2P system has a bootstrapping problem -- BitTorrent needs trackers or DHT, blockchains need seed nodes. The question is never "servers or no servers" but "what trust are you placing in the server." In WebRTC's case, the signaling server knows that two parties connected but not what they said. That's a meaningful privacy property even if it's not literally serverless.

Canada's bill C-22 mandates mass metadata surveillance of Canadians

https://www.michaelgeist.ca/2026/03/a-tale-of-two-bills-lawful-access-returns-with-changes-to-war...
464•opengrass•6h ago•123 comments

Chrome DevTools MCP

https://developer.chrome.com/blog/chrome-devtools-mcp-debug-your-browser-session
395•xnx•8h ago•170 comments

The 49MB web page

https://thatshubham.com/blog/news-audit
368•kermatt•8h ago•190 comments

What Is Agentic Engineering?

https://simonwillison.net/guides/agentic-engineering-patterns/what-is-agentic-engineering/
67•lumpa•2h ago•43 comments

LLM Architecture Gallery

https://sebastianraschka.com/llm-architecture-gallery/
286•tzury•11h ago•22 comments

LLMs can be exhausting

https://tomjohnell.com/llms-can-be-absolutely-exhausting/
114•tjohnell•7h ago•91 comments

The Linux Programming Interface as a university course text

https://man7.org/tlpi/academic/index.html
43•teleforce•4h ago•3 comments

//go:fix inline and the source-level inliner

https://go.dev/blog/inliner
122•commotionfever•4d ago•46 comments

A new Bigfoot documentary helps explain our conspiracy-minded era

https://www.msn.com/en-us/news/us/a-new-bigfoot-documentary-helps-explain-our-conspiracy-minded-e...
56•zdw•5h ago•36 comments

Separating the Wayland compositor and window manager

https://isaacfreund.com/blog/river-window-management/
243•dpassens•12h ago•118 comments

Stop Sloppypasta

https://stopsloppypasta.ai/
166•namnnumbr•10h ago•91 comments

Federal Right to Privacy Act – Draft legislation

https://righttoprivacyact.github.io
31•pilingual•2h ago•18 comments

AI tools are making me lose interest in CS fundamentals

36•Tim25659•1h ago•32 comments

How I write software with LLMs

https://www.stavros.io/posts/how-i-write-software-with-llms/
31•indigodaddy•2h ago•7 comments

What makes Intel Optane stand out (2023)

https://blog.zuthof.nl/2023/06/02/what-makes-intel-optane-stand-out/
190•walterbell•12h ago•123 comments

Glassworm is back: A new wave of invisible Unicode attacks hits repositories

https://www.aikido.dev/blog/glassworm-returns-unicode-attack-github-npm-vscode
235•robinhouston•14h ago•149 comments

Cannabinoids remove plaque-forming Alzheimer's proteins from brain cells (2016)

https://www.salk.edu/news-release/cannabinoids-remove-plaque-forming-alzheimers-proteins-from-bra...
80•anjel•3h ago•47 comments

SpiceCrypt: A Python library for decrypting LTspice encrypted model files

https://github.com/jtsylve/spice-crypt
9•luu•20h ago•0 comments

Quillx is an open standard for disclosing AI involvement in software projects

https://github.com/QAInsights/AIx
7•qainsights•2h ago•7 comments

What Every Computer Scientist Should Know about Floating-Point Arithmetic [pdf]

https://www.itu.dk/~sestoft/bachelor/IEEE754_article.pdf
5•jbarrow•4d ago•0 comments

Bandit: A 32bit baremetal computer that runs Color Forth [video]

https://www.youtube.com/watch?v=HK0uAKkt0AE
31•surprisetalk•3d ago•2 comments

The emergence of print-on-demand Amazon paperback books

https://www.alexerhardt.com/en/enshittification-amazon-paperback-books/
109•aerhardt•18h ago•77 comments

Learning athletic humanoid tennis skills from imperfect human motion data

https://zzk273.github.io/LATENT/
131•danielmorozoff•12h ago•28 comments

Nasdaq's Shame

https://keubiko.substack.com/p/nasdaqs-shame
219•imichael•5h ago•70 comments

An experiment to use GitHub Actions as a control plane for a PaaS

https://towlion.github.io
10•baijum•3h ago•3 comments

Bus travel from Lima to Rio de Janeiro

https://kenschutte.com/lima-to-rio-by-bus/
134•ks2048•4d ago•53 comments

A Visual Introduction to Machine Learning (2015)

https://r2d3.us/visual-intro-to-machine-learning-part-1/
327•vismit2000•17h ago•30 comments

A Plain Anabaptist Story: The Hutterites

https://ulmer457718.substack.com/p/a-plain-anabaptist-story-the-hutterites
31•gaplong•3d ago•2 comments

Type systems are leaky abstractions: the case of Map.take!/2

https://dashbit.co/blog/type-systems-are-leaky-abstractions-map-take
35•tosh•4d ago•19 comments

I built an ephemeral P2P chat with WebRTC, without servers

https://ephemchat.vercel.app/
13•zRinexD•2h ago•13 comments