Go to file
2024-02-26 18:25:31 +00:00
.github Windows build: Update cjson and sqlite versions 2024-01-31 17:14:08 +00:00
apps Test improvements, remove redundant code 2024-02-26 18:25:31 +00:00
client Test improvements, remove redundant code 2024-02-26 18:25:31 +00:00
cmake Add argon2 password hash support 2023-11-20 22:58:42 +00:00
common Merge branch 'fixes' into develop 2024-02-21 23:30:33 +00:00
deps picohttpparse dependency 2021-11-17 10:16:41 +00:00
doc Pointless whitespace tidy. 2021-10-05 15:20:37 +01:00
docker Merge branch 'fixes' into develop 2024-02-21 23:30:33 +00:00
examples Fix build 2023-09-19 22:48:24 +01:00
fuzzing Fuzzing: Force static linking of argon2 2024-02-26 14:12:44 +00:00
include Refactor headers for easier discovery. 2023-12-23 12:59:58 +00:00
installer Refactor headers for easier discovery. 2023-12-23 12:59:58 +00:00
lib Merge branch 'fixes' into develop 2024-02-21 23:30:33 +00:00
logo
make Fix build 2023-09-19 22:48:24 +01:00
man mosquitto_sub: Add optional hex payload field separation 2024-02-26 00:19:32 +00:00
misc Fix multiple domains in renewal. 2022-12-30 10:34:18 +00:00
plugins Merge branch 'fixes' into develop 2024-02-21 23:30:33 +00:00
security
service Systemd: Add mosquitto group ownership 2022-07-20 17:03:42 +01:00
snap Refactor headers for easier discovery. 2023-12-23 12:59:58 +00:00
src Merge branch 'fixes' into develop 2024-02-21 23:30:33 +00:00
test Test improvements, remove redundant code 2024-02-26 18:25:31 +00:00
www Merge branch 'fixes' into develop 2024-02-21 23:30:33 +00:00
.gitignore Merge branch 'master' into develop 2023-09-09 15:20:40 +01:00
about.html Pointless whitespace tidy. 2021-10-05 15:20:37 +01:00
aclfile.example
appveyor.yml
buildtest.py Add argon2 password hash support 2023-11-20 22:58:42 +00:00
ChangeLog.txt mosquitto_sub: Add optional hex payload field separation 2024-02-26 00:19:32 +00:00
CMakeLists.txt Fix error paste 2024-01-31 16:28:21 +00:00
config.h Fix for Windows build 2023-11-19 09:46:13 +00:00
config.mk Merge branch 'fixes' into develop 2024-02-21 23:30:33 +00:00
CONTRIBUTING.md
edl-v10 Pointless whitespace tidy. 2021-10-05 15:20:37 +01:00
epl-v20 Pointless whitespace tidy. 2021-10-05 15:20:37 +01:00
libmosquitto.pc.in
libmosquittopp.pc.in
LICENSE.txt
Makefile mosquitto_sub: Add optional hex payload field separation 2024-02-26 00:19:32 +00:00
mosquitto.conf Limit bridge restart base and cap to prevent integer overflow. 2023-03-03 22:11:54 +00:00
NOTICE.md
pskfile.example
pwfile.example
README-compiling.md
README-letsencrypt.md
README-tests.md
README-windows.txt Merge branch 'master' into develop 2021-10-27 17:19:33 +01:00
README.md Remove broken Travis links. 2023-08-16 14:01:21 +01:00
SECURITY.md
set-version.sh Bump version. 2023-08-22 08:40:19 +01:00
THANKS.txt Pointless whitespace tidy. 2021-10-05 15:20:37 +01:00

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, and the mosquitto_pub and mosquitto_sub utilities for publishing and subscribing.

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 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'

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

  • c-ares (libc-ares-dev on Debian based systems) - only when compiled with make WITH_SRV=yes
  • cJSON - required for dynsec plugin, broker control plugin, and for client JSON output support.
  • libwebsockets (libwebsockets-dev) - enable with make WITH_WEBSOCKETS=lws
  • openssl (libssl-dev on Debian based systems) - disable with make WITH_TLS=no
  • pthreads - for client library thread support. This is required to support the mosquitto_loop_start() and mosquitto_loop_stop() functions. If compiled without pthread support, the library isn't guaranteed to be thread safe.
  • uthash / utlist - bundled versions of these headers are provided, disable their use with make WITH_BUNDLED_DEPS=no
  • xsltproc (xsltproc and docbook-xsl on Debian based systems) - only needed when building from git sources - disable with make WITH_DOCS=no

Equivalent options for enabling/disabling features are available when using the CMake build.

Credits

Mosquitto was written by Roger Light roger@atchoo.org