Bussin is a client-side Azure Service Bus explorer. It runs entirely in your browser as a Progressive Web App (PWA). You can access the live version at https://bussin.dev.
Because all connections are established directly from your browser to Azure, there is no backend proxy or intermediate server transiting your credentials or messaging payloads.
- Background Operations: Run connection-safe bulk actions in the background without freezing the user interface.
- Batch Transmissions: Send high-volume message payloads using concurrent AMQP pipelining.
- Bulk Management: Resubmit or delete combinations of active and dead-letter messages with dynamic depth-locking to prevent data loss.
- Namespace Organization: Manage multiple Entra ID environments using folder nesting and text searching.
- Message Search: Search and peek messages using property and body pattern matching.
For visual walkthroughs, screenshots, and detailed guides of these features, visit the website at bussin.dev.
- Direct Client-Side Architecture: Your data never leaves your browser. Bussin communicates directly with Azure APIs.
- Zero Installation: Access the tool online at https://bussin.dev or install it as a PWA.
- Entra ID Integration: Authenticate securely using your existing Azure identity and Role-Based Access Control (RBAC) roles.
Bussin operates under a 100% proxy-free, client-side security model.
When you open Bussin, your browser acts as the direct orchestrator of all network and authentication flows, bypassing intermediate relay servers or third-party databases.
graph TD
subgraph "Browser Sandbox (100% Client-Side)"
direction TB
UI["Blazor WASM UI / Blades"]
State["ExplorerViewModel & Cache"]
MSAL["MSAL.js Authentication"]
subgraph "Network Stack"
ARMClient["ARM HTTP Client"]
AMQPClient["Rhea AMQP-over-WebSockets"]
end
end
subgraph "Azure Cloud Endpoints"
direction TB
AAD["Entra ID"]
ARM["Azure Resource Manager <br> management.azure.com"]
ASBData["Service Bus Data Plane <br> namespace.servicebus.windows.net"]
end
%% Authentication flows
MSAL -.->|"1. Authenticate and Consent"| AAD
AAD -.->|"2. Return Access Tokens"| MSAL
%% ARM Resource Discovery
UI -->|"Discover Namespaces"| State
State -->|"3. Query Resources <br> REST + CORS"| ARMClient
ARMClient -->|"HTTPS GET <br> Auth: Bearer ARM Token"| ARM
%% Service Bus Data Plane Operations
State -->|"4. Active Messaging Operations"| AMQPClient
AMQPClient -->|"WSS Tunnel <br> Bypasses CORS"| ASBData
AMQPClient -->|"5. CBS Handshake <br> Auth: SB Token"| ASBData
- Azure Resource Manager (ARM) Discovery: Bussin queries the Azure management API over HTTPS using standard CORS (Cross-Origin Resource Sharing) requests. This enables automatic resource discovery of subscriptions, resource groups, namespaces, queues, and topics without typing connection strings.
- Azure Service Bus Data Plane (CORS Bypass): Standard Azure Service Bus data-plane REST endpoints lack CORS headers, which prevents standard browser HTTPS REST calls. Bussin bypasses this restriction by establishing direct AMQP 1.0 connections over secure WebSockets (
wss://<namespace>.servicebus.windows.net:443/$servicebus/websocket), which do not fall under CORS restrictions. - Identity and Claims-Based Security: All communication is secured using your active Entra ID tokens. The client performs an AMQP Claims-Based Security (CBS) handshake with the
$cbsnode of the namespace directly, matching standard enterprise security policies without storing credentials.
Bussin serves as a cross-platform, web-native alternative to traditional desktop messaging clients:
- No Backend: Unlike other web-based explorers, Bussin has no backend. Your Service Bus connection strings or tokens are never sent to external servers.
- Clean UI: A responsive interface built with Blazor WebAssembly.
- Dev-Focused: Simple debugging for queues, topics, and subscriptions.
Bussin respects your Azure RBAC configuration. It uses two-step delegated consent:
- Azure Management API: To list namespaces and entities.
- Azure Service Bus: For data-plane operations (Peek, Send, etc.).
Required Roles: Azure Service Bus Data Owner, Receiver, or Sender.
Requirements:
- .NET 10 SDK
- Node.js 20+
# Build client-side AMQP library
cd client-js && npm ci && npm run build
# Build Blazor WASM app
cd ../src && dotnet publish -c ReleaseWhen creating a new release of Bussin on GitHub, please ensure the release notes include a link pointing back to the official site:
For more details and live usage, visit https://bussin.dev.
Business Source License 1.1 (BSL) - See LICENSE file for details.
- Usage of the software is always free for personal, educational, or internal business use.
- Commercial redistribution, rebranding, or hosting this software as a service (SaaS) by third parties is prohibited.
Disclaimer: Bussin is a community tool and is not officially supported by Microsoft. Use at your own risk.
Looking for the marketing website or documentation source code? Visit sgebb/bussin-site.