/hivemq-community-edition

HiveMQ CE is a Java-based open source MQTT broker that fully supports MQTT 3.x and MQTT 5. It is the foundation of the HiveMQ Enterprise Connectivity and Messaging Platform

Primary LanguageJavaApache License 2.0Apache-2.0

HiveMQ Community Edition

HiveMQ Community

Build Status

HiveMQ CE is a Java-based open source MQTT broker that fully supports MQTT 3.x and MQTT 5.

It is the foundation of the HiveMQ Enterprise Connectivity and Messaging Platform and implements all MQTT features. This project is the technical core of many of the largest MQTT deployments and is now available as Open Source Software under the Apache 2 license.

Features

  • All MQTT 3.1, 3.1.1 and MQTT 5.0 features

  • MQTT over TCP, TLS, WebSocket and Secure WebSocket transport

  • Java Extension SDK for:

    • Authentication

    • Authorization

    • Client Initializers

    • MQTT Packet Interceptors

    • Interacting with Publishes, Retained Messages, Clients and Subscriptions

  • Running on Windows, Linux and MacOS (Linux is recommended)

HiveMQ CE is compatible with all MQTT 3 and MQTT 5 clients, including Eclipse Paho and HiveMQ MQTT Client.

Documentation

The documentation for the HiveMQ CE can be found here.

HiveMQ Community Forum

The ideal place for questions or discussions about the HiveMQ Community Edition is our brand new HiveMQ Community Forum.

How to use

Quick start

  • Download the latest HiveMQ CE binary package.

  • Unzip the package

  • Run the run.sh (Linux/OSX) or run.bat (Windows) in the bin folder of the package.

cd hivemq-ce-<version>
./bin/run.sh

You can now connect MQTT clients to <ip address>:1883.

Caution
If you want to connect devices on external networks to HiveMQ CE, please make sure your server is reachable from those networks and the required ports (default: 1883) are accessible through your firewall.

Building from source

Prerequisites

At least Java version 11 is required to build and run HiveMQ CE.

If you are in doubt, you can check the installed Java version by entering java -version on your command line.

Building the binary package

Check out the git repository and build the binary package.

git clone https://github.com/hivemq/hivemq-community-edition.git

cd hivemq-community-edition

./gradlew clean packaging

The package hivemq-ce-<version>.zip is created in the sub-folder build/zip/.

Start

Unzip the created binary package

cd hivemq-ce-<version>

./bin/run.sh

For further development instructions see the contribution guidelines.

Contributing

If you want to contribute to HiveMQ CE, see the contribution guidelines.

License

HiveMQ Community Edition is licensed under the APACHE LICENSE, VERSION 2.0. A copy of the license can be found here.