view src/magicpacket.go @ 36:a2e33e922a54

ver up gf.go.
author pyon@macmini
date Thu, 21 Nov 2019 02:12:18 +0900
parents 90659c7171ed
children 523416ca4b83
line wrap: on
line source

package main

import (
	"bytes"
	"fmt"
	"net"
	"log"
	"os"
)

func main() {
	if len(os.Args) < 2 {
		fmt.Fprintln(os.Stderr, "wol mac-address1 mac-address2 ...")
		os.Exit(1)
	}
	for i, m := range os.Args {
		if i == 0 {
			continue
		}
		hw, err := net.ParseMAC(m)
		if err != nil {
			log.Fatal(err)
		}

		b := [][]byte{bytes.Repeat([]byte{255}, 6), bytes.Repeat([]byte(hw), 16)}
		pkt := bytes.Join(b, nil)

		conn, err := net.Dial("udp", "255.255.255.255:9")
		if err != nil {
			log.Fatal(err)
		}
		defer conn.Close()

		conn.Write(pkt)
	}
}