DBDelve
Dive deep into your data. A fast, native, multi-engine database client written in Rust. Free and open source, no telemetry.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
Our fork of mochi-mqtt/server, the MQTT library mast embeds. Carries fixes upstream has not merged. See FORK.md.
翻译准备中
正在加载完整 README。
查看完整 README ↗[!NOTE] This is a detached fork. The original is mochi-mqtt/server by mochi-co and contributors, MIT licensed, and all credit for this library belongs to them. It is republished here under
github.com/mastmq/mochi/v2because upstream stopped merging —mainhas not moved since 2025-03-01 and 47 pull requests are open — and mast embeds it. See FORK.md for what differs.
English | 简体中文 | 日本語 | Translators Wanted!
🎆 mochi-co/mqtt is now part of the new mochi-mqtt organisation. Read about this announcement here.
Mochi MQTT is an embeddable fully compliant MQTT v5 broker server written in Go, designed for the development of telemetry and internet-of-things projects. The server can be used either as a standalone binary or embedded as a library in your own applications, and has been designed to be as lightweight and fast as possible, with great care taken to ensure the quality and maintainability of the project.
MQTT stands for MQ Telemetry Transport. It is a publish/subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks (Learn more). Mochi MQTT fully implements version 5.0.0 of the MQTT protocol.
Because of the overlap between the v5 specification and previous versions of mqtt, the server can accept both v5 and v3 clients, but note that in cases where both v5 an v3 clients are connected, properties and features provided for v5 clients will be downgraded for v3 clients (such as user properties).
Support for MQTT v3.0.0 and v3.1.1 is considered hybrid-compatibility. Where not specifically restricted in the v3 specification, more modern and safety-first v5 behaviours are used instead - such as expiry for inflight and retained messages, and clients - and quality-of-service flow control limits.
Unless it's a critical issue, new releases typically go out over the weekend.
Mochi MQTT can be used as a standalone broker. Simply checkout this repository and run the cmd/main.go entrypoint in the cmd folder which will expose tcp (:1883), websocket (:1882), and dashboard (:8080) listeners.
cd cmd
go build -o mqtt && ./mqtt
You can now pull and run the official Mochi MQTT image from our Docker repo:
docker pull mochimqtt/server
or
docker run -v $(pwd)/config.yaml:/config.yaml mochimqtt/server
For most use cases, you can use File Based Configuration to configure the server, by specifying a valid yaml or json config file.
A simple Dockerfile is provided for running the cmd/main.go Websocket, TCP, and Stats server, using the allow-all auth hook.
docker build -t mochi:latest .
docker run -p 1883:1883 -p 1882:1882 -p 8080:8080 -v $(pwd)/config.yaml:/config.yaml mochi:latest
You can use File Based Configuration with either the Docker image (described above), or by running the build binary with the --config=config.yaml or --config=config.json parameter.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗