1 个不稳定版本
0.1.0 | 2024年6月5日 |
---|
#654 在 Unix APIs
33KB
513 代码行数(不包括注释)
capsicum-net
Rust 对 FreeBSD 的 cap_net(3) 库的绑定。 cap_net
通过将它们委派给非沙箱进程(Casper 守护进程)来允许访问几个在能力模式下被禁止的网络 API。
](https://cirrus-ci.com/github/asomers/capsicum-net)
使用方法
请参阅 API 文档中的示例。基本思路是在程序首次启动时创建 Casper
和 CapNetAgent
对象。然后,使用如 CapNetAgent::bind
这样的函数代替 std::net::UdpSocket::bind
。有三种 API 可用
- 直接在
CapNetAgent
对象上操作的低级方法。这些方法与 nix 遗留物配合良好。 - 在标准套接字类型上工作的扩展特性。
- 与 tokio 类型一起工作的扩展特性。这需要使用
tokio
功能构建遗留物。
平台
此遗留物仅在 FreeBSD 13 及更高版本上工作。至少,直到有人将 cap_net
移植到不同的操作系统。
最低支持的 Rust 版本 (MSRV)
capsicum-net
不保证任何特定的 MSRV。相反,它保证与在 FreeBSD 软件包集合中提供的最旧的 rustc 兼容。
许可协议
capsicum-net
主要在 MIT 许可协议和 Apache 许可协议(版本 2.0)的条款下分发。
请参阅 LICENSE-APACHE 和 LICENSE-MIT 以获取详细信息。
赞助
capsicum-net
由 Axcient,inc. 赞助。
依赖项
~2–13MB
~150K SLoC