Go to file
Roger A. Light e95327789e Note that zero length retained messages are never retained.
Closes #1871. Thanks to James Kleeh.
2020-10-29 19:39:50 +00:00
.github Previous change to only update on difference causes errors :( 2020-08-06 12:50:18 +01:00
apps dynsec: Add enableClient disableClient commands. 2020-10-29 15:17:12 +00:00
client New dynamic security plugin. 2020-10-27 00:54:55 +00:00
cmake New dynamic security plugin. 2020-10-27 00:54:55 +00:00
deps Move deps directory to root. 2020-10-13 16:06:06 +01:00
doc JOSS paper. 2017-05-17 14:56:28 +01:00
docker New dynamic security plugin. 2020-10-27 00:54:55 +00:00
examples Merge remote-tracking branch 'origin/fixes' into develop 2020-09-24 17:03:14 +01:00
include Document what to do on non-matching plugin versions. 2020-10-24 00:17:13 +01:00
installer Move headers to own directory. 2020-10-07 22:06:01 +01:00
lib Change tls_version option behaviour. 2020-10-27 16:44:03 +00:00
logo Improve logo files. 2016-10-05 15:52:09 +01:00
man Note that zero length retained messages are never retained. 2020-10-29 19:39:50 +00:00
misc/currentcost Merge branch 'master' into develop 2016-06-21 23:33:58 +01:00
plugins dynsec: Add enableClient disableClient commands. 2020-10-29 15:17:12 +00:00
security Fix apparmor profile to match debian packaging. 2014-07-28 09:22:20 +01:00
service Change systemd unit files to create /var/log/mosquitto 2020-07-14 20:10:54 +01:00
snap Bump version, add new www posts. 2020-08-19 14:46:44 +01:00
src dynsec: Clients can be created with no password. 2020-10-29 14:35:11 +00:00
test Dynsec: Rename ACL types for clarity. 2020-10-28 11:03:44 +00:00
www Bump version, add new www posts. 2020-08-19 14:46:44 +01:00
.gitignore New dynamic security plugin. 2020-10-27 00:54:55 +00:00
.travis.yml Travis: Use bionic distro. 2020-03-27 00:07:48 +00:00
about.html Installer and readme updates. 2018-08-16 13:24:07 +01:00
aclfile.example Initial contribution. 2014-05-07 23:27:00 +01:00
appveyor.yml Update appveyor to take into account now available packages. 2018-04-12 10:30:52 +01:00
buildtest.py Build variant fixes. 2020-10-13 16:06:12 +01:00
ChangeLog.txt Fix crash on Windows if loading a plugin fails. 2020-10-27 18:25:00 +00:00
CMakeLists.txt New dynamic security plugin. 2020-10-27 00:54:55 +00:00
compiling.txt Use cJSON for producing JSON output in clients. 2019-10-15 11:59:22 +01:00
config.h Use public memory functions for uthash, for helping with our plugins. 2020-09-23 16:13:29 +01:00
config.mk New dynamic security plugin. 2020-10-27 00:54:55 +00:00
CONTRIBUTING.md Fix link in CONTRIBUTING.md. 2019-08-01 10:30:13 +01:00
edl-v10 Initial contribution. 2014-05-07 23:27:00 +01:00
epl-v10 Initial contribution. 2014-05-07 23:27:00 +01:00
libmosquitto.pc.in Add pkg-config files to CMake build (#213) 2016-09-10 21:48:50 +01:00
libmosquittopp.pc.in Add pkg-config files to CMake build (#213) 2016-09-10 21:48:50 +01:00
LICENSE.txt Initial contribution. 2014-05-07 23:27:00 +01:00
Makefile Build and distribute plugins dir. 2020-10-15 11:22:00 +01:00
mosquitto.conf Add the bridge_bind_address option. 2020-10-27 16:32:21 +00:00
notice.html Eclipse required files. 2014-05-08 22:41:59 +01:00
pskfile.example Initial contribution. 2014-05-07 23:27:00 +01:00
pwfile.example Initial contribution. 2014-05-07 23:27:00 +01:00
readme-tests.md Add make check and document testing procedure. 2019-04-26 16:25:35 +01:00
readme-windows.txt Allow other apps access to log file on Windows. 2019-07-03 11:56:46 +01:00
readme.md Use cJSON for producing JSON output in clients. 2019-10-15 11:59:22 +01:00
SECURITY.md Add SECURITY.md. 2019-05-29 11:02:34 +01:00
set-version.sh Bump version, add new www posts. 2020-08-19 14:46:44 +01:00
THANKS.txt Merge branch 'master' into develop 2017-03-06 21:19:53 +00:00
travis-configure.sh Better attempt at fixing mac travis. 2018-09-25 14:25:02 +01:00
travis-install.sh Path fix for travis. 2020-07-16 16:19:33 +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.txt.

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
  • libwebsockets (libwebsockets-dev) - enable with make WITH_WEBSOCKETS=yes
  • openssl (libssl-dev on Debian based systems) - disable with make WITH_TLS=no
  • xsltproc (xsltproc and docbook-xsl on Debian based systems) - only needed when building from git sources - disable with make WITH_DOCS=no
  • uthash / utlist - bundled versions of these headers are provided, disable their use with make WITH_BUNDLED_DEPS=no
  • cJSON - for client JSON output support. Disable with make WITH_CJSON=no Auto detected with CMake.

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

Credits

Mosquitto was written by Roger Light roger@atchoo.org

Master: Travis Build Status (master) Develop: Travis Build Status (develop) Fixes: Travis Build Status (fixes)