#高阶 #wireguard # #嵌入式 #绑定 #文档

程序+库 wgctrl-rs

对 WireGuard 嵌入式 C 库的高级绑定

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年8月25日

#708Unix API

LGPL-2.1-or-later

83KB
2.5K SLoC

C 1.5K SLoC // 0.0% comments Rust 763 SLoC // 0.0% comments

wgctrl-rs

这是一个真正的烂软件,预预预-alpha 质量。什么都没工作,而且实际工作的事情也没真正工作。藏好你的猫。

文档 (wip!)

许可协议

LGPL 2.1,因为 WireGuard C 库也是基于这个许可协议的

功能

  • 密钥生成
  • 密钥 -> base64 和 base64 -> 密钥转换
  • 读取 iface 配置
  • 写入 iface 配置(包括部分更新,类似于 CLI wg 工具)

待办事项

  • 清理 API
  • 实现 setconf/showconf/addconf 吗?
  • 更好的错误处理
  • 更多的本地化不安全性
  • 修复有关 Key 常量的潜在 UB

其他备注

  • 这是一个非常高级的意图,因此没有链表,不断重写一切,有很多开销,显式的对等添加/删除操作等
  • 非 Linux(wireguard-go、wireguard-rs 等)将需要一个完整的其他后端
  • 名称不是最终的,因为 wireguard-rs 存在 - 可能是 wgapi-rs 或其他?

依赖项

~1–3MB
~56K SLoC