Версия 1.0.54 · MQTT 3.1.1 и 5.0

Бесплатный MQTT-брокер с веб-панелью

ELX-MQTT Broker — бесплатный MQTT-сервер, который запускается на вашей машине одним бинарником. Управляйте клиентами, топиками и правами из встроенной панели. Для обмена MQTT-данными облачный сервис не нужен.

Скачать брокер

Демо показывает панель в режиме просмотра. Свой брокер: Windows x64, Debian и Ubuntu. Поддерживаются TLS и правила доступа к топикам.

Исходный код закрыт. Использование бесплатно, в том числе в коммерческих проектах. Без регистрации, ключа и пробного периода. Условия лицензии.

Debian / Ubuntu · после подключения APT-репозитория
$ sudo apt-get install elx-mqttbroker

$ systemctl is-active elxmqttbroker
active

Веб-панель: http://localhost:8567
2 версии протокола: 3.1.1 и 5.0
0 сторонних MQTT-библиотек
7 языков веб-панели
6 источников учётных записей

Поддерживаемые платформы

Скачать · amd64 / armhf (ARMv7) / arm64

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

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

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 — без внешней базы данных.

Установите брокер на свой сервер

На Debian и Ubuntu — подписанный APT-пакет. На Windows x64 — установщик или переносимый .exe. Отдельный контейнер, среда выполнения и веб-панель не нужны.

  1. Один раз добавьте ключ подписи и репозиторий

    sudo wget -qO /usr/share/keyrings/elx-repo.gpg https://repo.elxmqtt.ru/elx-repo.gpg
    echo "deb [signed-by=/usr/share/keyrings/elx-repo.gpg] https://repo.elxmqtt.ru stable main" | sudo tee /etc/apt/sources.list.d/elx-repo.list
  2. Обновите список пакетов

    sudo apt-get update
  3. Установите брокер и проверьте запуск службы

    sudo apt-get install elx-mqttbroker
    systemctl is-active elxmqttbroker

Загрузки и команды для Linux →

  1. Скачайте установщик или переносимый .exe для Windows x64

  2. Запустите .exe. Если нужен автозапуск, выберите установку как службу Windows

  3. Откройте панель и сразу смените начальный пароль

    http://localhost:8567

Установщик и переносимый .exe →

По умолчанию: панель 8567, MQTT 1883, MQTT через TLS 8883. Начальный вход в панель — admin / admin. Смените пароль, создайте отдельного MQTT-пользователя и выдайте права только на нужные топики. Для доступа из внешней сети настройте TLS с доверенным сертификатом.

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

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

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

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

Все 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
  • :8567/mqtt — MQTT поверх WebSocket
  • :8567 — веб-панель
  • TLS-сертификат создаётся при первом запуске
  • Свой сертификат подставляется в конфиге

Проверено под нагрузкой

Стресс-тесты на двух стендах — по сети и loopback. Здесь только главное; полный отчёт с методикой и таблицами — по ссылке.

30 000 одновременных соединений без единого отказа
~1 мс сквозная задержка «издатель → брокер → подписчик» по сети
1,35 млн/с доставка сообщений подписчикам при fan-out ×100
0 ошибок в логе брокера за все прогоны

Полный отчёт о тестировании →

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

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