Версия 1.0 · бесплатно, без ограничений

MQTT-брокер, который видно насквозь

ELX-MQTT Broker — брокер на Go с полноценной веб-панелью. MQTT 3.1.1 и 5.0 реализованы с нуля, целиком, без сторонних библиотек. Один бинарник, никаких зависимостей: поставили и работает.

Debian · Ubuntu · Windows x64 · Linux arm64 и armhf

Установка на Debian / Ubuntu
$ sudo apt-get install elxmqttbroker
Настраивается elxmqttbroker (1.0) ...
Created symlink /etc/systemd/system/multi-user.target.wants/elxmqttbroker.service

ELX MQTT Broker 1.0 — слушает :1883, :8883, панель на :8080
state restored retained=128 sessions=7 subscriptions=34 delayed=2
2 версии протокола: 3.1.1 и 5.0
0 сторонних MQTT-библиотек
7 языков веб-панели
6 источников учётных записей

Всё, что ждёшь от брокера — и панель, чтобы это увидеть

Брокер не только доставляет сообщения, но и показывает, что именно происходит: кто подключён, какие темы живут, что отбрасывается лимитами.

MQTT 5.0 целиком

Все свойства пакетов, псевдонимы тем, общие подписки $share, идентификаторы подписок, No Local, Retain Handling, Will Delay, Message Expiry, коды причин, пакет AUTH.

Живая веб-панель

Графики скорости сообщений и трафика, состояние машины, активные темы, лента событий — обновляются потоком по WebSocket, без перезагрузок страницы.

Права по темам

ACL «фильтр + доступ + разрешить/запретить», deny-by-default, плейсхолдер $u замыкает клиента в собственной ветке одной строкой.

Мост между брокерами

Двусторонняя пересылка тем на уровне сервера: направления out/in/both, префиксы, TLS, защита от петель и авто-переподключение.

Отложенная публикация

Публикация в $delayed/60/тема уходит подписчикам через минуту. Совместимо с EMQX, переживает перезапуск, очередь видна и отменяема в панели.

Флуд-контроль и лимиты тем

Token bucket на подключение и правила по шаблону темы: прореживать до нормы (с сохранением последнего значения) или игнорировать совсем.

Шесть источников учёток

Внутренний список, MariaDB/MySQL, SQLite, CSV, JWT и внешний HTTP-сервис. Переключение на лету, без перезапуска брокера.

REST API

Весь функционал панели доступен по bearer-токену: заводите устройства и раздавайте права из своей системы. Есть режим «только чтение».

Переживает перезапуск

Retain, постоянные сессии, оффлайн-очереди и отложенные сообщения лежат в SQLite на чистом Go — без CGO и внешней базы.

Установка занимает минуту

Пакет в APT-репозитории для Debian и Ubuntu, готовый бинарник для Windows. Ни Docker, ни runtime, ни библиотек ставить не нужно.

  1. Добавьте ключ и репозиторий

    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. Обновите список пакетов

    sudo apt-get update
  3. Установите брокер

    sudo apt-get install elxmqttbroker
  1. Скачайте установщик со страницы загрузки

  2. Запустите его и выберите «Установить как службу Windows»

  3. Откройте панель и войдите как admin / admin

    http://localhost:8080

После установки панель ждёт на :8080, MQTT — на :1883, MQTT over TLS — на :8883. Логин по умолчанию admin / admin: смените его при первом входе.

Все варианты загрузки →

Как это выглядит

Тёмная и светлая темы, семь языков интерфейса, живые графики. Панель — часть брокера, ставить отдельно ничего не нужно.

Скриншот: Как это выглядит

Все 24 экрана →

Что поддерживается

Кодек разбирает и собирает все 15 типов пакетов, темы проверяются по таблице из спецификации.

Общее для 3.1.1 и 5.0

  • QoS 0, 1 и 2 с полными рукопожатиями
  • Переотправка при переподключении
  • Retain-сообщения и очистка веток
  • Last Will и Testament
  • Чистые и постоянные сессии
  • Keep-alive и перехват сессии
  • Подстановки + и #
  • Дерево $SYS со статистикой

Только MQTT 5.0

  • Все свойства пакетов
  • Псевдонимы тем в обе стороны
  • Session Expiry Interval
  • Receive Maximum и контроль потока
  • Идентификаторы подписок
  • Общие подписки $share/группа/фильтр
  • No Local и Retain As Published
  • Retain Handling 0/1/2
  • Will Delay и Message Expiry
  • Content Type, Response Topic, Correlation Data
  • User Properties и коды причин
  • Серверный DISCONNECT и пакет AUTH

Транспорты

  • :1883 — MQTT поверх TCP
  • :8883 — MQTT поверх TLS
  • :8080/mqtt — MQTT поверх WebSocket
  • :8080 — веб-панель
  • TLS-сертификат создаётся при первом запуске
  • Свой сертификат подставляется в конфиге

Поставьте и попробуйте

Брокер бесплатен, число устройств и сообщений не ограничено, регистрация не нужна.