{"repo":"ortuman/narwhal","free":true,"listed":false,"github":"https://github.com/ortuman/narwhal","clone":"git clone https://github.com/ortuman/narwhal.git","description":"An extensible message broker for edge applications","language":"Rust","stars":132,"topics":["messaging","pubsub","real-time","rust","async","protocol","tcp","chat","iot","edge"],"license":"BSD-3-Clause","category":"chat-messaging","readme_excerpt":"Narwhal: An extensible message broker for edge applications Why Narwhal? Narwhal was born out of a specific frustration: Building a modern chat feature shouldn't be this hard. When trying to integrate real-time chat into a startup project, the existing options forced a difficult trade-off: 1. XMPP (e.g., ejabberd) : Powerful, but massive complexity, XML overhead, and a steep learning curve for simple needs. 2. MQTT Brokers : Lightweight and fast, but rigid. Implementing custom authentication, dynamic permissions, or message validation often requires writing complex broker plugins in C/C++ or wrapping the broker in a \"sidecar\" mess. Narwhal is the middle ground. It provides the lightweight performance of an edge broker but delegates the \"brains\" (Authentication, Authorization, Validation) to your application code via a Modulator. What is a Modulator? A modulator is an external service that implements custom application logic on top of Narwhal's messaging layer. Rather than embedding application-specific features in the server, Narwhal delegates these concerns to a modulator, keeping the core server lightweight and focused on message routing. Each Narwhal server connects to exactly one modulator , ensuring consistent application protocol semantics. Common Modulator Use Cases: - Custom Authentication : JWT validation, OAuth flows, or proprietary auth schemes - Authorization & Access Control : Complex permission rules beyond basic channel ACLs - Content Validation : Message schem","default_branch":null,"files":null,"tree":[],"storefront":"/r/ortuman","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ortuman/narwhal/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}