Skip to content
/ NYM Public

A lightweight ephemeral chat client built on Nostr protocol, bridging with Bitchat for anonymous, temporary messaging.

License

Notifications You must be signed in to change notification settings

Spl0itable/NYM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

███╗   ██╗██╗   ██╗███╗   ███╗
████╗  ██║╚██╗ ██╔╝████╗ ████║
██╔██╗ ██║ ╚████╔╝ ██╔████╔██║
██║╚██╗██║  ╚██╔╝  ██║╚██╔╝██║
██║ ╚████║   ██║   ██║ ╚═╝ ██║
╚═╝  ╚═══╝   ╚═╝   ╚═╝     ╚═╝

Nostr Ynstant Messenger

A lightweight ephemeral chat client built on Nostr protocol, bridging with Bitchat for anonymous, temporary messaging.

Overview

NYM is a Progressive Web App (PWA) chat messenger that uses Nostr's ephemeral events (kinds 20000 and 23333) for public channels and NIP-04 encrypted events (kind 4) for private messages. No registration, no accounts, no persistence - just pick a nym and start chatting. Or, connect using Nostr Extension for persistent identity.

NYM Screenshot

Features

  • Ephemeral Identity - Generate temporary keypairs and pseudonym per session or use Nostr extension
  • Multiple Channels - Standard channels and geohash-based location channels
  • Reactions - React to messages
  • Themes - Pick a desired theme from settings
  • Private Messaging - Encrypted DMs using NIP-04
  • Bitchat Bridge - Compatible with Jack Dorsey's Bitchat

Protocol Implementation

  • Ephemeral geohash event kind 20000 and standard channel event kind 23333
  • Tags: ['n', nym] for nickname, ['d', channel] for standard channel, ['g', geohash] for geohash channel

Available Commands

/help     - Show available commands
/join     - Join a channel (e.g., /join random or /join #geohash)
/j        - Shortcut for /join
/pm       - Send private message (e.g., /pm nym)
/nick     - Change your nym (e.g., /nick newnick)
/who      - List online nyms in current channel
/w        - Shortcut for /who
/clear    - Clear chat messages
/block    - Block a user (e.g., /block nym)
/unblock  - Unblock a user (e.g., /unblock nym)
/slap     - Slap someone with a trout (e.g., /slap nym)
/me       - Action message (e.g., /me is coding)
/shrug    - Send a shrug ¯\_(ツ)_/¯
/bold     - Send bold text (e.g., /bold text)
/b        - Shortcut for /bold
/italic   - Send italic text (e.g., /italic text)
/i        - Shortcut for /italic
/strike   - Send strikethrough text (e.g., /strike text)
/s        - Shortcut for /strike
/code     - Send code block (e.g., /code text)
/c        - Shortcut for /code
/quote    - Send quoted text (e.g., /quote text)
/q        - Shortcut for /quote
/quit     - Disconnect from NYM

Contributing

Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Created by @Luxas

About

A lightweight ephemeral chat client built on Nostr protocol, bridging with Bitchat for anonymous, temporary messaging.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages