mosquitto README

The project's README from github.com/eclipse-mosquitto/mosquitto. As one markdown file: README.md.

Eclipse Mosquitto

Mosquitto is an open source implementation of a server for version 5.0, 3.1.1, and 3.1 of the MQTT protocol. It also includes a C and C++ client library, the mosquitto_pub mosquitto_rr, and mosquitto_sub utilities for publishing and subscribing, and the mosquitto_ctrl, mosquitto_signal, and mosquitto_passwd applications for helping administer the broker.

See the following links for more information on MQTT:

Mosquitto project information is available at the following locations:

There is also a public test server available at https://test.mosquitto.org/

Installing

See https://mosquitto.org/download/ for details on installing binaries for various platforms.

Quick start

If you have installed a binary package the broker should have been started automatically. If not, it can be started with a very basic configuration:

mosquitto

Then use mosquitto_sub to subscribe to a topic:

mosquitto_sub -t 'test/topic' -v

And to publish a message:

mosquitto_pub -t 'test/topic' -m 'hello world'

Note that starting the broker like this allows anonymous/unauthenticated access but only from the local computer, so it's only really useful for initial testing.

If you want to have clients from another computer connect, you will need to provide a configuration file. If you have installed from a binary package, you will probably already have a configuration file at somewhere like /etc/mosquitto/mosquitto.conf. If you've compiled from source, you can write your config file then run as mosquitto -c /path/to/mosquitto.conf.

To start your config file you define a listener and you will need to think about what authentication you require. It is not advised to run your broker with anonymous access when it is publicly available.

For details on how to do this, look at the authentication methods available and the dynamic security plugin.

Documentation

Documentation for the broker, clients and client library API can be found in the man pages, which are available online at https://mosquitto.org/man/. There are also pages with an introduction to the features of MQTT, the mosquitto_passwd utility for dealing with username/passwords, and a description of the configuration file options available for the broker.

Detailed client library API documentation can be found at https://mosquitto.org/api/

Building from source

To build from source the recommended route for end users is to download the archive from https://mosquitto.org/download/.

On Windows and Mac, use cmake to build. On other platforms, just run make to build. For Windows, see also README-windows.md.

If you are building from the git repository then the documentation will not already be built. Use make binary to skip building the man pages, or install docbook-xsl on Debian/Ubuntu systems.

Build Dependencies

Equivalent options for enabling/disabling features are available when using the CMake build. It is also possible to enable/disable building of specific plugins in the CMake build.

Building mosquitto - Using vcpkg

You can download and install mosquitto using the vcpkg dependency manager:

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install mosquitto

The mosquitto port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.

Credits

Mosquitto was written by Roger Light [email protected]. There have been substantial contributions by other people in the community both in terms of code and other help.

mosquitto (eclipse-mosquitto/mosquitto)

Searching Database…

11.3K ·GitHub
What is this?Mosquitto is an open source MQTT broker implementation supporting MQTT protocol versions 5.0, 3.1.1 and 3.1, used for lightweight message passing between devices.
Is this just the server, or does it include client tools too?It is primarily a standalone broker (server), but the project also includes a C and C++ client library and command-line utilities for publishing, subscribing, and administering the broker.
How do I get the broker running?Build it from source using the included Makefiles (the project uses Make rather than an alternative build system per the repo setup).
What do I need to build it?The build is driven by Make, and the repo includes Python tooling as part of its development/test setup.
Who typically uses an MQTT broker like this?Developers and administrators building IoT and messaging systems that need lightweight publish/subscribe communication between devices.
What are mosquitto_pub and mosquitto_sub for?They are the included command-line client utilities used to publish messages to and subscribe to topics on an MQTT broker.
What is mosquitto_passwd used for?It is an administration tool included with the project for managing password files used to authenticate clients connecting to the broker.
Is this tied to a specific IoT platform?No, it is a general-purpose MQTT broker, though it is part of the Eclipse IoT family of projects as indicated by its 'eclipse-iot' topic.
Size
17.9 MB
Stars
11.3K
Updated
CommitOct 04
Age
10y
Commits · 90 Days