Awesome
19-10-2024 NOTE: Current iris.to source code is at https://github.com/irislib/iris-client
<div align="center">
nostr | twitter | instagram | youtube | linkedin | tiktok
</div>Iris – The app for better social networks
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.
Sign up, get started, FAQ and support
Visit Iris FAQ for features, explanations and troubleshooting.
Develop
git clone https://github.com/irislib/iris-messenger.git
<details open><summary>Yarn</summary>
# 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 test
</details>
<details><summary>npm</summary>
# 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 test
</details>
iris.to production version is in the production branch.
Stack:
- 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
Docker
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.
Tauri (desktop app)
<details open><summary>Yarn</summary># install dependencies
yarn
# develop
yarn tauri dev
# build
yarn tauri build
</details>
<details><summary>npm</summary>
# install dependencies
npm i
# develop
npm run tauri dev
# build
npm run tauri build
</details>
iris.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.
NIPS implemented
- NIP-01: Basic protocol flow description<br>
- NIP-02: Contact List and Petnames<br>
- NIP-03: OpenTimestamps Attestations for Events<br>
- NIP-04: Encrypted Direct Message<br>
- NIP-05: Mapping Nostr keys to DNS-based internet identifiers<br>
- NIP-06: Basic key derivation from mnemonic seed phrase<br>
- NIP-07:
window.nostr
capability for web browsers<br> - NIP-08: Handling Mentions<br>
- NIP-09: Event Deletion<br>
- NIP-10: Conventions for clients' use of
e
andp
tags in text events<br> - NIP-19: bech32-encoded entities<br>
- NIP-20: Command Results<br>
- NIP-21:
nostr:
URL scheme<br> - NIP-23: Long-form Content<br>
- NIP-25: Reactions<br>
- NIP-26: Delegated Event Signing<br>
- NIP-28: Public Chat<br>
- NIP-33: Parameterized Replaceable Events<br>
- NIP-39: External Identities in Profiles<br>
- NIP-40: Expiration Timestamp<br>
- NIP-42: Authentication of clients to relays<br>
- NIP-46: Nostr Connect<br>
- NIP-50: Keywords filter<br>
- NIP-51: Lists<br>
- NIP-56: Reporting<br>
- NIP-57: Lightning Zaps<br>
- NIP-58: Badges<br>
- NIP-65: Relay List Metadata<br>
Privacy
The application is an unaudited proof-of-concept implementation, so don't use it for security critical purposes.
<a href="https://opencollective.com/iris-social/donate" target="_blank"><img src="https://opencollective.com/iris-social/donate/button@2x.png?color=blue" width=200 /></a>