#wifi #networking #wireless #operating-system #linux-macos #api-bindings

bin+lib wifi-rs

接口与无线网络(WiFi)交互和管理

6个版本

0.2.4 2024年1月5日
0.2.3 2024年1月5日
0.2.2 2021年1月19日
0.2.1 2020年11月29日
0.1.0 2018年11月11日

#298网络编程

Download history 16/week @ 2024-04-06 11/week @ 2024-04-13 87/week @ 2024-04-20 26/week @ 2024-04-27 15/week @ 2024-05-04 8/week @ 2024-05-11 22/week @ 2024-05-18 15/week @ 2024-05-25 45/week @ 2024-06-01 9/week @ 2024-06-08 14/week @ 2024-06-15 20/week @ 2024-06-22 6/week @ 2024-06-29 21/week @ 2024-07-06 8/week @ 2024-07-13 14/week @ 2024-07-20

每月51次 下载
ifwifi 中使用

MIT 许可证

31KB
671

WiFi-rs

一个用于接口和管理Wi-Fi网络的Rust crate。

这是一个通过命令行管理网络而不是通过GUI的命令行工具。

功能

  • 连接到WiFi(WindowsLinuxMacOS)。
  • 从WiFi网络断开连接(WindowsLinuxMacOS)。
  • 创建热点(WindowsLinux)。

当前支持的网络类型

请注意,目前只支持开放WEPWPA-PSK网络。

还假定通过DHCP获得IP配置。

支持的操作系统

  • Windows
  • Linux
  • MacOS

示例

use wifi_rs::{prelude::*, WiFi};

fn main() -> Result<(), WifiConnectionError> {
    let config = Some(Config {
        interface: Some("wlo1"),
    });

    let mut wifi = WiFi::new(config);

    match wifi.connect("AndroidAPSD22", "belm4235") {
        Ok(result) => println!(
            "{}",
            if result == true {
                "Connection Successful."
            } else {
                "Invalid password."
            }
        ),
        Err(err) => println!("The following error occurred: {:?}", err),
    }

    Ok(())
}

待办事项

Windows

  • 支持Windows。
  • 将windows配置文件示例作为字面量捆绑。
  • 添加热点功能。
  • 在Windows上使用tempfile crate生成Windows配置文件临时文件。
  • 修复is_wifi_enabled的Windows实现。
  • 添加对WifiInterface特质的实现。
  • 添加获取网络类型功能。

Linux

  • 支持Linux。
  • 添加断开功能。
  • 添加热点功能。
  • 添加获取网络类型功能。

MacOS

  • 支持MacOS。
  • 添加热点功能。
  • 添加获取网络类型功能。

通用

  • 返回详细的错误消息。
  • 编写文档。
  • 更新wifi-CLI的最新更新。

贡献

如果您觉得缺少任何功能,为什么不发送一个Pull Request,让我们一起使这个项目变得更好。或者如果有任何错误,请友好地创建一个问题,我们可以一起努力修复它。

支持

喜欢这个项目,请通过star这个项目表示喜爱 😃。

依赖项

~0–8MB
~72K SLoC