Eclipse Mosquitto - An open source MQTT broker
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Norbert Heusser 306b76d7f6 Create github build action to build Mosquitto and added timeout
to python tests waiting for subprocess to avoid github actione being blocked

Signed-off-by: Norbert Heusser <norbert.heusser@cedalo.com>
3 years ago
.github Create github build action to build Mosquitto and added timeout 3 years ago
apps Fixed CMakeLists.txt 4 years ago
client Fix `-f` and `-s` options in mosquitto_rr. 3 years ago
cmake CMake build fixes, including sqlite support. 4 years ago
common Move shared code to common directory 4 years ago
deps picohttpparse dependency 4 years ago
doc Pointless whitespace tidy. 4 years ago
docker Update docker. 4 years ago
examples Use path vars in Makefiles. 4 years ago
include Add mosquitto_persistence_location() for plugins. 3 years ago
installer Long overdue bump of in-development version number. 4 years ago
lib Fix WS reads when fragmented packets are sent. 3 years ago
logo Improve logo files. 9 years ago
man Update changelog and sort documentation order. 3 years ago
misc Pointless whitespace tidy. 4 years ago
plugins Fix casting. 3 years ago
security Fix apparmor incorrectly denying access db tmp file. 5 years ago
service Fix pid paths in systemd unit. 4 years ago
snap Long overdue bump of in-development version number. 4 years ago
src Add mosquitto_persistence_location() for plugins. 3 years ago
test Create github build action to build Mosquitto and added timeout 3 years ago
www Remove dead link. 4 years ago
.gitignore Ignore coverage file. 4 years ago
.travis.yml Travis: Use bionic distro. 6 years ago
CMakeLists.txt Compile broker against pthreads if threading enabled. 4 years ago
CONTRIBUTING.md Fix link in CONTRIBUTING.md. 6 years ago
ChangeLog.txt Add mosquitto_persistence_location() for plugins. 3 years ago
LICENSE.txt Update to EPL-2.0 5 years ago
Makefile Merge branch 'master' into develop 4 years ago
NOTICE.md Update notice file. 4 years ago
README-compiling.md Add man page deps to readme. 4 years ago
README-letsencrypt.md Breaking: Drop privileges after loading the configuration 5 years ago
README-tests.md Consistency in readme naming. 5 years ago
README-windows.txt Merge branch 'master' into develop 4 years ago
README.md Add more documentation on pthread support. 5 years ago
SECURITY.md Add SECURITY.md. 6 years ago
THANKS.txt Pointless whitespace tidy. 4 years ago
about.html Pointless whitespace tidy. 4 years ago
aclfile.example Initial contribution. 12 years ago
appveyor.yml Update appveyor to take into account now available packages. 8 years ago
buildtest.py Pointless whitespace tidy. 4 years ago
config.h Re-enable LTO for gcc builds. 4 years ago
config.mk Move mosquittopp header to include dir. 4 years ago
edl-v10 Pointless whitespace tidy. 4 years ago
epl-v20 Pointless whitespace tidy. 4 years ago
libmosquitto.pc.in Add pkg-config files to CMake build (#213) 9 years ago
libmosquittopp.pc.in Add pkg-config files to CMake build (#213) 9 years ago
mosquitto.conf Add mosquitto_persistence_location() for plugins. 3 years ago
pskfile.example Initial contribution. 12 years ago
pwfile.example Initial contribution. 12 years ago
set-version.sh Long overdue bump of in-development version number. 4 years ago
travis-configure.sh Better attempt at fixing mac travis. 7 years ago
travis-install.sh Don't update homebrew in travis, it takes an age otherwise. 5 years ago

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, 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 - for client JSON output support. Disable with make WITH_CJSON=no Auto detected with CMake.
  • libwebsockets (libwebsockets-dev) - enable with make WITH_WEBSOCKETS=yes
  • 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

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