Zenith 采用 feature-gated facade,按需启用能力。以下教程按部分拆分,从第一行代码到完整数据面逐步深入。
Zenith(齐天)是用 Rust 编写的 L2→L7 全栈网络安全数据面框架。在单一代码库中实现完整的网络栈——从网卡驱动层的 AF_XDP / eBPF 零拷贝数据面,到应用层的路由、WAF、代理、缓存与指纹识别。
它既能构建系统级网络防火墙,也能构建 CDN 边缘节点和 API 网关。默认仅启用最小核心(api + core),其余能力通过 feature 按需开启,避免拖入不必要的重依赖。
安装要求、最小依赖、第一个 Web 应用、运行示例。
L2→L7 全栈分层、20 个 crate 职责、数据面协作模型。
全部 feature 与依赖矩阵、组合特性、按需导入方式。
编译期 Trie 路由、类型化 Extractor、中间件 DAG、静态文件。
HTTP/1.1、HTTP/2、HTTP/3、TLS 1.3 与 QUIC 全协议实现。
SecurityPipeline 8 步管道、WAF、指纹、身份一致性、Fail-Closed。
全链路 L2→L7 运行时热更新,无重建服务器。
跨平台自动降级、构建要求、生产部署建议。
| 维度 | 数值 |
|---|---|
| Crate 数量 | 20(19 子 crate + 1 顶层 facade) |
| 测试基线 | 3235 通过 / 0 失败(53 套件) |
| Rust 版本 | 1.97.1+(Stable,禁止 Nightly/Beta),edition 2024 |
| unsafe 策略 | 全 workspace deny(unsafe_code),隔离于 zen-linux / zen-ebpf 内部 |
| 密码学后端 | rustls + ring(唯一后端,aws-lc-rs 已移除) |
| 许可证 | GPL-2.0 / MIT / Apache-2.0 三选一 + 商业授权 |