Show HN: ERPC – encrypted, typed RPC over any bidirectional channel
eRPC is a new framework for encrypted, typed remote procedure calls over various bidirectional channels. It offers end-to-end encryption and supports multiple authentication modes, making it versatile for different environments. The framework is designed to be transport-agnostic and is compatible with various platforms including Node.js and modern browsers.
- ▪eRPC uses XSalsa20-Poly1305 AEAD for end-to-end encryption.
- ▪It supports multiple authentication modes including pre-shared secrets and asymmetric methods.
- ▪The framework is compatible with Node.js, browsers, Service Workers, and more.
Opening excerpt (first ~120 words) tap to expand
eRPC Encrypted, typed RPC over any bidirectional channel. Two peers, one shared secret (or one keypair). Every call is end-to-end encrypted with XSalsa20-Poly1305 AEAD. WebSocket, postMessage, MessagePort, chrome.runtime, BroadcastChannel, WebRTC — if a channel can carry bytes, eRPC encrypts and types what flows through it. Think tRPC, but transport-agnostic and encrypted by default. npm install @dotex/erpc Full docs and rationale: https://dotex.org/epic/erpc Quickstart · API · Wire Protocol · Security · Transports Highlights Typed procedures with Zod input/output validation End-to-end encryption. X25519 ECDH, XSalsa20-Poly1305 AEAD, HKDF-SHA-256, with forward secrecy by design Lazy handshake on the first call.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at GitHub.