librefi_rs/src/main.rs
2022-01-02 22:15:23 +01:00

36 lines
1,010 B
Rust

#[macro_use]
extern crate lazy_static;
mod connection_check;
mod connectors;
use connectors::types::{Connector};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// let ip4 = connection_check::ipv4_info().await?;
// println!("{:?}", ip4);
let connector = connectors::macos::MacOSConnector {};
let ifaces = connector.list_network_interfaces().expect("network interface listing errored");
for iface in &ifaces {
println!("{:?}", iface);
}
let iface = ifaces.into_iter().find(|f| f.human_name == Some("Wi-Fi".to_string()))
.expect("Wi-Fi interface not found");
let networks = connector.list_networks(&iface).expect("network listing errored");
for net in &networks {
println!("{:?}", net);
}
let network = networks.into_iter().find(|net| net.ssid == "test")
.expect("network not found");
connector.connect_to_network(&iface, &network, None).expect("could not connect to network");
Ok(())
}