Versão 1.0.32 · gratuito, sem limites

Um broker MQTT para todo mundo

O ELX-MQTT Broker é um broker em Go com painel web completo. MQTT 3.1.1 e 5.0 são implementados do zero, por inteiro e sem bibliotecas de terceiros. Um único binário, sem dependências: instale e ele funciona.

Debian · Ubuntu · Windows x64 · Linux arm64 e armhf

Instalação no 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 versões do protocolo: 3.1.1 e 5.0
0 bibliotecas MQTT de terceiros
7 idiomas do painel
6 fontes de credenciais

Tudo o que se espera de um broker — e um painel para acompanhar

O broker não apenas entrega mensagens: ele mostra exatamente o que está acontecendo, quem está conectado, quais tópicos têm vida e o que os limitadores descartam.

MQTT 5.0 completo

Todas as propriedades de pacote, aliases de tópicos, assinaturas compartilhadas via $share, identificadores de assinatura, No Local, Retain Handling, Will Delay, Message Expiry, códigos de motivo e o pacote AUTH.

Um painel vivo

Gráficos de taxa de mensagens e de tráfego, saúde da máquina, tópicos ativos e um fluxo de eventos, transmitidos por WebSocket e sem recarregar a página.

Permissões por tópico

Regras de ACL formadas por filtro, modo de acesso e decisão de permitir ou negar, com negação por padrão e um curinga $u que confina o cliente ao próprio ramo em uma única linha.

Ponte entre brokers

Encaminhamento de tópicos nos dois sentidos no nível do servidor: direções out/in/both, prefixos, TLS, proteção contra laços e reconexão automática.

Publicação adiada

Publicar em $delayed/60/topic chega aos assinantes um minuto depois. Compatível com o EMQX, sobrevive a uma reinicialização, e a fila fica visível e cancelável no painel.

Controle de enxurrada e limites por tópico

Um balde de fichas por conexão mais regras por padrão de tópico: reduzir um fluxo a uma taxa (mantendo o último valor) ou descartá-lo por completo.

Seis fontes de credenciais

A lista interna, MariaDB/MySQL, SQLite, CSV, JWT e um serviço HTTP externo. A troca acontece em tempo real, sem reiniciar o broker.

API REST

Tudo o que o painel faz está disponível com um token bearer: crie dispositivos e conceda permissões a partir do seu próprio sistema. Há suporte a tokens somente de leitura.

Sobrevive a reinicializações

Mensagens retidas, sessões persistentes, filas offline e mensagens adiadas ficam em SQLite em Go puro — sem CGO e sem banco de dados externo.

Instalar leva um minuto

Um pacote do repositório APT para Debian e Ubuntu e um binário pronto para Windows. Sem Docker, sem ambiente de execução e sem bibliotecas a instalar.

  1. Adicionar a chave e o repositório

    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. Atualizar a lista de pacotes

    sudo apt-get update
  3. Instalar o broker

    sudo apt-get install elxmqttbroker
  1. Baixar o instalador na página de download

  2. Executá-lo e escolher «Instalar como serviço do Windows»

  3. Abrir o painel e entrar com admin / admin

    http://localhost:8567

Depois da instalação, o painel espera em :8567, o MQTT em :1883 e o MQTT sobre TLS em :8883. O acesso padrão é admin / admin — troque-o no primeiro login.

Todas as opções de download →

Como ele se parece

Temas escuro e claro, sete idiomas de interface e gráficos ao vivo. O painel faz parte do broker: não há nada separado para instalar.

Tela: Como ele se parece

Todas as 24 telas →

O que é suportado

O codec codifica e decodifica todos os 15 tipos de pacote, e os tópicos são comparados segundo a tabela da especificação.

Comum a 3.1.1 e 5.0

  • QoS 0, 1 e 2 com handshakes completos
  • Reenvio após a reconexão
  • Mensagens retidas e limpeza de ramos inteiros
  • Last Will and Testament
  • Sessões limpas e persistentes
  • Keep-alive e tomada de sessão
  • Os curingas + e #
  • Uma árvore $SYS com estatísticas

Somente MQTT 5.0

  • Todas as propriedades de pacote
  • Aliases de tópicos nos dois sentidos
  • Session Expiry Interval
  • Receive Maximum e controle de fluxo
  • Identificadores de assinatura
  • Assinaturas compartilhadas $share/grupo/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 códigos de motivo
  • DISCONNECT do lado do servidor e o pacote AUTH

Transportes

  • :1883 — MQTT sobre TCP
  • :8883 — MQTT sobre TLS
  • :8567/mqtt — MQTT sobre WebSocket
  • :8567 — o painel web
  • Um certificado TLS é gerado na primeira execução
  • Seu próprio certificado vai na configuração

Comprovado sob carga

Submetido a esforço em duas bancadas: pela rede e por loopback. Aqui só o essencial; o relatório completo, com método e tabelas, está a um clique.

30 000 conexões simultâneas sem uma única falha
~1 ms latência ponta a ponta publicador → broker → assinante pela rede
1,35 mi/s mensagens entregues aos assinantes com leque ×100
0 erros no log do broker em todas as execuções

Relatório completo dos testes de carga →

Instale e experimente

O broker é gratuito, o número de dispositivos e mensagens é ilimitado e não é preciso se cadastrar.