4 个版本 (2 个破坏性版本)
0.3.1 | 2024 年 5 月 2 日 |
---|---|
0.3.0 | 2024 年 4 月 28 日 |
0.2.0 | 2024 年 4 月 7 日 |
0.1.0 | 2023 年 8 月 10 日 |
在 网络编程 中排名 399
460KB
10K SLoC
vinezombie 仍在开发中。请谨慎使用。可能存在错误,并且将有进一步的破坏性 0.x 版本发布。预计未来将有许多更多功能。
vinezombie
一个基于 Rust 的模块化 IRCv3 框架。
vinezombie 是一个用于编写 IRCv3 软件(特别是客户端/机器人)的 Rust 框架。
特性
- 注重正确性;在不使用
unsafe
的情况下,应该不可能构造出一个正确大小的消息,该消息一旦写入,就不会解析成相同的消息。 - 零拷贝解析和消息数据的共享。
- 高度可扩展的 IRC 消息解析;没有带有回退情况的枚举。
- 面向客户端的处理程序系统,用于查询或更新服务器状态。
- 对消息标签和
labeled-response
的第一类支持。 - 包括 SASL 在内的 IRCv3 连接注册的实现。
- 创建异步 rustls 连接的便捷工具,包括使用自签名证书的服务器连接。
- 零强制依赖项;最小可选依赖项。
- 设计为灵活和模块化,可作为库或高度可插拔的框架使用。
构建文档和示例
要本地构建和查看文档,请运行
RUSTDOCFLAGS="--cfg doc_unstable" cargo +nightly doc --all-features --open
doc
中的字符串图可以使用以下方式重新渲染
d2 -t 200 -l dagre --pad 0 doc/strings.d2 doc/strings.d2.svg
vinezombie 的示例可以使用其功能的任何组合,并且应该使用 --all-features
构建。
许可证
在 EUPL-1.2 下许可, 在此概述。您同意将您提交的任何贡献用于 vinezombie 的包含,以在此许可证下重新分发。
EUPL 是一种 copyleft 许可证,涵盖网络使用。它要求归属并使包含 vinezombie 的工作可用于用户(包括通过网络连接的用户)在兼容的 copyleft 许可证下(GPL v2、LGPL/GPL/AGPL v3、MPL v2、EUPL v1.2 或参阅许可证文本以获取完整列表和更多信息)。它还要求在分发作品中披露对 vinezombie 的更改,并在此许可证下提供。
然而,该许可证不是自动病毒性的,因为链接或 IPC,并且 vinezombie 的接口可以复制以与使用它的软件进行互操作性。
讨论
如果您想以软实时的方式讨论 vinezombie 的开发,我们官方的 IRC 频道是 #vinezombie 在 Libera.Chat。通过点击 libera.chat 徽章,您可以在顶部找到到网络聊天室的链接。
<jess> why vinezombie lmao
<TheDaemoness> Because. Grapevines. Undead chat protocols.
<jess> oh my god
依赖关系
~0.2–11MB
~128K SLoC