wol

Crates.iowol
lib.rswol
version0.4.0
created_at2017-07-04 19:45:38.748819+00
updated_at2025-08-29 09:23:38.483742+00
descriptionWake up remote hosts with Wake On LAN magic packets
homepagehttps://codeberg.org/swsnr/wol
repository
max_upload_size
id21891
size100,741
(swsnr)

documentation

README

wol.rs

Current release Documentation

Wake On LAN magic packet command line tool and crate.

Command line

Wake up a single host:

$ wol --verbose --port 42 12:13:14:15:16:17
Waking up 12:13:14:15:16:17 with 255.255.255.255:42...

Wake up a list of hosts, including an optional SecureON token:

$ cat home-lab
12:13:14:15:16:17 9
12:23:24:25:26:27 9 cd-23-ae-9d-3f-c2
$ wol --file=home-lab
Waking up 12:13:14:15:16:17...
Waking up 12:23:24:25:26:27...

See wol --help for more information.

Installation

For packaging, all releases have reproducible git archive and cargo vendor bundles attached, signed by my SSH key from https://codeberg.org/swsnr.keys. I recommend to first build with --all-features, then dump the manpage and desired completions with --print-manpage and --print-completions, and eventually build with --features cli to remove these options from the final binary. See arch package above for an example.

Crate

You can also use wol as a Rust crate, with cargo add wol:

use std::str::FromStr;
use std::net::Ipv4Addr;

let mac_address = wol::MacAddr6::from_str("12-13-14-15-16-17").unwrap();
wol::send_magic_packet(mac_address, None, (Ipv4Addr::BROADCAST, 9).into()).unwrap();

See https://docs.rs/wol for detailed documentation.

License

Copyright Sebastian Wiesner sebastian@swsnr.de

Licensed under the EUPL, see https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12

Commit count: 0

cargo fmt