Skip to content

parres-hq/whitenoise

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.

This crate is the core library that powers our Flutter app. It is front-end agnostic and will allow for CLI and other interfaces to operate groups in the future.

Status

CI

The Spec

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

Releases

Coming soon

Building White Noise Yourself

White Noise is a standard rust crate. Check it out and use it like you would any other crate.

  1. Clone the repo: git clone https://github.com/parres-hq/whitenoise.git and cd whitenoise.

In addition, there is a integration_test binary in the codebase that runs through much of the API and functions as a sort of integration test. Run it with the following

just int-test

Check formatting, clippy, and docs with the following:

just check

Check all those things and run tests with precommit

just precommit

Contributing

To get started contributing you'll need to have the Rust toolchain installed and Docker.

  1. Clone the repo: git clone https://github.com/parres-hq/whitenoise.git and cd whitenoise.
  2. In one terminal start the development services (two Nostr relays; nostr-rs-relay and strfry, and a blossom server) by running docker compose up.
  3. Now you can run the integration test if you'd like.

Formatting, Linting, and Tests

Before submitting PRs, please run the precommit command:

just precommit

License

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

About

Secure Messaging over Nostr

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages