A secure, private, and decentralized chat app built on Nostr, using the MLS protocol under the hood.
White Noise aims to be the most secure private chat app on Nostr, with a focus on privacy and security. Under the hood, it uses the Messaging Layer Security (MLS) protocol to manage group communications in a highly secure way. Nostr is used as the transport protocol and as the framework for the ongoing conversation in each chat.
White Noise is an implementation of the NIP-EE spec.
For the easist, quickest way to get started using White Noise, check out the releases page.
Want to build the code yourself? Here's how...
- Clone the repo:
git clone https://github.com/parres-hq/whitenoise.git
andcd whitenoise
. - Run
bun install
to install the front-end dependencies.
- On MacOS, running
bun tauri build
will create both a.app
bundle and a.dmg
installer. Install the.dmg
in the same way you would install any other MacOS application. - To update the app, run
git pull
andbun tauri build
again. The app very much alpha so expect that updates will break your groups and chats. If you end up in an unrecoverable state, you can try deleting the~/Library/Application Support/org.parres.whitenoise
directory and running the app again. When you delete that directory, you're deleting all the MLS group state so you'll need to re-create or re-join the groups you had before and your previous history will be lost.
- To provide a stable and reproducible build environment for Linux, the provided Dockerfile can be used:
docker build -t tauri-app -f Dockerfile.linux_build .
docker run --rm -v $(pwd):/app tauri-app
The resulting build artifacts (.deb
, .rpm
and .AppImage
packages) will be created in the src-tauri/target/release/bundle
directory.
- I haven't tried the app on Windows yet. Let me know how it goes!
- To build the app on Android, it's easiest to run
bun tauri android build --apk --split-per-abi
. This will generate a number of APKs, one for each architecture. You can then install the one that matches your phone.
- Right now, you can't build for iOS.
White Noise is built with Tauri & SvelteKit. To get started contributing you'll need to have the Rust toolchain installed, the Bun JavaScript package manager, and Docker.
- Clone the repo:
git clone https://github.com/parres-hq/whitenoise.git
andcd whitenoise
. - Run
bun install
to install the front-end dependencies. - In one terminal start the development services (two Nostr relays; nostr-rs-relay and strfry and a blossom server) by running
docker compose up
. - In another terminal, run
bun tauri dev
to start the app. If you want to see more comprehensive logging, runRUST_LOG=debug bun tauri dev
.
You'll have hot reloading and any changes to the rust code will trigger an automatic rebuild of your app.
Before submitting PRs, please run the commad to check formatting and linting and run all tests:
bun run check-all
White Noise is free and open source software, released under the Gnu AGPL v3 license. See the LICENSE file for details.