zebra report

make crypto scary again  ·  posts

carrier

Starts the video element — registers this tab as a named sink input in PulseAudio (pavucontrol, pactl). The C clients modulate that volume to transmit data.

keys

ECDH P-256 key pair. Generated once, stored in localStorage. Share your public key with the other side. Paste theirs below. Both sides derive the same AES-256-GCM key — no key ever leaves the browser.

your public key (click to copy)

generating...

peer public key (paste here)

encrypt

Copy ciphertext → pipe through ./tx or ./chat

decrypt


find this tab

./tx -l
pactl list sink-inputs short

Firefox ↔ Chromium chat

# terminal 1 (you are Firefox)
./chat -T Firefox -R Chromium -b 10

# terminal 2 (you are Chromium)
./chat -T Chromium -R Firefox -b 10

TX modulates your tab's volume. RX polls the other tab's volume. 101 discrete levels, binary encoding, 10 baud default.