Meshblu-Compatible IoT Mesh

FRESHBLU

Signal-driven device messaging. Built in Rust.

Protocol HTTP / WS / MQTT Runtime Rust + Axum Lineage Meshblu v2
HTTP REST WebSocket MQTT 3.1.1
01 Capabilities
Messaging

Send messages between devices over HTTP, WebSocket, or MQTT. Subscriptions route events automatically.

Permissions

Fine-grained whitelists control who can discover, configure, send to, and receive from each device.

Multi-Protocol

Connect via REST API, persistent WebSocket, or MQTT broker. All protocols share the same device mesh.

Subscriptions

Subscribe to message.received, message.sent, configure.received, and more. Fan-out across connected clients.

Tokens

Generate multiple session tokens per device. Revoke individually or reset all. bcrypt-hashed storage.

Webhooks

Configure HTTP forwarders per event type. Outbound webhooks fire on message delivery, config changes, and more.

02 Quick Start
01 Register a device
bash
curl -X POST https://api.freshblu.org/devices
02 Send a message
bash
curl -X POST https://api.freshblu.org/messages \
  -H "meshblu_auth_uuid: YOUR_UUID" \
  -H "meshblu_auth_token: YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"devices": ["TARGET_UUID"], "payload": {"hello": "world"}}'
03 Listen via WebSocket
javascript
const ws = new WebSocket('wss://api.freshblu.org/ws');
ws.send(JSON.stringify({action: 'identity', uuid: 'YOUR_UUID', token: 'YOUR_TOKEN'}));
ws.onmessage = (e) => console.log(JSON.parse(e.data));
03 Stack
Rust Axum PostgreSQL Redis NATS SQLite Arduino SDK WASM Client