/coracle

A Nostr client that makes relays a first-class concept

Primary LanguageSvelteMIT LicenseMIT

What is this?

Coracle is a web client for the Nostr protocol focused on pushing the boundaries of what's unique about nostr, including relay selection and management, web-of-trust based moderation and content recommendations, and privacy protection. Check it out at coracle.social.

Dufflepud is a companion server which you can self-host. It helps Coracle with things like link previews and image uploads.

If you like Coracle and want to support its development, you can donate sats via Geyser.

Features

  • Threads/social
  • Profile search using NIP-50
  • Login via extension, nsecbunker, and pubkey
  • Profile sharing via QR codes
  • NIP 05 verification
  • NIP 65 relay selection and NIP 32 relay reviews
  • NIP 89 app recommendations
  • NIP 32 labeling and recommendations
  • NIP 99 classifieds
  • NIP 52 calendar events
  • NIP 87 closed groups
  • NIP 72 communities
  • NIP 89 client tag support
  • NIP 32 labeling and collections
  • Private group calendars and listings
  • Cross-posting between communities and main feed
  • Bech32 entity search and scan
  • Mention, reply, and reaction notifications
  • Direct messages - NIP 04 and NIP 24
  • Note composition with mentions and topics
  • Content warnings, mute, and keyword mute
  • Profile pages, follow/unfollow, follow/follower count
  • Thread muting, collapse thread
  • Invoice, quote, mention, link, image, and video rendering
  • Installable as a progressive web app
  • Integrated media uploads via NIP 96
  • Lightning zaps and reactions
  • Feeds customizable by person, relay, and topic using NIP-51
  • AUTH (NIP-42) support for closed relays
  • Multiplextr support for reducing bandwidth
  • Profile and note metadata
  • White-labeling support
  • NIP 51 person lists
  • Exports/imports of user events
  • User profile editing
  • NIP XX encrypted read receipts for notifications
  • Topic and relay feeds
  • Onboarding workflow
  • Multi-account support
  • Notifications view

You can find a more complete changelog here.

Run Coracle locally:

  • Clone the project repository: git clone https://github.com/coracle-social/coracle.git
  • Navigate to the project directory: cd coracle
  • Install dependencies: yarn
  • Customize configuration in .env (optional)
  • Start the development server: yarn dev