Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/irislib/iris-messenger
Decentralized messenger
https://github.com/irislib/iris-messenger
nostr
Last synced: 3 months ago
JSON representation
Decentralized messenger
- Host: GitHub
- URL: https://github.com/irislib/iris-messenger
- Owner: irislib
- License: mit
- Created: 2020-01-13T20:21:19.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-01-04T22:18:06.000Z (about 1 year ago)
- Last Synced: 2024-04-13T22:00:14.098Z (9 months ago)
- Topics: nostr
- Language: TypeScript
- Homepage: https://iris.to
- Size: 52.7 MB
- Stars: 717
- Watchers: 27
- Forks: 161
- Open Issues: 108
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-nostr - iris - messenger.svg?style=social) - A nostr web client (Clients / Relay lists)
- awesome-starred - irislib/iris-messenger - Decentralized messenger (others)
- StarryDivineSky - irislib/iris-messenger
README
![git_banner_1200x200](https://user-images.githubusercontent.com/52623440/226903633-7902aa21-6041-4bad-979a-dc98bd0ad317.png)
[nostr](https://iris.to/iris) | [twitter](https://www.twitter.com/iristoapp) | [instagram](https://www.instagram.com/iristoapp) | [youtube](https://www.youtube.com/@iristoapp) | [linkedin](https://www.linkedin.com/company/91035282/) | [tiktok](https://www.tiktok.com/@iristoapp)
# Iris – The app for better social networks
[Iris](https://iris.to/) is a Nostr [Android](https://play.google.com/store/apps/details?id=to.iris.twa), [iOS](https://apps.apple.com/app/iris-the-nostr-client/id1665849007) and [web](https://iris.to/) client that has also standalone desktop ([Windows, MacOS, Linux](https://github.com/irislib/iris-messenger/releases)) and [Docker](#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](https://github.com/irislib/faq) for features, explanations and troubleshooting.
https://user-images.githubusercontent.com/52623440/225862232-7ac9a16a-bf14-4745-ad48-3e3a67bc597e.mp4
## Develop
```bash
git clone https://github.com/irislib/iris-messenger.git
```Yarn
```bash
# 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
```npm
```bash
# 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
```[iris.to](https://iris.to) production version is in the [production](https://github.com/irislib/iris-messenger/tree/production) branch.
#### Stack:
* [Vite](https://vitejs.dev/) — a fast frontend build tool
* [Preact](https://preactjs.com/) — a fast 3kB alternative to React with the same modern API
* [Tailwind CSS](https://tailwindcss.com/docs/installation) — a CSS framework for rapid UI development. Less custom CSS.
* [DaisyUI](https://daisyui.com/components/) — 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](https://www.docker.com/products/docker-desktop/) and [GitHub Desktop](https://desktop.github.com/) 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)
[Tauri docs](https://tauri.app/v1/guides/)
Yarn
```bash
# install dependencies
yarn# develop
yarn tauri dev# build
yarn tauri build
```npm
```bash
# install dependencies
npm i# develop
npm run tauri dev# build
npm run tauri build
```[iris.to](https://iris.to) production version is in the [production](https://github.com/irislib/iris-messenger/tree/production) branch.
Master branch is deployed to [beta.iris.to](https://beta.iris.to).
Tauri [desktop releases](https://github.com/irislib/iris-messenger/releases) are built from the `release` branch by GitHub CI.
## NIPS implemented
- [x] [NIP-01: Basic protocol flow description](https://github.com/nostr-protocol/nips/blob/master/01.md)
- [x] [NIP-02: Contact List and Petnames](https://github.com/nostr-protocol/nips/blob/master/02.md)
- [ ] [NIP-03: OpenTimestamps Attestations for Events](https://github.com/nostr-protocol/nips/blob/master/03.md)
- [x] [NIP-04: Encrypted Direct Message](https://github.com/nostr-protocol/nips/blob/master/04.md)
- [x] [NIP-05: Mapping Nostr keys to DNS-based internet identifiers](https://github.com/nostr-protocol/nips/blob/master/05.md)
- [ ] [NIP-06: Basic key derivation from mnemonic seed phrase](https://github.com/nostr-protocol/nips/blob/master/06.md)
- [x] [NIP-07: `window.nostr` capability for web browsers](https://github.com/nostr-protocol/nips/blob/master/07.md)
- [x] [NIP-08: Handling Mentions](https://github.com/nostr-protocol/nips/blob/master/08.md)
- [x] [NIP-09: Event Deletion](https://github.com/nostr-protocol/nips/blob/master/09.md)
- [x] [NIP-10: Conventions for clients' use of `e` and `p` tags in text events](https://github.com/nostr-protocol/nips/blob/master/10.md)
- [x] [NIP-19: bech32-encoded entities](https://github.com/nostr-protocol/nips/blob/master/19.md)
- [x] [NIP-20: Command Results](https://github.com/nostr-protocol/nips/blob/master/20.md)
- [ ] [NIP-21: `nostr:` URL scheme](https://github.com/nostr-protocol/nips/blob/master/21.md)
- [ ] [NIP-23: Long-form Content](https://github.com/nostr-protocol/nips/blob/master/23.md)
- [x] [NIP-25: Reactions](https://github.com/nostr-protocol/nips/blob/master/25.md)
- [ ] [NIP-26: Delegated Event Signing](https://github.com/nostr-protocol/nips/blob/master/26.md)
- [ ] [NIP-28: Public Chat](https://github.com/nostr-protocol/nips/blob/master/28.md)
- [x] [NIP-33: Parameterized Replaceable Events](https://github.com/nostr-protocol/nips/blob/master/33.md)
- [ ] [NIP-39: External Identities in Profiles](https://github.com/nostr-protocol/nips/blob/master/39.md)
- [ ] [NIP-40: Expiration Timestamp](https://github.com/nostr-protocol/nips/blob/master/40.md)
- [x] [NIP-42: Authentication of clients to relays](https://github.com/nostr-protocol/nips/blob/master/42.md)
- [ ] [NIP-46: Nostr Connect](https://github.com/nostr-protocol/nips/blob/master/46.md)
- [x] [NIP-50: Keywords filter](https://github.com/nostr-protocol/nips/blob/master/50.md)
- [ ] [NIP-51: Lists](https://github.com/nostr-protocol/nips/blob/master/51.md)
- [ ] [NIP-56: Reporting](https://github.com/nostr-protocol/nips/blob/master/56.md)
- [x] [NIP-57: Lightning Zaps](https://github.com/nostr-protocol/nips/blob/master/57.md)
- [ ] [NIP-58: Badges](https://github.com/nostr-protocol/nips/blob/master/58.md)
- [ ] [NIP-65: Relay List Metadata](https://github.com/nostr-protocol/nips/blob/master/65.md)## Privacy
The application is an unaudited proof-of-concept implementation, so don't use it for security critical purposes.
---