Skip to content

parres-hq/whitenoise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

White Noise

A secure, private, and decentralized chat app built on Nostr, using the MLS protocol under the hood.

Overview

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.

Status

CI

Linux Build Android Build

MacOS Build iOS Build

Release

The Spec

White Noise is an implementation of the NIP-EE spec.

Releases

For the easist, quickest way to get started using White Noise, check out the releases page.

Building White Noise Yourself

Want to build the code yourself? Here's how...

  1. Clone the repo: git clone https://github.com/parres-hq/whitenoise.git and cd whitenoise.
  2. Run bun install to install the front-end dependencies.

MacOS

  • 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 and bun 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.

Linux

  • 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.

Windows

  • I haven't tried the app on Windows yet. Let me know how it goes!

Android

  • 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.

iOS

  • Right now, you can't build for iOS.

Contributing

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.

  1. Clone the repo: git clone https://github.com/parres-hq/whitenoise.git and cd whitenoise.
  2. Run bun install to install the front-end dependencies.
  3. In one terminal start the development services (two Nostr relays; nostr-rs-relay and strfry and a blossom server) by running docker compose up.
  4. In another terminal, run bun tauri dev to start the app. If you want to see more comprehensive logging, run RUST_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.

Formatting, Linting, and Tests

Before submitting PRs, please run the commad to check formatting and linting and run all tests:

bun run check-all

License

White Noise is free and open source software, released under the Gnu AGPL v3 license. See the LICENSE file for details.