Skip to content

A flutter nostr client for Android, IOS, MacOS, Windows, Web and Linux.

License

Notifications You must be signed in to change notification settings

haorendashu/nostrmo

Repository files navigation

Nostrmo Logo

Nostrmo

A flutter nostr client for all platforms.
IOS, Android, MacOS, Windows, Web and Linux.

Screenshots


Features

  • NIP-01 (Basic protocol flow description)
  • NIP-02 (Follow List)
  • NIP-03 (OpenTimestamps Attestations for Events)
  • NIP-04 Encrypted Direct Message --- unrecommended: deprecated in favor of NIP-44)
  • NIP-05 (Mapping Nostr keys to DNS-based internet identifiers)
  • NIP-06 (Basic key derivation from mnemonic seed phrase)
  • NIP-07 (window.nostr capability for web browsers)
  • NIP-08 Handling Mentions --- unrecommended: deprecated in favor of NIP-27)
  • NIP-09 (Event Deletion)
  • NIP-10 (Conventions for clients' use of e and p tags in text events)
  • NIP-11 (Relay Information Document)
  • NIP-13 (Proof of Work)
  • NIP-14 (Subject tag in text events)
  • NIP-15 (Nostr Marketplace (for resilient marketplaces))
  • NIP-18 (Reposts)
  • NIP-19 (bech32-encoded entities)
  • NIP-21 (nostr: URI scheme)
  • NIP-23 (Long-form Content)
  • NIP-24 (Extra metadata fields and tags)
  • NIP-25 (Reactions)
  • NIP-26 (Delegated Event Signing)
  • NIP-27 (Text Note References)
  • NIP-28 (Public Chat)
  • NIP-29 (Relay-based Groups)
  • NIP-30 (Custom Emoji)
  • NIP-31 (Dealing with Unknown Events)
  • NIP-32 (Labeling)
  • NIP-34 (git stuff)
  • NIP-35 (Torrents)
  • NIP-36 (Sensitive Content)
  • NIP-38 (User Statuses)
  • NIP-39 (External Identities in Profiles)
  • NIP-40 (Expiration Timestamp)
  • NIP-42 (Authentication of clients to relays)
  • NIP-44 (Versioned Encryption)
  • NIP-45 (Counting results)
  • NIP-46 (Nostr Connect)
  • NIP-47 (Wallet Connect)
  • NIP-48 (Proxy Tags)
  • NIP-49 (Private Key Encryption)
  • NIP-50 (Search Capability)
  • NIP-51 (Lists)
  • NIP-52 (Calendar Events)
  • NIP-53 (Live Activities)
  • NIP-55 (Android Signer Application)
  • NIP-56 (Reporting)
  • NIP-57 (Lightning Zaps)
  • NIP-58 (Badges)
  • NIP-59 (Gift Wrap)
  • NIP-65 (Relay List Metadata)
  • NIP-69 (Zap Polls)
  • NIP-71 (Video Events)
  • NIP-72 (Moderated Communities)
  • NIP-75 (Zap Goals)
  • NIP-78 (Application-specific data)
  • NIP-84 (Highlights)
  • NIP-89 (Recommended Application Handlers)
  • NIP-90 (Data Vending Machines)
  • NIP-92 (Media Attachments)
  • NIP-94 (File Metadata)
  • NIP-95 (Shared File)
  • NIP-96 (HTTP File Storage Integration)
  • NIP-98 (HTTP Auth)
  • NIP-99 (Classified Listings)

Git Module

Since version 2.9.1, Nostrmo begin a multi module project, after you clone this project, please run git module scrpit to init the module git repos.

git submodule init
git submodule update

Build Script

Android

-- build for appbundle
flutter build appbundle --release

-- build for apk
flutter build apk --release --split-per-abi

IOS and MacOS

build by XCode

Windows

flutter build windows --release

Web

flutter build web --release --web-renderer canvaskit

Linux

Linux depend on libsqlite and libmpv, you can try to run this script to install before it run:

sudo apt-get -y install libsqlite3-0 libsqlite3-dev libmpv-dev mpv
flutter build linux --release

FAQ

You can find more info from this FAQ