Skip to content

An experimental Nostr client focused on unlocking the full potential of multiple relays. Browse, filter, zap, and create custom feeds to create a curated Nostr experience.

License

Notifications You must be signed in to change notification settings

jpgaviria2/coracle-anmore

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What is this?

Anmore is an admin-controlled Nostr platform with enhanced moderation capabilities, simplified authentication using NIP-05, and automatic hashtag generation. Built on the Coracle codebase, Anmore provides a curated social experience with admin-managed content filtering.

Check it out at anmore.me.

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 89 handler integration
  • NIP 32 labeling and collections
  • NIP 17 DMs
  • 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
  • Web of trust scores for less spam and better group/feed suggestions
  • Customizable and shareable feeds and lists
  • Customizable invite links
  • Reporting via tagr-bot
  • Nostr Wallet Connect support
  • Date/time localization

You can find a more complete changelog here.

Run Anmore locally:

  • Clone the project repository: git clone https://github.com/anmore/anmore.git
  • Navigate to the project directory: cd anmore
  • Install dependencies: pnpm i
  • Install sharp (required for build): pnpm i sharp --include=optional
  • Copy .env.example to .env.local and customize configuration (optional, see below)
  • Start the development server: pnpm run dev

Tests

  • Run all tests: pnpm run test
  • Run unit tests: pnpm run test:unit
  • Run e2e tests: pnpm run test:e2e

Building for Android

Make sure you have the android build tools in your path and run:

pnpm run build:android --keystorepath <path> --keystorepass <password> --keystorealias <alias> --keystorealiaspass <password>

Uploading sourcemaps

Source maps are uploaded using the sentry cli to a self-hosted glitchtip instance. See the sourcemaps script in package.json for details. More information here: https://gitlab.com/glitchtip/glitchtip-backend/-/issues/322

Customization

Anmore is fully customizable via environment variables. The following environment variables can be set in .env.local to customize Anmore's appearance and behavior:

Anmore-Specific Variables

  • VITE_ADMIN_PUBKEYS is a comma-separated list of hex pubkeys for admin users who can manage hashtag whitelists.
  • VITE_DEFAULT_HASHTAG is the default hashtag automatically added to all new posts (default: "anmore").
  • VITE_NIP05_DOMAIN is the NIP-05 domain for simplified login (default: "anmore.me").

General Customization

  • VITE_DARK_THEME and VITE_LIGHT_THEME are comma-separate lists of key/value pairs defining theme colors.
  • VITE_DVM_RELAYS is a comma-separated list of relays to use when making requests against DVMs.
  • VITE_SEARCH_RELAYS is a comma-separated list of relays to use when using NIP 50 search.
  • VITE_DEFAULT_RELAYS is a comma-separated list of relays to use as defaults/fallbacks.
  • VITE_DEFAULT_FOLLOWS is a comma-separated list of hex pubkeys to fetch content from when the user isn't following anyone.
  • VITE_ONBOARDING_LISTS is a comma-separated list of kind:30003 person lists to populate onboarding with.
  • VITE_NIP96_URLS is a comma-separated list of default upload providers.
  • VITE_DUFFLEPUD_URL is a Dufflepud instance url, which helps Coracle with things like link previews and image uploads.
  • VITE_PLATFORM_ZAP_SPLIT is a decimal between 0 and 1 defining the default zap split percent.
  • VITE_PLATFORM_PUBKEY is the pubkey of the platform owner. This gets zapped when using the platform zap split.
  • VITE_ENABLE_ZAPS can be set to false to disable zaps.
  • VITE_APP_NAME is the app's name.
  • VITE_APP_URL is the app's url. Used to generate open graph meta tags.
  • VITE_APP_LOGO is the path for the app's logo relative to the public directory, starting with a leading slash. Used to generate favicons and manifest.
  • VITE_APP_WORDMARK_DARK and VITE_APP_WORDMARK_LIGHT are paths for the app's wordmark relative to the public directory, starting with a leading slash.
  • VITE_APP_DESCRIPTION is the app's description.
  • VITE_CLIENT_NAME is the client's name. Only change this if you have forked Coracle.
  • VITE_CLIENT_ID is the client's NIP 89 handler id. Only change this if you have forked Coracle.
  • VITE_GLITCHTIP_API_KEY is your glitchtip DSN.
  • GLITCHTIP_API_KEY is your glitchtip auth token for uploading source maps.
  • VITE_BUILD_HASH can be set during build to indicate the software version on the about page.
  • VITE_LOG_LEVEL can be set to info, warn, or error. This controls how much shows up in the console.
  • VITE_ENABLE_MARKET can be set to false to disable the marketplace tab.

GitHub Pages Deployment

Anmore is configured for automatic deployment to GitHub Pages. The deployment workflow (.github/workflows/deploy.yml) will:

  1. Build the application on push to main or master branch
  2. Deploy to GitHub Pages automatically

To enable GitHub Pages:

  1. Go to your repository Settings → Pages
  2. Set Source to "GitHub Actions"
  3. The workflow will deploy automatically on push

The CNAME file is configured for anmore.me - update it if using a different domain.

About

An experimental Nostr client focused on unlocking the full potential of multiple relays. Browse, filter, zap, and create custom feeds to create a curated Nostr experience.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Svelte 71.7%
  • TypeScript 20.8%
  • HTML 3.3%
  • JavaScript 3.1%
  • CSS 0.9%
  • Java 0.2%