Skip to content

russmack/WakeOnLan

Repository files navigation

wakeonlan

A small Zig library and CLI for sending Wake-on-LAN (WOL) magic packets.

Features

  • Parse MAC addresses from common formats (colon, dash, dot, or plain hex)
  • Build standards-compliant 102-byte magic packets
  • Send via UDP broadcast (default 255.255.255.255:9)
  • Zero external dependencies (Zig standard library only)

Installation

As a Zig dependency

Add to your build.zig.zon:

zig fetch --save git+https://your-git-host.com/wakeonlan

Then in your build.zig:

const wakeonlan = b.dependency("wakeonlan", .{});
exe.root_module.addImport("wakeonlan", wakeonlan.module("wakeonlan"));

Build the CLI

zig build
./zig-out/bin/wakeonlan --help

Library usage

const std = @import("std");
const wol = @import("wakeonlan");

pub fn main() !void {
    try wol.wakeFromStrings("01:23:45:67:89:ab", "255.255.255.255", 9);
}

CLI usage

zig build run -- --mac 01:23:45:67:89:ab
zig build run -- --mac 01:23:45:67:89:ab --ip 192.168.1.255 --port 9

Development

zig build test
zig build

License

MIT. See LICENSE.

About

Zig Wake on LAN.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages