# 🕊️ Eve Lite > A lightweight, encrypted Nostr relay that puts your community's privacy first Eve Lite is your personal gateway to secure, decentralized communities It creates encrypted "Closed Community Networks" (CCNs) where your messages stay truly private, from everyone. ## ✨ What makes Eve Lite special? **Privacy by Design**: Unlike traditional Nostr relays where your messages are visible to everyone, Eve Lite encrypts everything. If someone gains access to the data, they'll only see encrypted gibberish. **Extensible with Arxlets**: Think of Arxlets as mini-apps that run within your CCN. Want custom functionality? Write an Arxlet. Need to share functionality? Publish it for others to use. **Dead Simple Setup**: No complex configurations or database management. Eve Lite handles the heavy lifting so you can focus on communicating. **Invite-Only Networks**: Create closed communities with your friends, family, or team. Share invite codes to bring people into your private space. ## 🏗️ How it works ### Closed Community Networks (CCNs) A CCN is like your own private island in the Nostr ocean. Each CCN has: - **Unique encryption keys** - Messages are encrypted with network-specific keys - **Local relay instance** - Each member's own strfry relay runs locally on port 6942 - **Persistent storage** - All messages are stored locally on each member's device and encrypted ### The Magic Behind the Scenes 1. **Encrypted Message Flow**: When you send a message, Eve Lite encrypts it before sending to remote relays 2. **Smart Decryption**: Incoming encrypted messages are automatically decrypted and stored locally 3. **Dual Relay System**: Remote encrypted storage + local decrypted access = best of both worlds 4. **Event Deduplication**: Smart caching prevents processing the same event twice ### Arxlets: Your Extensibility Layer Arxlets are JavaScript-based apps that add functionality to your CCN: - Stored as Nostr events (kind 30420) - Compressed with Brotli for efficiency - Can be shared across networks - Perfect for custom UI components, utilities, or integrations ## 🔧 API Reference Eve Lite exposes a RESTful API for building applications: ### CCN Management - `GET /api/ccns` - List all CCNs - `POST /api/ccns/new` - Create a new CCN - `POST /api/ccns/join` - Join an existing CCN - `GET /api/ccns/active` - Get the active CCN - `POST /api/ccns/active` - Switch active CCN ### Events & Messages - `POST /api/events` - Query events with filters - `PUT /api/events` - Publish a new event - `GET /api/events/:id` - Get specific event - `POST /api/sign` - Sign an event with your key ### Profiles & Identity - `GET /api/avatars/:pubkey` - Get user avatar - `GET /api/profile/:pubkey` - Get user profile - `GET /api/pubkey` - Get your public key ### Arxlets - `GET /api/arxlets` - List installed Arxlets - `GET /api/arxlets/:id` - Get specific Arxlet - `GET /api/arxlets-available` - Browse available Arxlets ## 🛠️ Development ### Running Tests ```bash bun test bun test --watch # Watch mode ``` ### Code Quality This project uses Biome for linting and formatting: ```bash bunx @biomejs/biome check bunx @biomejs/biome format --write ``` ## 🤝 Contributing Found a bug? Have a feature idea? Contributions are welcome! 1. Fork the repository 2. Create a feature branch: `git checkout -b my-cool-feature` 3. Make your changes and add tests 4. Submit a pull request ## 📝 License AGPLv3. See LICENSE.md for details. ## 🙋‍♀️ Questions? - Check out the [Arxlet documentation](/docs/arxlets) for extending functionality - Browse the source code - it's well-documented and approachable - Open an issue if you find bugs or have suggestions --- _Built with ❤️ for privacy-conscious humans who believe communication should be truly private._