19-10-2024 NOTE: Current iris.to source code is at https://github.com/irislib/iris-client
Iris is a Nostr Android, iOS and web client that has also standalone desktop (Windows, MacOS, Linux) and Docker versions.
- Sign up in seconds: Just type a name and hit "Go"
- Secure: It's open source. Users can validate that big brother doesn't read your private messages.
- Available: It works offline-first and is not dependent on any single centrally managed server.
Visit Iris FAQ for features, explanations and troubleshooting.
sign-up-iris.1.mp4
git clone https://github.com/irislib/iris-messenger.gitYarn
# install dependencies
yarn
# serve with hot reload at localhost:8080
yarn dev
# build for production with minification
yarn build
# test the production build locally
yarn serve
# run tests with jest and enzyme
yarn testnpm
# install dependencies
npm i
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# test the production build locally
npm run serve
# run tests with jest and enzyme
npm run testiris.to production version is in the production branch.
- Vite — a fast frontend build tool
- Preact — a fast 3kB alternative to React with the same modern API
- Tailwind CSS — a CSS framework for rapid UI development. Less custom CSS.
- DaisyUI — a component library for Tailwind CSS
Alternatively, you can run the dev environment on Docker: docker-compose up. The dev build with autoreload will be available at http://localhost:8080.
With Docker Desktop and GitHub Desktop this is an easy way to get started with development. Just clone this repository and run docker-compose up in a terminal in its directory.
Yarn
# install dependencies
yarn
# develop
yarn tauri dev
# build
yarn tauri buildnpm
# install dependencies
npm i
# develop
npm run tauri dev
# build
npm run tauri buildiris.to production version is in the production branch.
Master branch is deployed to beta.iris.to.
Tauri desktop releases are built from the release branch by GitHub CI.
- NIP-01: Basic protocol flow description
- NIP-02: Contact List and Petnames
- NIP-03: OpenTimestamps Attestations for Events
- NIP-04: Encrypted Direct Message
- NIP-05: Mapping Nostr keys to DNS-based internet identifiers
- NIP-06: Basic key derivation from mnemonic seed phrase
- NIP-07:
window.nostrcapability for web browsers - NIP-08: Handling Mentions
- NIP-09: Event Deletion
- NIP-10: Conventions for clients' use of
eandptags in text events - NIP-19: bech32-encoded entities
- NIP-20: Command Results
- NIP-21:
nostr:URL scheme - NIP-23: Long-form Content
- NIP-25: Reactions
- NIP-26: Delegated Event Signing
- NIP-28: Public Chat
- NIP-33: Parameterized Replaceable Events
- NIP-39: External Identities in Profiles
- NIP-40: Expiration Timestamp
- NIP-42: Authentication of clients to relays
- NIP-46: Nostr Connect
- NIP-50: Keywords filter
- NIP-51: Lists
- NIP-56: Reporting
- NIP-57: Lightning Zaps
- NIP-58: Badges
- NIP-65: Relay List Metadata
The application is an unaudited proof-of-concept implementation, so don't use it for security critical purposes.

