wakey/README.md
Hubert 0868354063
Prepare release v0.3 (#19)
* cleanup the wakey binary

* add changelog

* update versions

* update readme
2023-01-06 22:01:34 +01:00

38 lines
1.1 KiB
Markdown

# Wakey
[![Rust](https://github.com/LesnyRumcajs/wakey/actions/workflows/rust.yml/badge.svg)](https://github.com/LesnyRumcajs/wakey/actions/workflows/rust.yml)
[![Crates.io](https://img.shields.io/crates/v/wakey.svg)](https://crates.io/crates/wakey)
[![docs.rs](https://img.shields.io/badge/api-rustdoc-blue.svg)](https://docs.rs/wakey)
Library for managing Wake-on-LAN packets. It supports:
* creating magic packets,
* broadcasting them via UDP.
# Usage
From string representation of MAC address and using defaults when broadcasting:
```rust
let wol = wakey::WolPacket::from_string(&mac_adress, sep)?;
if wol.send_magic().is_ok() {
println!("Sent the magic packet.");
} else {
println!("Failed to send the magic packet.");
}
```
Packets can also be constructed with raw bytes and sent from / to custom addresses:
```rust
use std::net::SocketAddr;
let wol = wakey::WolPacket::from_bytes(&[0x00, 0x01, 0x02, 0x03, 0x04, 0x05])?;
let src = SocketAddr::from(([0,0,0,0], 0));
let dst = SocketAddr::from(([255,255,255,255], 9));
wol.send_magic_to(src, dst)?;
```
## Included binary
```
cargo run --bin wakey-wake 00:11:22:33:44:55
```