Versione 1.0.32 · gratuito, senza limiti

Un broker MQTT per tutti

ELX-MQTT Broker è un broker in Go con un pannello web completo. MQTT 3.1.1 e 5.0 sono implementati da zero, per intero e senza librerie di terze parti. Un solo binario, nessuna dipendenza: lo installi e funziona.

Debian · Ubuntu · Windows x64 · Linux arm64 e armhf

Installazione su Debian / Ubuntu
$ sudo apt-get install elxmqttbroker
Setting up elxmqttbroker (1.0.32) ...
Created symlink /etc/systemd/system/multi-user.target.wants/elxmqttbroker.service

ELX MQTT Broker 1.0.32 — listening on :1883, :8883, dashboard on :8567
state restored retained=128 sessions=7 subscriptions=34 delayed=2
2 versioni del protocollo: 3.1.1 e 5.0
0 librerie MQTT di terze parti
7 lingue del pannello
6 fonti di credenziali

Tutto ciò che ci si aspetta da un broker, più un pannello per guardarlo lavorare

Il broker non si limita a consegnare messaggi: mostra esattamente che cosa succede, chi è connesso, quali topic sono vivi e che cosa scartano i limitatori.

MQTT 5.0 completo

Tutte le proprietà dei pacchetti, alias dei topic, sottoscrizioni condivise tramite $share, identificatori di sottoscrizione, No Local, Retain Handling, Will Delay, Message Expiry, codici di motivo e il pacchetto AUTH.

Un pannello vivo

Grafici del ritmo dei messaggi e del traffico, salute della macchina, topic attivi e un flusso di eventi, trasmessi via WebSocket e senza ricaricare la pagina.

Permessi a livello di topic

Regole ACL fatte di filtro, modalità di accesso e decisione di consentire o negare, con negazione predefinita e un segnaposto $u che confina un client al proprio ramo in una sola riga.

Bridging tra broker

Inoltro dei topic nei due sensi a livello di server: direzioni out/in/both, prefissi, TLS, protezione dai loop e riconnessione automatica.

Pubblicazione differita

Pubblicare su $delayed/60/topic raggiunge gli iscritti un minuto dopo. Compatibile con EMQX, sopravvive a un riavvio, e la coda è visibile e annullabile dal pannello.

Controllo delle inondazioni e limiti per topic

Un secchio di gettoni per connessione più regole per schema di topic: ridurre un flusso a una cadenza (mantenendo l'ultimo valore) o scartarlo del tutto.

Sei fonti di credenziali

L'elenco interno, MariaDB/MySQL, SQLite, CSV, JWT e un servizio HTTP esterno. Il cambio avviene a caldo, senza riavviare il broker.

API REST

Tutto ciò che fa il pannello è disponibile con un token bearer: crea dispositivi e concedi permessi dal tuo stesso sistema. Sono supportati i token di sola lettura.

Sopravvive ai riavvii

Messaggi ritenuti, sessioni persistenti, code offline e messaggi differiti vivono in SQLite in Go puro — senza CGO e senza database esterno.

Installare richiede un minuto

Un pacchetto del repository APT per Debian e Ubuntu e un binario pronto per Windows. Niente Docker, nessun ambiente di esecuzione e nessuna libreria da installare.

  1. Aggiungere la chiave e il repository

    sudo wget -qO /usr/share/keyrings/elx-repo.gpg https://repo.um-d.ru/elx-repo.gpg
    echo "deb [signed-by=/usr/share/keyrings/elx-repo.gpg] https://repo.um-d.ru stable main" | sudo tee /etc/apt/sources.list.d/elx-repo.list
  2. Aggiornare l'elenco dei pacchetti

    sudo apt-get update
  3. Installare il broker

    sudo apt-get install elxmqttbroker
  1. Scaricare l'installatore dalla pagina dei download

  2. Eseguirlo e scegliere «Installa come servizio di Windows»

  3. Aprire il pannello e accedere con admin / admin

    http://localhost:8567

Una volta installato, il pannello attende su :8567, MQTT su :1883 e MQTT su TLS su :8883. Le credenziali predefinite sono admin / admin: cambiale al primo accesso.

Tutte le opzioni di download →

Che aspetto ha

Temi scuro e chiaro, sette lingue di interfaccia e grafici in tempo reale. Il pannello fa parte del broker: non c'è nulla da installare a parte.

Schermata: Che aspetto ha

Tutte le 24 schermate →

Che cosa è supportato

Il codec codifica e decodifica tutti i 15 tipi di pacchetto, e i topic sono confrontati secondo la tabella della specifica.

Comune a 3.1.1 e 5.0

  • QoS 0, 1 e 2 con handshake completi
  • Riconsegna dopo la riconnessione
  • Messaggi ritenuti e svuotamento di interi rami
  • Last Will and Testament
  • Sessioni pulite e persistenti
  • Keep-alive e subentro di sessione
  • I caratteri jolly + e #
  • Un albero $SYS con le statistiche

Solo MQTT 5.0

  • Tutte le proprietà dei pacchetti
  • Alias dei topic nei due sensi
  • Session Expiry Interval
  • Receive Maximum e controllo di flusso
  • Identificatori di sottoscrizione
  • Sottoscrizioni condivise $share/gruppo/filtro
  • No Local e Retain As Published
  • Retain Handling 0/1/2
  • Will Delay e Message Expiry
  • Content Type, Response Topic, Correlation Data
  • User Properties e codici di motivo
  • DISCONNECT lato server e il pacchetto AUTH

Trasporti

  • :1883 — MQTT su TCP
  • :8883 — MQTT su TLS
  • :8567/mqtt — MQTT su WebSocket
  • :8567 — il pannello web
  • Al primo avvio viene generato un certificato TLS
  • Il tuo certificato si indica nella configurazione

Provato sotto carico

Sottoposto a stress su due banchi: via rete e in loopback. Qui solo l'essenziale; il rapporto completo, con metodo e tabelle, è a un clic.

30 000 connessioni simultanee senza un solo errore
~1 ms latenza end-to-end publisher → broker → subscriber via rete
1,35 mln/s messaggi consegnati agli iscritti con fan-out ×100
0 errori nel log del broker in tutte le prove

Rapporto completo dei test di carico →

Installalo e provalo

Il broker è gratuito, il numero di dispositivi e messaggi è illimitato e non serve registrarsi.