#bindings #embeddable #wireguard #don't #hide #nothing #wgctrl-rs

sys wgctrl-sys

WireGuard 嵌入式 C 库的原始绑定

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018 年 8 月 25 日

#31 in #hide


用于 wgctrl-rs

LGPL-2.1 或更高版本

47KB
1.5K SLoC

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

wgctrl-rs

这是一个真正的漏洞软件,预-预-预-预-预-测试质量。什么也不工作,而且实际上工作的东西也不工作。藏好你的猫。

文档 (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 或其他什么?

依赖

~0–2MB
~38K SLoC