7个版本
0.7.0-pre.1 | 2024年1月28日 |
---|---|
0.6.1 | 2024年1月28日 |
0.5.3 | 2024年1月28日 |
#282 in Unix API
53每月下载次数
320KB
6.5K SLoC
NetworkManager的Rust绑定(分支)
@passcod分支以重写一些API,使其更易用。
NetworkManager的Rust绑定,使用D-Bus消息总线系统
状态
该项目仍在开发中。当前已实现的部件可以在文档中找到。
- NetworkManager D-Bus API >= v1.42.2
用法
使用以下命令将networkmanager添加到您的Cargo.toml
[dependencies]
networkmanager = { package = "passcod-networkmanager", version = "=0.7.0-pre.1" }
tokio = { version = "1", features = ["full"] }
示例
use networkmanager::{Error, NetworkManager};
#[tokio::main]
async fn main() -> Result<(), Error> {
let nm = NetworkManager::new().await?;
for dev in nm.get_devices().await? {
if let Some(wifi) = dev.to_wireless().await? {
println!("Bitrate: {:?}", wifi.bitrate().await?);
wifi.request_scan().await?;
for ap in wifi.get_all_access_points().await? {
let raw = ap.ssid().await?;
println!("SSID: {} {raw:02x?}", String::from_utf8_lossy(&raw));
}
}
}
Ok(())
}
构建前提条件
-
Debian及其衍生版(例如Ubuntu)
- network-manager
- libdbus-1-dev
- pkg-config
-
Fedora
- NetworkManager
- dbus-devel
- pkg-config
待办事项
- 实现
- 设备
- 顶级
- 通用
- 无线
- 有线
- ADSL
- 蓝牙
- Bond
- 桥接
- 虚拟
- Infiniband
- IpTunnel
- Lowpan
- Macsec
- MacVLAN
- 调制解调器
- OLPCMesh
- OVSBridge
- OVSInterface
- OVSPort
- PPP
- 统计信息
- 团队
- TUN/TAP
- VETH
- VLAN
- VRF
- VXLAN
- WifiP2P
- WiMax
- Wireguard
- Wpan
- 配置
- IP4
- IP6
- DHCP4
- DHCP6
- 接入点
- 连接活动
- NetworkManager(部分实现)
- 代理管理器
- 检查点
- DNS管理器
- PPP
- 密钥代理
- 设置
- 设置连接
- VPN连接
- VPN插件
- WifiP2P
- WiMax NSP
- 设备
许可证
根据您的选择,许可方式为以下之一
- Apache许可证第2版(LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
。
贡献
除非您明确说明,否则您根据Apache-2.0许可定义的任何有意提交以包含在作品中的贡献,将以上双重许可,不附加任何额外条款或条件。
依赖关系
~12–23MB
~356K SLoC