10 个不稳定版本 (3 个破坏性更新)
0.3.2 | 2019 年 3 月 28 日 |
---|---|
0.3.1 | 2019 年 1 月 22 日 |
0.2.3 | 2019 年 1 月 16 日 |
0.1.0 | 2019 年 1 月 8 日 |
0.0.2-alpha.1 | 2019 年 1 月 8 日 |
#12 in #template-string
28 每月下载量
43KB
904 行
IFT (接口模板)
模板字符串用于提取正确的接口和要绑定的 IpAddr。灵感主要来源于 https://github.com/hashicorp/go-sockaddr
它是做什么的?
eval
(文档) 接受一个接口模板字符串。模板是一个以 生产者 开头的字符串,后跟 过滤器 和 排序,每个都是通过管道符号 |
分隔的。 eval
返回一个 IpAddr 对象的向量,然后可以用作绑定
用法
通用
use ift::eval;
print!("{:?}", eval(r#"GetInterface "en0""#).unwrap());
actix
use actix_web::{
server,
App,
};
let mut s = server::new(|| { App::new() });
for ip in ift::eval("GetPrivateInterfaces").unwrap().into_iter() {
s = s.bind((ip, 8080)).unwrap();
}
示例模板
- 获取私有接口
GetAllInterfaces | FilterFlags "up" | FilterForwardable | SortBy "default"
- 获取私有接口(简短)
GetPrivateInterfaces
- 按名称获取特定接口
GetInterface "en0"
- 仅获取具有 ipv6 地址的接口
GetAllInterfaces | FilterIPv6
示例代码
示例代码在 示例文件夹 中。
- actix - 绑定多个私有接口
开发
重新生成 RFC 代码
make gen
更新 README
make update
发布
可以使用 cargo release 命令。
cargo release patch
许可证:MIT
依赖项
~6–8MB
~145K SLoC