vopono 是文章作者自己的第一个有用的 Rust 项目. vopono 是一个linux 的 VPN 工具, 可以让不同的程序在临时的 network namespace 上启动, 以便每个程序都使用各自独立的 VPN连接,而不影响系统上的其他程序.
EnumsRust对 enum 的原生支持,让推导和 debug 更加的简单和方便(例如在为OpenVPN协议上选择 TCP 还是 UDP), Rust 编译器会强制我们处理 enum 的所有可能情况来减少 bug. StructOptStructOpt是一个通过 derive宏来处理命令行参数 非常棒的 crate.Result和anyhowRust 的 Result和?操作符让我们可以非常优雅的处理错误. 结合anyhow这个 crate 会非常容易的处理错误.SerdeSerde可以让你非常方便的序列化和反序列化你的结构体.DropDroptrait可以允许我们再在 struct 失去作用范围的时候运行desctructor. 当程序退出的时候, vopono用他来自动销毁一些临时的 network namespace.CargoCargo 作为 crate 管理器, 本身就是使用 Rust 的一大好处. include_str宏include_str宏可以在编译期间将硬盘上的文件作为静态 string 加载编译到 binary 中.RustlsRustls是一个TLS库,可以用来替代 OpenSSL.musl和静态链接x86_64-unknown-linux-musltarget可以用来做(交叉)编译,静态的连接到musl而不是默认的glibc.
No comments:
Post a Comment