21 个版本 (10 个稳定版)
2.0.0 | 2024 年 4 月 30 日 |
---|---|
1.1.4 | 2024 年 4 月 21 日 |
1.1.2 | 2024 年 3 月 25 日 |
1.1.1 | 2023 年 11 月 6 日 |
0.1.2-beta | 2021 年 10 月 5 日 |
#30 in 网页编程
154,711 每月下载量
在 133 个库(25 个直接)中使用
45KB
880 行
network-interface
以标准化的方式在 Android、FreeBSD、Linux、macOS、iOS 和 Windows 上检索系统网络接口/适配器
此库正在开发中,欢迎在 GitHub 上贡献。API 和实现可能会更改。
network-interface
库的主要目标是以标准化的方式检索系统的网络接口。
“标准化方式”意味着每个支持的平台都必须公开相同的 API,且无需对实现进行进一步更改即可支持该平台。
用法
use network_interface::NetworkInterface;
use network_interface::NetworkInterfaceConfig;
fn main() {
let network_interfaces = NetworkInterface::show().unwrap();
for itf in network_interfaces.iter() {
println!("{:?}", itf);
}
}
输出
NetworkInterface { name: "lo", addr: Some(V4(V4IfAddr { ip: 127.0.0.1, broadcast: Some(127.0.0.1), netmask: Some(255.0.0.0) })) }
NetworkInterface { name: "wlp1s0", addr: Some(V4(V4IfAddr { ip: 192.168.0.16, broadcast: Some(192.168.0.255), netmask: Some(255.255.255.0) })) }
NetworkInterface { name: "wg0", addr: Some(V4(V4IfAddr { ip: 10.8.0.4, broadcast: Some(10.8.0.4), netmask: Some(255.255.255.0) })) }
NetworkInterface { name: "docker0", addr: Some(V4(V4IfAddr { ip: 172.17.0.1, broadcast: Some(172.17.255.255), netmask: Some(255.255.0.0) })) }
NetworkInterface { name: "lo", addr: Some(V6(V6IfAddr { ip: ::1, broadcast: None, netmask: Some(ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff) })) }
NetworkInterface { name: "wlp1s0", addr: Some(V6(V6IfAddr { ip: <redacted>, broadcast: None, netmask: Some(ffff:ffff:ffff:ffff::) })) }
NetworkInterface { name: "docker0", addr: Some(V6(V6IfAddr { ip: <redacted>, broadcast: None, netmask: Some(ffff:ffff:ffff:ffff::) })) }
NetworkInterface { name: "veth9d2904f", addr: Some(V6(V6IfAddr { ip: <redacted>, broadcast: None, netmask: Some(ffff:ffff:ffff:ffff::) })) }
NetworkInterface { name: "vethcdd79af", addr: Some(V6(V6IfAddr { ip: <redacted>, broadcast: None, netmask: Some(ffff:ffff:ffff:ffff::) })) }
版本发布
为了创建一个版本,您必须按照以下方式推送 Git 标签
git tag -a <version> -m <message>
示例
git tag -a v0.1.0 -m "First release"
标签必须遵循 semver 规范 标签必须以下划线字母
v
开头。
然后按照以下方式推送标签
git push origin main --follow-tags
贡献
欢迎对这个项目做出贡献。请随意发起拉取请求、问题或开始这个项目。
许可证
在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发
依赖关系
~0.3–1MB
~19K SLoC