matrix-org/matrix-rust-sdk
GitHub: matrix-org/matrix-rust-sdk
Matrix 协议官方的 Rust 客户端 SDK,封装加密、同步等底层细节以简化 Matrix 客户端开发。
Stars: 2200 | Forks: 459
Matrix Rust SDK
Your all-in-one toolkit for creating Matrix clients with Rust, from simple bots to full-featured apps.
Matrix Rust SDK 是一个库集合,旨在让使用 [Rust] 构建 [Matrix] 客户端变得更加容易。
该 SDK 的开发由 [Element](https://element.io) 自豪地赞助和维护。Element 在其下一代移动端应用 Element X(包括 [iOS](https://github.com/element-hq/element-x-ios) 和 [Android](https://github.com/element-hq/element-x-android))中使用了该 SDK,并计划将其引入到 Web 端和桌面端客户端中。 该 SDK 也是多个 Matrix 项目的基础,我们欢迎所有人参与贡献。
## 目的
该 SDK 负责处理底层细节(如加密、同步和房间状态),因此您可以专注于应用程序的逻辑和 UI。无论您是在编写小型机器人、桌面客户端,还是介于两者之间的其他程序,该 SDK 都旨在提供灵活性、对异步友好的支持,并且开箱即用。
## 项目结构
Matrix Rust SDK 由多个相互构建的 crate 组成。以下 crate 可以直接作为依赖项使用:
- [matrix-sdk-ui](https://docs.rs/matrix-sdk-ui/latest/matrix_sdk_ui/) – 一个高级客户端库,只需最少的设置即可轻松构建功能齐全的 UI 客户端。请查看我们的参考客户端 [multiverse](https://github.com/matrix-org/matrix-rust-sdk/tree/main/labs/multiverse) 作为示例。
- [matrix-sdk](https://docs.rs/matrix-sdk/latest/matrix_sdk/) – 一个中级客户端库,非常适合用于构建机器人、自定义客户端或更高级的抽象。您可以在 [示例目录](https://github.com/matrix-org/matrix-rust-sdk/tree/main/examples) 中找到使用示例。
- [matrix-sdk-crypto](https://docs.rs/matrix-sdk-crypto/latest/matrix_sdk_crypto/) – 一个无网络 I/O 的独立加密状态机,为 Matrix 客户端和库提供端到端加密支持。请参阅 [加密教程](https://docs.rs/matrix-sdk-crypto/latest/matrix_sdk_crypto/tutorial/index.html) 获取分步指南。
所有其他 crate 实际上仅限内部使用,它们之所以被划分为独立的 crate,仅仅是为了组织结构以及缩短编译时间。不建议直接使用它们。
## 状态
该库已被视为可用于生产环境,并为多个客户端实现提供了底层支持,例如 Element X [[1]](https://github.com/element-hq/element-x-ios) [[2]](https://github.com/element-hq/element-x-android)、[Fractal](https://gitlab.gnome.org/World/fractal) 和 [iamb](https://github.com/ulyssa/iamb)。客户端开发者可以放心地基于它进行开发。
## 绑定
Matrix Rust SDK 的高级 crate 可以嵌入到其他环境中,例如 Swift、Kotlin、JavaScript 和 Node.js。请查看 [bindings/](./bindings/) 目录,详细了解如何将 SDK 集成到您选择的编程语言中。
## 许可证
[Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0)
该 SDK 的开发由 [Element](https://element.io) 自豪地赞助和维护。Element 在其下一代移动端应用 Element X(包括 [iOS](https://github.com/element-hq/element-x-ios) 和 [Android](https://github.com/element-hq/element-x-android))中使用了该 SDK,并计划将其引入到 Web 端和桌面端客户端中。 该 SDK 也是多个 Matrix 项目的基础,我们欢迎所有人参与贡献。
标签:Matrix协议, MITM代理, Rust, 即时通讯, 可视化界面, 客户端开发, 数据可视化, 网络流量审计, 通知系统