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
No installation needed. Publish a message and watch it arrive instantly.
Messages are sent to our live demo server
Open Admin Interface to see all activity
# 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
Monitor and manage your message broker with ease
Experience the admin interface with our test account:
Native MQTT for real-time push messaging + HTTP for polling. Choose what fits your needs or use both!
MQTT delivers messages instantly with <5ms latency. No polling overhead, no battery drain. Works with mosquitto and standard MQTT tools.
HTTP polling works everywhere — through firewalls, proxies, and restrictive networks. Simple REST API compatible with any language.
Built-in authentication, isolated brokers per user, and rate limiting. Perfect for SaaS and shared environments.
Monitor topics, clients, and statistics in real-time. Track MQTT and HTTP clients separately with our intuitive web interface.
Written in Go for maximum performance. Handles thousands of concurrent connections with ~20MB RAM usage.
Start building immediately with our hosted service
1,000 messages/day
No credit card required
Your own isolated broker
Ready in seconds
Upgrade anytime
Pay as you grow
Try it now with our demo account:
Coming Soon: Pro plans with higher limits, SLA guarantees, and priority support