Erebos Web Application
WebAssembly-based application using the erebos library to provide end-to-end encrypted chat, running entirely on the client side within a web browser. Server is used via WebSocket to tunnel connections with other peers.
Demo of the last (experimental) release is available here:
Still in early development stage, so the app may or may not work, or may not work reliably (mostly depending on WebSocket behavior on a particular platform). Some important functionality is also missing.
Currently implemented are direct messages between peers.
Contacts can be invited via a generated URL, which can be accepted by the recipient either by directly opening it in a browser (to use the WebApp), or by the /invite-accept command within the CLI app.
In the latter case, the CLI client needs to be able to discover the WebApp peer, e.g. by previously running the /peer-add-public command.
All the user data, like contacts, message history or cryptographic keys, are stored locally in the browser IndexedDB, so clearing the site data within the browser will irrecoverably delete those (unless previously backed up).
Source code
Code is available here:
git clone https://code.erebosprotocol.net/webapp
or on a github mirror:
However, building it requires:
- GHC with WebAssembly backend,
- patched version of the erebos library (changes integrated to master as I clean them up),
- patched version of the hs-ed25519 library (patch merged to master),
- WebAssembly build of the reference blake2 library,
- WebAssembly build of the reference Curve25519 library.
Roadmap
0.1.x
Backlog
Changelog
0.1.0 – 2026-03-31
- First version, supporting direct messages with URL-based invites.