Version 1.0.32 · gratuit, sans limites

Un broker MQTT pour tout le monde

ELX-MQTT Broker est un broker en Go doté d'un tableau de bord web complet. MQTT 3.1.1 et 5.0 sont implémentés de zéro, intégralement, sans bibliothèque tierce. Un seul binaire, aucune dépendance : installez-le et il tourne.

Debian · Ubuntu · Windows x64 · Linux arm64 et armhf

Installation sur 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 versions du protocole : 3.1.1 et 5.0
0 bibliothèque MQTT tierce
7 langues du tableau de bord
6 sources d'identifiants

Tout ce qu'on attend d'un broker — plus un tableau de bord pour l'observer

Le broker ne se contente pas de distribuer les messages, il montre exactement ce qui se passe : qui est connecté, quels topics vivent, ce que les limiteurs écartent.

MQTT 5.0 au complet

Toutes les propriétés de paquet, alias de topics, abonnements partagés via $share, identifiants d'abonnement, No Local, Retain Handling, Will Delay, Message Expiry, codes de raison, le paquet AUTH.

Un tableau de bord vivant

Courbes de débit de messages et de trafic, santé de la machine, topics actifs et fil d'événements — diffusés par WebSocket, sans aucun rechargement de page.

Droits au niveau du topic

Des règles ACL faites d'un filtre, d'un mode d'accès et d'une décision autoriser ou refuser, le tout-interdit par défaut, et un substitut $u qui confine un client à sa propre branche en une seule ligne.

Pontage entre brokers

Transfert de topics bidirectionnel au niveau du serveur : directions out/in/both, préfixes, TLS, protection contre les boucles et reconnexion automatique.

Publication différée

Publier sur $delayed/60/topic atteint les abonnés une minute plus tard. Compatible EMQX, survit à un redémarrage, et la file est visible et annulable dans le tableau de bord.

Anti-inondation et limites par topic

Un seau à jetons par connexion, plus des règles par motif de topic : ramener un flux à une cadence (en gardant la dernière valeur) ou l'écarter entièrement.

Six sources d'identifiants

La liste interne, MariaDB/MySQL, SQLite, CSV, JWT et un service HTTP externe. Le changement se fait à chaud, sans redémarrer le broker.

API REST

Tout ce que fait le tableau de bord est accessible avec un jeton bearer : créez des appareils et accordez des droits depuis votre propre système. Les jetons en lecture seule sont pris en charge.

Survit aux redémarrages

Messages retenus, sessions persistantes, files hors ligne et messages différés vivent dans un SQLite en Go pur — sans CGO ni base de données externe.

L'installation prend une minute

Un paquet du dépôt APT pour Debian et Ubuntu, un binaire prêt pour Windows. Pas de Docker, pas d'environnement d'exécution, aucune bibliothèque à installer.

  1. Ajouter la clé et le dépôt

    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. Actualiser la liste des paquets

    sudo apt-get update
  3. Installer le broker

    sudo apt-get install elxmqttbroker
  1. Télécharger l'installateur depuis la page de téléchargement

  2. L'exécuter et choisir « Installer comme service Windows »

  3. Ouvrir le tableau de bord et se connecter avec admin / admin

    http://localhost:8567

Une fois installé, le tableau de bord attend sur :8567, MQTT sur :1883 et MQTT sur TLS sur :8883. L'identifiant par défaut est admin / admin — changez-le à la première connexion.

Toutes les options de téléchargement →

À quoi cela ressemble

Thèmes sombre et clair, sept langues d'interface, courbes en direct. Le tableau de bord fait partie du broker — il n'y a rien à installer à côté.

Capture : À quoi cela ressemble

Les 24 écrans →

Ce qui est pris en charge

Le codec encode et décode les 15 types de paquets, et les topics sont mis en correspondance selon la table de la spécification.

Commun à 3.1.1 et 5.0

  • QoS 0, 1 et 2 avec poignées de main complètes
  • Retransmission après reconnexion
  • Messages retenus et purge de branches entières
  • Last Will and Testament
  • Sessions propres et persistantes
  • Keep-alive et reprise de session
  • Les jokers + et #
  • Une arborescence $SYS avec des statistiques

MQTT 5.0 uniquement

  • Toutes les propriétés de paquet
  • Alias de topics dans les deux sens
  • Session Expiry Interval
  • Receive Maximum et contrôle de flux
  • Identifiants d'abonnement
  • Abonnements partagés $share/groupe/filtre
  • No Local et Retain As Published
  • Retain Handling 0/1/2
  • Will Delay et Message Expiry
  • Content Type, Response Topic, Correlation Data
  • User Properties et codes de raison
  • DISCONNECT côté serveur et le paquet AUTH

Transports

  • :1883 — MQTT sur TCP
  • :8883 — MQTT sur TLS
  • :8567/mqtt — MQTT sur WebSocket
  • :8567 — le tableau de bord web
  • Un certificat TLS est généré au premier démarrage
  • Votre propre certificat se place dans la configuration

Éprouvé sous charge

Mis à l'épreuve sur deux bancs — par le réseau et en boucle locale. Ici seulement l'essentiel ; le rapport complet, avec méthode et tableaux, est à un clic.

30 000 connexions simultanées sans le moindre échec
~1 ms latence de bout en bout éditeur → broker → abonné par le réseau
1,35 M/s messages distribués aux abonnés avec un fan-out ×100
0 erreur dans le journal du broker sur l'ensemble des essais

Rapport complet des tests de charge →

Installez et essayez

Le broker est gratuit, le nombre d'appareils et de messages est illimité, et aucune inscription n'est demandée.