P2Party – Encrypted WebRTC Room URLs
Hi HN, I’ve been working for the past 10 months on p2party, a TypeScript/C/WASM library which you can find at https://github.com/p2party/p2party-js and demo at https://p2party.com , that lets you spin up an encrypted peer-to-peer mesh with nothing more than a shared URL. Why I built it: I wanted something between https://file.pizza and “ephemeral Signal chat”, but with my custom cryptographic idea (I know I know... WebRTC is already encrypted and it is easy to go wrong etc.). The project started as a toy for sharing large DAW files with my…
What it does
In the maker’s words, at launch
Hi HN, I’ve been working for the past 10 months on p2party, a TypeScript/C/WASM library which you can find at https://github.com/p2party/p2party-js and demo at https://p2party.com , that lets you spin up an encrypted peer-to-peer mesh with nothing more than a shared URL. Why I built it: I wanted something between https://file.pizza and “ephemeral Signal chat”, but with my custom cryptographic idea (I know I know... WebRTC is already encrypted and it is easy to go wrong etc.). The project started as a toy for sharing large DAW files with my bandmates (and to flex some applied crypto skills), then grew into a general toolkit. It is also a nice side project to test LLMs as companion coders and to know where the world is at right now regarding this subject (personal opinion - super small and well-defined tasks ok). The cryptography: The messages, either strings or files, get split and included into isomorphic chunks of 64kb which are stored in IndexedDB until they are sent. Each chunk has some metadata like file hash, name, Merkle proof etc., the actual information and then padding left and right with noisy data. The real info starts at random positions on each chunk. The whole thing is then e2e encrypted with ChaChaPoly1305 with sender ephemeral keys and sent in random order. Inspiration: To an observer of the message traffic, every chunk is isomorphic and contains a lot of useless info and some real ones. But to analyze it they need to store all the junk. The inspiration came from a principle of counter-surveillance that I learned from the adblock tool https://adnauseam.io . Caveat: Before sending the message, all the chunks need to be created so that the Merkle proofs can be calculated and the browser can send the chunks in random ordering. The p2p: I could not find a good example online of how to create a WebRTC mesh network so I built a tool for myself. It works acceptably now so that's why I uploaded it here after 10 months of working on it (on and off) :D The WASM: I had experience with compiling C to WASM when I developed this project in the past https://github.com/deliberative/crypto and I wanted the same efficiency gains here. Status: It works, but it is not security-audited yet → don’t trust it with your deepest secrets. API is stable enough to embed in your own apps. Open-source under AGPL-3.0. Try it here: https://p2party.com (open in two browsers or devices). Code is here: https://github.com/p2party/p2party-js. I'd love your feedback on everything! Enjoy!
Does the same job
all alternatives →
P2P File TransferJul 2026 · rootwin-project.github.io · ▲4Serverless, E2E encrypted P2P file transfer via WebRTC.
just f***ing send itJun 2026 · jfsendit.com · ▲155Send any file, any size, straight from browser to browser
- PTPeer-to-peer secure file transfer using WebRTC2016 · bitf.ly · ▲239
- SDSendfiles.dev – quick, secure P2P file transfer using WebRTC2021 · sendfiles.dev · ▲43
- PJPure JavaScript P2P file sharing in the browser2013 · whatareyoudownloading.com · ▲59
- SPSecureShare – P2P file/text sharing with no size limits, no servers2024 · securityshare.xyz · ▲9
I built SecureShare to solve a common problem I faced: securely sharing files between devices without size limits or intermediary servers. What it does: - Direct P2P file/text/folder sharing using WebRTC - No file size limits (only constrained by local disk space) - No registration required - All data stays on your devices (no server storage) - Supports multiple simultaneous receivers - Custom retrieval IDs and QR codes for easy sharing - Works across platforms, mobile-optimized Technical details: - Built with Next.js + Tailwind + shadcn/ui - Backend: Node.js + Redis (minimal,…
More dev tools this month
the category →



Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 2d ago · opentrailpaper.com

Launched alongside, August 2025
the whole month →
- IS
I built the world's most impractical 1000-pixel display and anyone in the world can draw on it. It draws a single pixel at a time and takes 30-60 minutes to complete a single image. Anyone can participate in the project by voting for the next image to be drawn, and submitting images. https://kilopx.com/
Work · 2025 · benholmen.com

- KT
Kitten TTS is an open-source series of tiny and expressive text-to-speech models for on-device applications. We are excited to launch a preview of our smallest model, which is less than 25 MB. This model has 15M parameters. This release supports English text-to-speech applications in eight voices: four male and four female. The model is quantized to int8 + fp16, and it uses onnx for runtime. The model is designed to run literally anywhere eg. raspberry pi, low-end smartphones, wearables, browsers etc. No GPU required! We're releasing this to give early users a sense of the latency and voices…
Dev tools · 2025 · github.com
- IW
I was wondering how I can arrange objects along a spherical helix path, and read some articles on it. I ended up learning about parametric equations again, and make this visualization to document what I learned: https://visualrambling.space/moving-objects-in-3d/ feel free to visit and let me know what you think!
Life & fun · 2025 · visualrambling.space
- TC
For HTML Day 2025 [1], I made a web service that displays the current sky at your approximate location as a CSS gradient. Colours are simulated on-demand using atmospheric absorption and scattering coefficients. Updates every minute, without the use of client-side JavaScript. Source code and additional information is available on GitHub: https://github.com/dnlzro/horizon [1] https://html.energy/html-day/2025/index.html
Dev tools · 2025 · sky.dlazaro.ca