Skip to content

Latest commit

 

History

History
44 lines (31 loc) · 1.57 KB

File metadata and controls

44 lines (31 loc) · 1.57 KB

whispr

decentralized, end-to-end encrypted chat. no tracking, no data collection, no compromise.

architecture

whispr is split across several repos under whisprchat:

repo what
protocol core protocol - entities, CBOR wire format, crypto, sidecar binary
app tauri 2.0 desktop client (react + rust)
relay dumb fan-out relay server - stores and forwards encrypted entries
identity identity server - registration, auth, profiles, avatars, status
dcgka reference DCGKA crypto primitives in rust (ported to Go in protocol)

encryption

PRGE (pairwise-ratcheted group encryption). every message encrypted with a random per-message key, wrapped N-1 times via pairwise ratchets for each group member. ed25519 signing, x25519 key exchange, ChaCha20-Poly1305 AEAD.

no central key server. no trust-on-first-use. keys are verified out-of-band via fingerprints.

dev setup

git clone git@github.com:whisprchat/protocol.git
git clone git@github.com:whisprchat/app.git
git clone git@github.com:whisprchat/relay.git
git clone git@github.com:whisprchat/identity.git

needs: go 1.22+, rust/cargo, node 20+, bun (optional)

start everything:

cd protocol && go build -o whispr-sidecar ./cmd/sidecar
cd identity && go run .
cd relay && go run .
cd app && bun run tauri dev

license

all information should be free.