Skip to content
/ AURA Public

AURA is a censorship-resistant social messenger built on the Nostr protocol. It empowers people to communicate freely, without fear of surveillance or censorship.

License

Notifications You must be signed in to change notification settings

FrankFMY/AURA

✨ AURA

Decentralized Social Messenger for the Free World

License: MIT Nostr SvelteKit TypeScript PRs Welcome


AURA Logo

AURA is a censorship-resistant social messenger built on the Nostr protocol.
It empowers people to communicate freely, without fear of surveillance or censorship.

Because freedom of speech is a human right, not a privilege.

πŸš€ Live Demo Β· πŸ“– Documentation Β· πŸ› Report Bug Β· πŸ’‘ Request Feature


🌟 Why AURA?

In a world where social platforms control what you see, who you can reach, and what you can say β€” AURA offers an alternative. Built on the Nostr protocol, AURA is:

  • πŸ”“ Truly Decentralized β€” No single company controls your data or can ban you
  • πŸ›‘οΈ Censorship Resistant β€” Your voice cannot be silenced by any authority
  • πŸ” Privacy First β€” End-to-end encrypted direct messages (NIP-44)
  • ⚑ Lightning Integrated β€” Send and receive Bitcoin payments via NWC
  • 🌍 Open Source β€” Transparent, auditable, and community-driven
  • πŸ“± PWA Ready β€” Install on any device, works offline

"They can't stop the signal."


✨ Features

🏠 Social Feed

  • Global and personalized feeds
  • Real-time updates via WebSocket subscriptions
  • Infinite scroll with optimistic UI updates
  • Create posts, reply, repost, and react

πŸ’¬ Private Messaging

  • End-to-end encrypted DMs (NIP-04 & NIP-44)
  • Conversation list with unread indicators
  • Real-time message delivery
  • Offline message queue

πŸ‘€ Profiles

  • View and edit your Nostr profile
  • Follow/unfollow users
  • Contact list management (NIP-02)
  • Verified user badges (NIP-05)

πŸ’° Lightning Wallet

  • Nostr Wallet Connect (NWC) integration
  • Send and receive Bitcoin payments
  • Transaction history
  • ⚑ Zap support for posts and users

πŸ” Search

  • Search notes by content
  • Find users by name or npub
  • Discover hashtags
  • Trending topics

βš™οΈ Settings

  • Relay management
  • Theme customization (light/dark)
  • Language selection (EN, ES, RU, ZH)
  • Data export and cache management

πŸ› οΈ Tech Stack

Category Technology
Framework SvelteKit 2 + Svelte 5
Language TypeScript (strict mode)
Styling Tailwind CSS 4
Nostr NDK (Nostr Dev Kit)
Database Dexie.js (IndexedDB wrapper)
Crypto @noble libraries
Testing Vitest + Playwright
Icons Lucide
Validation Zod

πŸš€ Quick Start

Prerequisites

  • Node.js >= 18.0.0
  • Bun (recommended) or npm/yarn/pnpm

Installation

# Clone the repository
git clone https://github.com/FrankFMY/AURA.git
cd AURA

# Install dependencies
bun install

# Start development server
bun run dev

Open http://localhost:5173 in your browser.

Build for Production

# Create production build
bun run build

# Preview production build
bun run preview

πŸ“– Documentation

Project Structure

AURA/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”œβ”€β”€ components/     # Reusable UI components
β”‚   β”‚   β”‚   β”œβ”€β”€ feed/       # Feed-related components
β”‚   β”‚   β”‚   β”œβ”€β”€ notifications/
β”‚   β”‚   β”‚   └── ui/         # Base UI components
β”‚   β”‚   β”œβ”€β”€ core/           # Core utilities (errors, resilience)
β”‚   β”‚   β”œβ”€β”€ db/             # Dexie.js database
β”‚   β”‚   β”œβ”€β”€ i18n/           # Internationalization
β”‚   β”‚   β”œβ”€β”€ services/       # Business logic services
β”‚   β”‚   β”‚   β”œβ”€β”€ crypto/     # Encryption (NIP-44)
β”‚   β”‚   β”‚   β”œβ”€β”€ ndk/        # NDK service modules
β”‚   β”‚   β”‚   └── wallet/     # NWC client
β”‚   β”‚   β”œβ”€β”€ stores/         # Svelte 5 runes stores
β”‚   β”‚   β”œβ”€β”€ utils/          # Utility functions
β”‚   β”‚   └── validators/     # Zod schemas & sanitization
β”‚   β”œβ”€β”€ routes/             # SvelteKit routes
β”‚   └── app.css             # Global styles
β”œβ”€β”€ static/                 # Static assets
β”œβ”€β”€ tests/                  # Test files
β”‚   β”œβ”€β”€ e2e/                # Playwright E2E tests
β”‚   └── unit/               # Vitest unit tests
└── ...config files

Nostr NIPs Implemented

NIP Description Status
NIP-01 Basic protocol βœ…
NIP-02 Contact List βœ…
NIP-04 Encrypted DMs (legacy) βœ…
NIP-05 DNS Verification βœ…
NIP-07 Browser Extension βœ…
NIP-10 Replies & Threading βœ…
NIP-18 Reposts βœ…
NIP-25 Reactions βœ…
NIP-44 Versioned Encryption βœ…
NIP-47 Nostr Wallet Connect βœ…

Available Scripts

bun run dev          # Start development server
bun run build        # Build for production
bun run preview      # Preview production build
bun run check        # Type-check with svelte-check
bun run test         # Run unit tests
bun run test:e2e     # Run E2E tests
bun run test:coverage # Run tests with coverage

🌐 Deployment

Vercel (Recommended)

AURA is optimized for deployment on Vercel:

Deploy with Vercel

GitHub Pages

AURA can also be deployed to GitHub Pages using the included workflow.

IPFS (Censorship Resistant)

For maximum censorship resistance, deploy AURA to IPFS:

# Using Pinata (set PINATA_API_KEY and PINATA_API_SECRET first)
bun run deploy:ipfs --provider pinata

# Using local IPFS node
bun run deploy:ipfs --provider local

Once deployed, access AURA via any IPFS gateway:

  • https://ipfs.io/ipfs/<CID>
  • https://dweb.link/ipfs/<CID>
  • https://cloudflare-ipfs.com/ipfs/<CID>

🀝 Contributing

Contributions are what make the open source community amazing! Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

See CONTRIBUTING.md for detailed guidelines.


πŸ”’ Security

AURA takes security seriously. If you discover a security vulnerability, please report it responsibly:

Please do not create public issues for security vulnerabilities.

See SECURITY.md for our security policy.


πŸ“œ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

This means you can:

  • βœ… Use it commercially
  • βœ… Modify it freely
  • βœ… Distribute it
  • βœ… Use it privately

βš–οΈ Legal Disclaimer

AURA is a client-side interface for the Nostr protocol. We do not host, store, or control any user content. All cryptographic keys are stored locally on the user's device. Content displayed in AURA is fetched from decentralized relays operated by independent third parties.

The developers of AURA:

  • Do not have access to user private keys or messages
  • Cannot modify or delete content published by users
  • Are not responsible for content published on the Nostr network
  • Cannot comply with takedown requests as we do not host content

For concerns about specific content, please contact the relay operators directly.


πŸ’œ Support the Project

If AURA has helped you, consider supporting its development:

⚑ Bitcoin (Lightning Network)

classywallaby932694@getalby.com

🟣 Solana

DANryD6MxNr3BQcYZN3rao9qM4VzS2sx7sHy944emPH2

πŸ”· Ethereum / EVM

0xC2335f06ab8Ef2512375bB8Cd2c07A7Bd1589A6e

🌟 Other Ways to Help

  • ⭐ Star this repository
  • πŸ› Report bugs and suggest features
  • πŸ“ Improve documentation
  • 🌍 Help with translations
  • πŸ“’ Spread the word about Nostr and AURA

πŸ‘¨β€πŸ’» Author

Artem Pryanishnikov

Creator & Lead Developer

GitHub Telegram Email


πŸ™ Acknowledgments

  • Nostr Protocol β€” For creating a truly decentralized protocol
  • NDK β€” For the excellent Nostr development kit
  • Svelte β€” For the amazing framework
  • All Contributors β€” Who help make this project better

"Information wants to be free"


Built with πŸ’œ for a free and open internet


If you believe in freedom of speech and decentralization,
please consider starring ⭐ this repository and sharing AURA with others.


Together, we can build a better, freer world.

About

AURA is a censorship-resistant social messenger built on the Nostr protocol. It empowers people to communicate freely, without fear of surveillance or censorship.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published