### Run Local HTTP Server Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/dashboard/README.md Start a simple HTTP server in the 'src' directory to serve the UI locally. Python 3 is used in this example. ```sh python3 -m http.server 3000 ``` -------------------------------- ### Install Mosquitto using vcpkg Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/README.md Use vcpkg to download and install Mosquitto. Ensure vcpkg is set up correctly before installing. ```bash git clone https://github.com/Microsoft/vcpkg.git cd vcpkg ./bootstrap-vcpkg.sh ./vcpkg integrate install ./vcpkg install mosquitto ``` -------------------------------- ### Install Client Executables Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/client/CMakeLists.txt Installs the client executables (mosquitto_pub, mosquitto_sub, mosquitto_rr) to the system's binary directory during the installation phase. This makes them available in the system's PATH after installation. ```cmake install(TARGETS mosquitto_pub RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") install(TARGETS mosquitto_sub RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") install(TARGETS mosquitto_rr RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") ``` -------------------------------- ### Install mosquitto_signal Executable Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/apps/mosquitto_signal/CMakeLists.txt Installs the built mosquitto_signal executable to the binary directory of the installation prefix. ```cmake install(TARGETS mosquitto_signal RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ) ``` -------------------------------- ### Mosquitto Configuration: Windows Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/persistence/sqlite.md Example configuration for enabling the SQLite persistence plugin on Windows. Ensure the DLL path is correct for your installation. ```ini persistence_location global_plugin C:\Program Files\Mosquitto\mosquitto_persist_sqlite.dll ``` -------------------------------- ### Start Mosquitto with Configuration File Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/README.md Starts the Mosquitto broker using a specified configuration file. This is necessary for clients connecting from other machines or for setting up authentication. ```bash mosquitto -c /path/to/mosquitto.conf ``` -------------------------------- ### Mosquitto_ctrl Options File Example Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md This example shows how to configure mosquitto_ctrl using an options file. Each line in the file corresponds to a command-line argument, allowing for persistent configuration of connection details and security settings. ```bash --cafile /path/to/my/CA.crt --cert /path/to/my/client.crt --key /path/to/my/client.key -u admin -h mosquitto.example.com ``` -------------------------------- ### Example Listener Configuration Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/migrating-to-2-0.md This is an example of a basic listener configuration within a Mosquitto configuration file. It specifies the port and includes a comment about default authentication behavior. ``` HOCON listener 1883 # ... ``` -------------------------------- ### Start Mosquitto Broker Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/README.md Starts the Mosquitto broker with a basic configuration. Allows anonymous access from the local machine only. ```bash mosquitto ``` -------------------------------- ### Start Mosquitto Broker Service Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/using-the-snap.md Commands to start the Mosquitto broker service using either the snap command or systemd. ```bash snap start mosquitto ``` ```bash systemctl start snap.mosquitto.mosquitto ``` -------------------------------- ### Add Mosquitto Plugin (with Install) Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/CMakeLists.txt Adds a Mosquitto plugin and handles its installation based on the operating system. Use this for defining plugins that should be installed by the build system. ```cmake function(add_mosquitto_plugin PLUGIN_NAME SRCLIST INCLIST LINKLIST) add_mosquitto_plugin_no_install("${PLUGIN_NAME}" "${SRCLIST}" "${INCLIST}" "${LINKLIST}") if(WIN32) install(TARGETS ${PLUGIN_NAME} DESTINATION "${CMAKE_INSTALL_BINDIR}") else() install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ) endif() endfunction() ``` -------------------------------- ### Install Mosquitto as a Windows Service Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/README-windows.txt Install the Mosquitto broker as a Windows service for automatic startup and management. This command assumes Mosquitto is installed in the default directory. ```powershell C:\Program Files\mosquitto\mosquitto install ``` -------------------------------- ### Mosquitto_ctrl Example Connection Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md An example of connecting mosquitto_ctrl to a broker using a username and host. The password can be prompted or provided via the -P flag, though the latter is not recommended. ```bash mosquitto_ctrl -u admin -h localhost dynsec ... ``` -------------------------------- ### Install Tailwind CSS Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/dashboard/README.md Install Tailwind CSS globally using npm. This is the first step in setting up the UI's styling. ```sh npm -g install tailwindcss@3 ``` -------------------------------- ### Install Multiple Mosquitto Service Instances Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/README-windows.txt To run multiple Mosquitto instances, copy the executable to a new name and use that name to install the service. The service will load configuration from an environment variable named after the executable. ```powershell C:\Program Files\mosquitto\eclipse_mosquitto install ``` -------------------------------- ### Silent Mosquitto Installation with Custom Directory Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/README-windows.txt Specify a custom installation directory using the /D switch during a silent installation. Ensure the path is correctly formatted. ```bash mosquitto-2.0.12-install-windows-x64.exe /S /D=:\mosquitto ``` -------------------------------- ### Get Client Information Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md Retrieve detailed information about a specific client. ```bash mosquitto_ctrl dynsec getClient ``` -------------------------------- ### List Clients using mosquitto_ctrl Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md Command-line utility to list clients, specifying the number of clients to return and the starting offset. ```bash mosquitto_ctrl dynsec listClients 10 20 ``` -------------------------------- ### Get Client using mosquitto_ctrl Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md Command-line utility to retrieve information about a client. ```bash mosquitto_ctrl dynsec getClient username ``` -------------------------------- ### Mosquitto Configuration: Other OS Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/persistence/sqlite.md Example configuration for enabling the SQLite persistence plugin on non-Windows operating systems. Adjust the shared object path as needed. ```ini persistence_location global_plugin /path/to/mosquitto_persist_sqlite.so ``` -------------------------------- ### Basic Encrypted Listener Configuration Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/listeners/haproxy.md Configure an encrypted listener on a specific port with certificate and key files. This is a foundational setup for TLS connections. ```mosquitto listener 1884 certfile keyfile # Further listener settings ``` -------------------------------- ### Configure Multiple Listeners in Configuration File Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/migrating-to-2-0.md If you configure listeners in a configuration file and also use the -p option on the command line, this behavior is no longer supported. All listeners must be defined in the configuration file. This example shows how to include multiple listeners in the configuration. ``` HOCON listener 1883 # ... listener 1884 # ... ``` -------------------------------- ### Mosquitto Configuration: File-Based Auth Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/docker/2.1-ubuntu/README.md Example configuration for Mosquitto using file-based authentication and authorization plugins. This requires separate password and ACL files. ```mosquitto listener 1883 plugin /usr/lib/mosquitto_password_file.so plugin_opt_password_file /mosquitto/data/mosquitto.password_file plugin /usr/lib/mosquitto_acl_file.so plugin_opt_acl_file /mosquitto/data/mosquitto.aclfile ``` -------------------------------- ### Configure Mosquitto Plugin Build Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/examples/add-properties/CMakeLists.txt Defines the plugin name and uses a helper function to build and install the Mosquitto plugin. Ensure the source file and any necessary configuration files are correctly specified. ```cmake set (PLUGIN_NAME mosquitto_add_properties) add_mosquitto_plugin_no_install("${PLUGIN_NAME}" "${PLUGIN_NAME}.c" "" "") ``` -------------------------------- ### Run Mosquitto with Custom Ports and Configuration Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/docker/2.1-ubuntu/README.md If your `mosquitto.conf` uses non-default ports, update the `docker run` command to expose these ports. This example exposes both 1883 and 8080. ```bash docker run -it -p 1883:1883 -p 8080:8080 -v :/mosquitto/config eclipse-mosquitto: ``` -------------------------------- ### Mosquitto Unencrypted Listener Configuration Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/listeners/haproxy.md Example Mosquitto configuration for an unencrypted listener on port 1884. This is used in conjunction with the HAProxy direct pass-through setup. ```mqtt listener 1884 ``` -------------------------------- ### Enable Client using mosquitto_ctrl Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md Command-line utility to enable a client. ```bash mosquitto_ctrl dynsec enableClient username ``` -------------------------------- ### Silent Mosquitto Installation Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/README-windows.txt Use the /S switch for a silent installation of Mosquitto. The installer will run without user interaction. ```bash mosquitto-2.0.12-install-windows-x64.exe /S ``` -------------------------------- ### Subscribe to MQTT Messages Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/using-the-snap.md Use this command to subscribe to all messages on the 'snap/example' topic. If the broker is not local, replace 'localhost' with its IP or hostname. The -v flag prints the topic along with the message. ```bash mosquitto_sub -h localhost -t 'snap/example' -v ``` -------------------------------- ### Create Client using mosquitto_ctrl Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md Command-line utility to create a new client with a username and password. ```bash mosquitto_ctrl dynsec createClient username password ``` -------------------------------- ### Create a New Client Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md Create a new client with a username. You will be prompted for the client's password and then the admin user password. ```bash mosquitto_ctrl dynsec createClient ``` -------------------------------- ### Add Mosquitto Plugin (No Install) Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/CMakeLists.txt Defines a CMake library target for a Mosquitto plugin without installing it. Use this for internal plugin development or when installation is handled separately. ```cmake function(add_mosquitto_plugin_no_install PLUGIN_NAME SRCLIST INCLIST LINKLIST) add_library(${PLUGIN_NAME} MODULE ${SRCLIST}) target_include_directories(${PLUGIN_NAME} PRIVATE ${INCLIST} "${mosquitto_SOURCE_DIR}/" "${mosquitto_SOURCE_DIR}/common" "${mosquitto_SOURCE_DIR}/include" ) set_target_properties(${PLUGIN_NAME} PROPERTIES PREFIX "" POSITION_INDEPENDENT_CODE 1 ) target_link_libraries(${PLUGIN_NAME} PRIVATE ${LINKLIST} common-options mosquitto ) endfunction() ``` -------------------------------- ### List All Clients Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md Display a list of all configured client usernames. ```bash mosquitto_ctrl dynsec listClients ``` -------------------------------- ### List All Roles Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md Display a list of all configured role names. ```bash mosquitto_ctrl dynsec listRoles ``` -------------------------------- ### Get Default ACL Access using mosquitto_ctrl Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md Command-line utility to get the default ACL access settings. ```bash mosquitto_ctrl dynsec getDefaultACLAccess ``` -------------------------------- ### Build Mosquitto Binary (Skip Man Pages) Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/README.md Builds the Mosquitto binary without building the man pages. Useful when documentation tools are not available or desired. ```bash make binary ``` -------------------------------- ### Pattern Substitution Example Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/plugins/acl-file.md An example of using pattern substitution to grant write access to sensor data based on the username. ```plaintext pattern write sensor/%u/data ``` -------------------------------- ### Initialize Dynamic Security Configuration Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md Use the mosquitto_ctrl utility to create an initial dynamic security configuration file. This command sets up the admin user and prompts for a password. ```bash mosquitto_ctrl dynsec init path/to/dynamic-security.json admin-user ``` -------------------------------- ### Create a New Client with Client ID Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md Create a new client with both a username and a specific client ID. ```bash mosquitto_ctrl dynsec createClient -i ``` -------------------------------- ### Enable Client Command Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md JSON command to enable a client, allowing it to log in. ```json { "commands":[ { "command": "enableClient", "username": "username to enable" } ] } ``` -------------------------------- ### Publish MQTT Message Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/using-the-snap.md Use this command to publish a message to the 'snap/example' topic. The -m flag specifies the message payload. Ensure the broker is running and accessible. ```bash mosquitto_pub -h localhost -t 'snap/example' -m 'Hello from mosquitto_pub' ``` -------------------------------- ### Get Group Information Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md Retrieve detailed information about a specific group. ```bash mosquitto_ctrl dynsec getGroup ``` -------------------------------- ### Create Client Command Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md JSON command to create a new client with specified username, password, and optional groups and roles. Ensure groups and roles exist before assigning them. ```json { "commands":[ { "command": "createClient", "username": "new username", "password": "new password", "clientid": "", # Optional "textname": "", # Optional "textdescription": "", # Optional "groups": [ { "groupname": "group", "priority": 1 } ], # Optional, groups must exist "roles": [ { "rolename": "role", "priority": -1 } ] # Optional, roles must exist } ] } ``` -------------------------------- ### Get Client Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md Retrieves information about a specific client using its username. ```APIDOC ## Get Client ### Description Retrieves details for a specific client identified by its username. ### Command ```json { "commands":[ { "command": "getClient", "username": "required username" } ] } ``` ### mosquitto_ctrl Example ```bash mosquitto_ctrl dynsec getClient username ``` ``` -------------------------------- ### Enable a Client Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md Re-enable a previously disabled client, allowing it to log in again. ```bash mosquitto_ctrl dynsec enableClient ``` -------------------------------- ### List All Groups Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md Display a list of all configured group names. ```bash mosquitto_ctrl dynsec listGroups ``` -------------------------------- ### Get Anonymous Group Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md Retrieve the name of the group currently assigned to anonymous clients. ```bash mosquitto_ctrl dynsec getAnonymousGroup ``` -------------------------------- ### Get Role Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md Retrieves the configuration details for a specific role, including its associated ACLs. ```json { "commands":[ { "command": "getRole", "rolename": "role", } ] } ``` ```bash mosquitto_ctrl dynsec getRole rolename ``` -------------------------------- ### Get Anonymous Group Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md Retrieves the currently assigned default group for anonymous clients. ```json { "commands":[ { "command": "getAnonymousGroup" } ] } ``` ```bash mosquitto_ctrl dynsec getAnonymousGroup ``` -------------------------------- ### Get Client Command Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md JSON command to retrieve details of a specific client by its username. ```json { "commands":[ { "command": "getClient", "username": "required username" } ] } ``` -------------------------------- ### Glob Python Test Files Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/test/apps/db_dump/CMakeLists.txt Finds all Python files starting with 'db-dump-' in the current directory. ```cmake file(GLOB PY_TEST_FILES db-dump-*.py) ``` -------------------------------- ### Run Mosquitto With Custom Configuration Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/docker/2.1-ubuntu/README.md Mount a local configuration directory to `/mosquitto/config` in the container to use a custom `mosquitto.conf` file. Ensure your configuration includes listeners and authentication settings. ```bash docker run -it -p 1883:1883 -v :/mosquitto/config eclipse-mosquitto: ``` -------------------------------- ### Get Role Information Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md Retrieve detailed information about a specific role, including its assigned ACLs. ```bash mosquitto_ctrl dynsec getRole ``` -------------------------------- ### Mosquitto Configuration: Persistence and Logging Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/docker/2.1-ubuntu/README.md Add these lines to your `mosquitto.conf` to configure data persistence to `/mosquitto/data` and logging to `/mosquitto/log/mosquitto.log`. ```mosquitto persistence_location /mosquitto/data/ plugin /usr/lib/mosquitto_persist_sqlite.so log_dest file /mosquitto/log/mosquitto.log ``` -------------------------------- ### Get Default ACL Access Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/dynamic-security.md Retrieve the current default access permissions for a specific action. ```bash mosquitto_ctrl dynsec getDefaultACLAccess unsubscribe ``` -------------------------------- ### Get Group Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md Retrieves details of a specific group. This command is useful for inspecting group configurations and memberships. ```json { "commands":[ { "command": "getGroup", "groupname: "group to get" } ] } ``` ```bash mosquitto_ctrl dynsec getGroup groupname ``` -------------------------------- ### Publish MQTT Message Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/README.md Publishes the message 'hello world' to the 'test/topic' using mosquitto_pub. ```bash mosquitto_pub -t 'test/topic' -m 'hello world' ``` -------------------------------- ### Get Default ACL Access Command Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md JSON command to retrieve the current default access settings for ACL types. ```json { "commands":[ { "command": "getDefaultACLAccess" } ] } ``` -------------------------------- ### Automate Commit Signing Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/CONTRIBUTING.md Example of how to use the '-s' flag with 'git commit' to automatically add the sign-off to your commit message. ```git git commit -s -m "Adding a cool feature" ``` -------------------------------- ### Build Mosquitto Binaries Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/test/broker/c/CMakeLists.txt Iterates through the defined binaries, creating an executable target for each. It links against 'common-options' and 'libmosquitto', and sets the file suffix to '.exe' for Windows compatibility. ```cmake foreach(BINARY ${BINARIES}) add_executable(${BINARY} ${BINARY}.c ) target_link_libraries(${BINARY} PRIVATE common-options libmosquitto) set_property(TARGET ${BINARY} PROPERTY SUFFIX .exe) endforeach() ``` -------------------------------- ### Mosquitto Unencrypted Listener for TLS Termination Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/listeners/haproxy.md The corresponding Mosquitto listener configuration for a setup where HAProxy handles TLS termination. ```mosquitto listener 1883 # Further listener settings ``` -------------------------------- ### Get Default ACL Access Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/plugins/dynamic-security/README.md Retrieves the current default access permissions for publishClientSend, publishClientReceive, subscribe, and unsubscribe ACL types. ```APIDOC ## Get Default ACL Access ### Description Gets the default access behaviour for the different ACL types. ### Command ```json { "commands":[ { "command": "getDefaultACLAccess" } ] } ``` ### mosquitto_ctrl Example ```bash mosquitto_ctrl dynsec getDefaultACLAccess ``` ``` -------------------------------- ### Create Mosquitto Password File Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/www/pages/documentation/authentication-methods.md Use the `mosquitto_passwd` utility to create a new password file and add the first user. The `-c` flag overwrites existing files. ```bash mosquitto_passwd -c ``` -------------------------------- ### Get Filtered Test Files Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/test/apps/db_dump/CMakeLists.txt Filters the found Python test files based on the exclude list and stores the results in PY_TEST_NAMES. ```cmake get_test_files(PY_TEST_FILES "${EXCLUDE_LIST}" PY_TEST_NAMES) ``` -------------------------------- ### Uninstall Mosquitto as a Windows Service Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/README-windows.txt Uninstall the Mosquitto broker from running as a Windows service. This command assumes Mosquitto is installed in the default directory. ```powershell C:\Program Files\mosquitto\mosquitto uninstall ``` -------------------------------- ### Define C++ Test Binaries Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/test/lib/cpp/CMakeLists.txt Lists the C++ test executables to be built. This list can be extended conditionally, for example, when TLS support is enabled. ```cmake set(BINARIES 01-con-discon-success 01-con-discon-success-v5 01-con-discon-will-clear 01-con-discon-will 01-con-discon-will-v5 01-extended-auth-continue 01-extended-auth-failure 01-keepalive-pingreq 01-no-clean-session 01-pre-connect-callback 01-server-keepalive-pingreq 01-unpwd-set 01-will-set 01-will-unpwd-set 02-subscribe-helper-callback-qos2 02-subscribe-helper-simple-qos2 02-subscribe-qos0 02-subscribe-qos1-async1 02-subscribe-qos1-async2 02-subscribe-qos1 02-subscribe-qos2 02-unsubscribe 02-unsubscribe-v5 03-publish-b2c-qos1 03-publish-b2c-qos1-unexpected-puback 03-publish-b2c-qos2 03-publish-b2c-qos2-len 03-publish-b2c-qos2-unexpected-pubcomp 03-publish-b2c-qos2-unexpected-pubrel 03-publish-c2b-qos1-disconnect 03-publish-c2b-qos1-len 03-publish-c2b-qos1-receive-maximum 03-publish-c2b-qos2 03-publish-c2b-qos2-disconnect 03-publish-c2b-qos2-len 03-publish-c2b-qos2-maximum-qos-0 03-publish-c2b-qos2-maximum-qos-1 03-publish-c2b-qos2-pubrec-error 03-publish-c2b-qos2-receive-maximum 03-publish-loop 03-publish-loop-forever 03-publish-loop-manual 03-publish-loop-start 03-publish-qos0 03-publish-qos0-no-payload 03-request-response-1 03-request-response-2 03-request-response-correlation-1 04-retain-qos0 09-util-topic-tokenise 11-prop-oversize-packet 11-prop-recv 11-prop-send-content-type 11-prop-send-payload-format ) if(WITH_TLS) list(APPEND BINARIES 08-ssl-bad-cacert 08-ssl-connect-cert-auth 08-ssl-connect-cert-auth-custom-ssl-ctx 08-ssl-connect-cert-auth-custom-ssl-ctx-default 08-ssl-connect-cert-auth-enc 08-ssl-connect-no-auth 08-ssl-connect-san 08-ssl-fake-cacert ) endif() ``` -------------------------------- ### Build Mosquitto on Non-Windows Platforms Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/README.md Builds the Mosquitto broker and client utilities on platforms other than Windows by running 'make'. ```bash make ``` -------------------------------- ### Run Generic Mosquitto Docker Image Source: https://github.com/eclipse-mosquitto/mosquitto/blob/master/docker/README.md After building the image, use this command to run a container from the newly created Mosquitto image. The '--rm' flag removes the container when it exits, and '-it' allocates a pseudo-TTY. ```bash docker run --rm -it eclipse-mosquitto:1.5.1 ```