Moustique Logo

Moustique

Dual Protocol Message Broker — MQTT + HTTP

Real-time MQTT push or HTTP polling — you choose what fits your needs

Compatible with mosquitto, standard MQTT clients, and REST APIs

Try It Live — Right Now!

No installation needed. Publish a message and watch it arrive instantly.

📤 Publish Message

Messages are sent to our live demo server
Open Admin Interface to see all activity

📥 Live Messages

Connecting...
Waiting for messages...
Try publishing something!

Get Started in 30 Seconds

# Install mosquitto tools
sudo apt install mosquitto-clients  # Linux
brew install mosquitto               # macOS

# Subscribe to messages (Terminal 1)
mosquitto_sub -h localhost -p 1883 \
  -t "sensors/#" \
  -u demo -P demo123

# Publish a message (Terminal 2)
mosquitto_pub -h localhost -p 1883 \
  -t "sensors/temperature" \
  -m "23.5°C" \
  -u demo -P demo123

# Messages delivered instantly (no polling needed)!
# Compatible with any MQTT client or library
# Install
pip install moustique paho-mqtt

# Create client with MQTT (real-time push)
from moustique import Moustique

client = Moustique(
    ip="localhost", port="33334",
    username="demo", password="demo123",
    use_mqtt=True  # Enable MQTT for instant delivery
)

# Subscribe to messages (delivered instantly via MQTT)
def on_message(topic, message, from_name):
    print(f"📨 {topic}: {message}")

client.subscribe("/sensors/#", on_message)
client.publish("/sensors/temp", "23.5°C")

while True:
    client.tick()  # Messages arrive automatically with MQTT
    time.sleep(1)
// Install
npm install moustique

// Publish a message
import { Moustique } from 'moustique';

const client = new Moustique({
    ip: 'localhost',
    port: '33334',
    clientName: 'my-app'
});
// Or use cloud: ip: 'cloud.moustique.xyz', port: '80'

await client.publish('/sensors/temperature', '23.5');

// Subscribe to messages
await client.subscribe('/sensors/#', (topic, message, from) => {
    console.log(`Got: ${message}`);
});

setInterval(async () => {
    await client.pickup();  // Poll for messages
}, 1000);
// Install
go get github.com/moustiqueserver/moustique/clients/go/moustique

// Publish a message
package main

import "github.com/moustiqueserver/moustique/clients/go/moustique"

func main() {
    client := moustique.New("localhost", "33334", "my-app", "", "")
    // Or use cloud: New("cloud.moustique.xyz", "80", "my-app", "", "")
    client.Publish("/sensors/temperature", "23.5")

    // Subscribe to messages
    client.Subscribe("/sensors/#", func(topic, message, from string) {
        fmt.Printf("Got: %s\n", message)
    })

    for {
        client.Pickup()
        time.Sleep(time.Second)
    }
}
# Download CLI
curl -O https://moustique.xyz/downloads/moustique-cli
chmod +x moustique-cli

# Publish a message
./moustique-cli -h localhost -p 33334 -a pub \
    -t /sensors/temperature -m "23.5"

# Subscribe to messages (in another terminal)
./moustique-cli -h localhost -p 33334 -a sub \
    -t /sensors/# -c my-subscriber

# Check server version
./moustique-cli -h localhost -p 33334 -a version

Powerful Admin Interface

Monitor and manage your message broker with ease

Real-time Monitoring

Moustique Admin Interface

📊 Live Statistics

  • Active clients and connections
  • Message throughput metrics
  • Topics and subscriptions
  • Request rate monitoring

👥 User Management

  • Create and manage users
  • Set rate limits per user
  • View user activity logs
  • Multi-tenant isolation

🔍 Debugging Tools

  • Live message inspection
  • Client connection details
  • Server logs viewer
  • Performance diagnostics

Why Moustique?

🔄

Dual Protocol Support

Native MQTT for real-time push messaging + HTTP for polling. Choose what fits your needs or use both!

Real-Time Push

MQTT delivers messages instantly with <5ms latency. No polling overhead, no battery drain. Works with mosquitto and standard MQTT tools.

🌐

Universal HTTP Fallback

HTTP polling works everywhere — through firewalls, proxies, and restrictive networks. Simple REST API compatible with any language.

🔒

Secure & Multi-Tenant

Built-in authentication, isolated brokers per user, and rate limiting. Perfect for SaaS and shared environments.

📊

Beautiful Admin UI

Monitor topics, clients, and statistics in real-time. Track MQTT and HTTP clients separately with our intuitive web interface.

🚀

Blazing Fast & Lightweight

Written in Go for maximum performance. Handles thousands of concurrent connections with ~20MB RAM usage.

Try Moustique Cloud

Start building immediately with our hosted service

🚀 cloud.moustique.xyz

Free Tier

1,000 messages/day
No credit card required

⚙️

Instant Setup

Your own isolated broker
Ready in seconds

📈

Easy Scaling

Upgrade anytime
Pay as you grow

Try it now with our demo account:

Username: demo
Password: demo123
Launch Cloud Console Create Free Account

Coming Soon: Pro plans with higher limits, SLA guarantees, and priority support