Version 1.0.32 · kostenlos, ohne Limits

Ein MQTT-Broker für alle

ELX-MQTT Broker ist ein Go-Broker mit vollwertigem Web-Dashboard. MQTT 3.1.1 und 5.0 sind vollständig und von Grund auf selbst implementiert, ohne fremde Bibliotheken. Eine Binärdatei, keine Abhängigkeiten: installieren und läuft.

Debian · Ubuntu · Windows x64 · Linux arm64 und armhf

Installation unter 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 Protokollversionen: 3.1.1 und 5.0
0 fremde MQTT-Bibliotheken
7 Sprachen im Dashboard
6 Quellen für Zugangsdaten

Alles, was man von einem Broker erwartet — samt Dashboard zum Zusehen

Der Broker stellt nicht nur Nachrichten zu, er zeigt auch genau, was passiert: wer verbunden ist, welche Topics leben, was die Limiter verwerfen.

Vollständiges MQTT 5.0

Sämtliche Paket-Properties, Topic-Aliase, Shared Subscriptions über $share, Subscription Identifier, No Local, Retain Handling, Will Delay, Message Expiry, Reason Codes, das AUTH-Paket.

Ein lebendiges Dashboard

Diagramme zu Nachrichtenrate und Datenverkehr, Systemzustand, aktive Topics und ein Ereignis-Feed — per WebSocket gestreamt, ganz ohne Seitenneuladen.

Rechte auf Topic-Ebene

ACL-Regeln aus Filter + Zugriff + Erlauben oder Verbieten, Deny-by-default und ein Platzhalter $u, der einen Client mit einer einzigen Zeile auf seinen eigenen Zweig beschränkt.

Bridging zwischen Brokern

Bidirektionale Topic-Weiterleitung auf Serverebene: Richtungen out/in/both, Präfixe, TLS, Schleifenschutz und automatischer Reconnect.

Verzögertes Publish

Eine Veröffentlichung auf $delayed/60/topic erreicht die Abonnenten eine Minute später. EMQX-kompatibel, übersteht einen Neustart, und die Warteschlange ist im Dashboard sichtbar und stornierbar.

Flood Control und Topic-Limits

Ein Token-Bucket je Verbindung plus Regeln je Topic-Muster: einen Strom auf eine Rate ausdünnen (der letzte Wert bleibt erhalten) oder ihn ganz verwerfen.

Sechs Quellen für Zugangsdaten

Die interne Liste, MariaDB/MySQL, SQLite, CSV, JWT und ein externer HTTP-Dienst. Der Wechsel erfolgt im laufenden Betrieb, ohne Neustart des Brokers.

REST-API

Alles, was das Dashboard kann, steht mit einem Bearer-Token zur Verfügung: Geräte anlegen und Rechte vergeben aus Ihrem eigenen System heraus. Nur-Lese-Tokens werden unterstützt.

Übersteht Neustarts

Retained Messages, persistente Sitzungen, Offline-Warteschlangen und verzögerte Nachrichten liegen in reinem Go-SQLite — ohne CGO und ohne externe Datenbank.

Die Installation dauert eine Minute

Ein APT-Repository-Paket für Debian und Ubuntu, eine fertige Binärdatei für Windows. Kein Docker, keine Laufzeitumgebung, keine Bibliotheken zum Nachinstallieren.

  1. Schlüssel und Repository hinzufügen

    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. Paketliste aktualisieren

    sudo apt-get update
  3. Broker installieren

    sudo apt-get install elxmqttbroker
  1. Installationsprogramm auf der Download-Seite herunterladen

  2. Ausführen und „Als Windows-Dienst installieren“ wählen

  3. Dashboard öffnen und als admin / admin anmelden

    http://localhost:8567

Nach der Installation wartet das Dashboard auf :8567, MQTT auf :1883 und MQTT über TLS auf :8883. Die Standardanmeldung lautet admin / admin — ändern Sie sie bei der ersten Anmeldung.

Alle Download-Optionen →

So sieht es aus

Dunkles und helles Design, sieben Oberflächensprachen, Live-Diagramme. Das Dashboard ist Teil des Brokers — es gibt nichts separat zu installieren.

Screenshot: So sieht es aus

Alle 24 Ansichten →

Was unterstützt wird

Der Codec kodiert und dekodiert alle 15 Pakettypen, und Topics werden gegen die Tabelle aus der Spezifikation geprüft.

Gemeinsam für 3.1.1 und 5.0

  • QoS 0, 1 und 2 mit vollständigem Handshake
  • Erneute Zustellung nach Reconnect
  • Retained Messages und Leeren ganzer Zweige
  • Last Will and Testament
  • Clean und persistente Sitzungen
  • Keep-alive und Session Takeover
  • Die Platzhalter + und #
  • Ein $SYS-Baum mit Statistiken

Nur MQTT 5.0

  • Sämtliche Paket-Properties
  • Topic-Aliase in beide Richtungen
  • Session Expiry Interval
  • Receive Maximum und Flusskontrolle
  • Subscription Identifier
  • Shared Subscriptions $share/group/filter
  • No Local und Retain As Published
  • Retain Handling 0/1/2
  • Will Delay und Message Expiry
  • Content Type, Response Topic, Correlation Data
  • User Properties und Reason Codes
  • Serverseitiges DISCONNECT und das AUTH-Paket

Transporte

  • :1883 — MQTT über TCP
  • :8883 — MQTT über TLS
  • :8567/mqtt — MQTT über WebSocket
  • :8567 — das Web-Dashboard
  • Ein TLS-Zertifikat wird beim ersten Start erzeugt
  • Ihr eigenes Zertifikat kommt in die Konfiguration

Unter Last bewiesen

Auf zwei Prüfständen belastet — über das Netzwerk und über Loopback. Hier nur die Eckwerte; der vollständige Bericht mit Methodik und Tabellen ist einen Klick entfernt.

30 000 gleichzeitige Verbindungen ohne einen einzigen Fehler
~1 ms Ende-zu-Ende-Latenz Publisher → Broker → Subscriber über das Netzwerk
1,35 Mio./s an Abonnenten zugestellte Nachrichten bei Fan-out ×100
0 Fehler im Broker-Log über alle Läufe hinweg

Vollständiger Lasttest-Bericht →

Installieren und ausprobieren

Der Broker ist kostenlos, die Zahl der Geräte und Nachrichten ist unbegrenzt, und eine Registrierung ist nicht nötig.