📈 GH Trending Explorer 🎲 Surprise me

← all repos

eclipse-mosquitto / mosquitto

git clone https://github.com/eclipse-mosquitto/mosquitto.git 🔥 on GitHub Trending today

Eclipse Mosquitto - An open source MQTT broker

+7
stars, 24h · #396
—
stars, 7 days
—
stars, 30 days
11k
★ total
2.7k
forks · 907 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageC
License—
Created2016-03-10 (10y ago)
Last push5d ago
Watchers275
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-20 — #4 daily in c · +7 ★

GitHub topics

Links

README excerpt
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.
## Links
See the following links for more information on MQTT:
- Community page: 
- MQTT v3.1.1 standard: 
- MQTT v5.0 standard: 
Mosquitto project information is available at the following locations:
- Main homepage: 
- Find existing bugs or submit a new bug: 
- Source code repository: 
There is also a public test server available at 
## Installing
See 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 . 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 
## Building from source
To build from source the recommended route for end users is to download the
archive from .
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
* cJSON - required
* c-ares (libc-ares-dev on Debian based systems) - optional, enable with
 `WITH_SRV=yes`
* libedit - for mos