diff --git a/src/main.rs b/src/main.rs index 350d1a9..20f64d1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,9 +1,22 @@ +use std::env; + mod mac; mod magic; fn main() { - let mac = mac::MacAddress::from_string("0c:9d:92:0e:3a:41").unwrap(); - let packet = magic::MagicPacket::new(&mac); - packet.send().unwrap(); + let mut args = env::args(); + args.next(); + for arg in args { + let mac = match mac::MacAddress::from_string(&arg) { + Ok(m) => m, + Err(e) => { + eprintln!("Invalid address: {} ({})", &arg, e); + continue; + }, + }; + let packet = magic::MagicPacket::new(&mac); + println!("Sending magic packet to {}", mac); + packet.send().unwrap(); + } }