{"id":20279544,"url":"https://github.com/xukeawsl/mqtt-server","last_synced_at":"2025-04-11T06:24:15.254Z","repository":{"id":225602389,"uuid":"766377903","full_name":"xukeawsl/mqtt-server","owner":"xukeawsl","description":"A high-performance mqtt server(broker) implemented using C++20 asio coroutine","archived":false,"fork":false,"pushed_at":"2024-09-18T14:41:32.000Z","size":3581,"stargazers_count":12,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-09-18T16:39:08.075Z","etag":null,"topics":["asio","cpp20-coroutine","linux-platform","mqtt","mqtt-broker","mqtt-server","windows-platform"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xukeawsl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-03T04:58:34.000Z","updated_at":"2024-09-18T14:41:35.000Z","dependencies_parsed_at":"2024-03-05T14:47:50.121Z","dependency_job_id":"0c2eaa1a-0ec3-4fa8-8458-5f362d032bd1","html_url":"https://github.com/xukeawsl/mqtt-server","commit_stats":null,"previous_names":["xukeawsl/mqtt-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xukeawsl%2Fmqtt-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xukeawsl%2Fmqtt-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xukeawsl%2Fmqtt-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xukeawsl%2Fmqtt-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xukeawsl","download_url":"https://codeload.github.com/xukeawsl/mqtt-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224628164,"owners_count":17343282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asio","cpp20-coroutine","linux-platform","mqtt","mqtt-broker","mqtt-server","windows-platform"],"created_at":"2024-11-14T13:31:21.234Z","updated_at":"2024-11-14T13:32:28.384Z","avatar_url":"https://github.com/xukeawsl.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mqtt-server 简介\n[![License](https://img.shields.io/npm/l/mithril.svg)](https://github.com/xukeawsl/mqtt-server/blob/master/LICENSE)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/af9c4bb5e8ec479d9c4e2c76ba2ad6e2)](https://app.codacy.com/gh/xukeawsl/mqtt-server/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n[![Build status](https://ci.appveyor.com/api/projects/status/kw4kntnok7iab55b?svg=true)](https://ci.appveyor.com/project/xukeawsl/mqtt-server)\n\nmqtt-server 是一个使用 C++20 协程开发的支持 MQTT `v3.1.1` 协议的高性能 MQTT Broker,\n支持单机上万的并发连接, CPU 及内存占用小, 可以很好的运行在资源有限的机器上,\n支持 Linux 和 Windows 平台\n\n## 前提\n\n* 需要支持 C++20 的编译器版本(Linux GCC 11.2+, Windows Visual Studio 2022)\n\n## 特性\n\n* 支持完整的 MQTT `3.1.1` 协议\n\n* 支持 ACL 认证 (详见 [How to use ACL](https://github.com/xukeawsl/mqtt-server/wiki/4.How-to-use-ACL) )\n\n* 支持自动订阅 (为新连接的客户端自动订阅指定主题, 不受 ACL 控制)\n\n* 支持 SSL/TLS 安全通信 (`TLS1.2` 和 `TLS1.3`) (详见 [How to use TLS](https://github.com/xukeawsl/mqtt-server/wiki/2.How-to-use-TLS) )\n\n* 比 `EMQX` 更优秀的性能和更低的资源消耗 (详见 [压测报告](https://github.com/xukeawsl/mqtt-server/tree/master/bench) )\n\n* 支持 Docker 部署 (详见 [Use Docker Image](https://github.com/xukeawsl/mqtt-server/wiki/3.Use-Docker-Image) )\n\n* 支持 WebSocket 协议\n\n## 使用\n\n### 1. 克隆源代码\n```bash\ngit clone https://github.com/xukeawsl/mqtt-server.git\ncd mqtt-server\nmkdir build \u0026\u0026 cd build\n```\n\n### 2. Cmake 构建\n\n```bash\n# 默认 Release 级别, 也可以选择 Debug 级别构建\n# cmake -DCMAKE_BUILD_TYPE=Debug ..\ncmake ..\ncmake --build .\n\n# 构建时可以选择日志级别, Release 构建默认日志级别是 Info\n# Debug 构建默认日志级别是 Debug, 支持以下的日志级别\n# Trace, Debug, Info, Warn, Error, Critical, Off\ncmake -DLOG_LEVEL=Error ..\n```\n\n### 3. 运行 mqtt-server\n```bash\n# Linux\n./mqtt-server\n\n# Windows\n.\\mqtt-server.exe\n```\n\n## 文档\n\n关于如何使用 `SSL/TLS` 或其他详细内容见 [wiki](https://github.com/xukeawsl/mqtt-server/wiki) 页面\n\n## 参考\n\n* https://github.com/mcxiaoke/mqtt\n\n* https://github.com/eclipse/mosquitto","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxukeawsl%2Fmqtt-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxukeawsl%2Fmqtt-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxukeawsl%2Fmqtt-server/lists"}