//go:build darwin package awgserver import ( "fmt" "log/slog" "net" "os/exec" ) func setTUNAddress(tunName, address string, logger *slog.Logger) error { ip, _, err := net.ParseCIDR(address) if err != nil { return fmt.Errorf("parse CIDR: %w", err) } cmd := exec.Command("ifconfig", tunName, "inet", ip.String(), ip.String(), "up") if out, err := cmd.CombinedOutput(); err != nil { return fmt.Errorf("ifconfig: %s: %w", string(out), err) } logger.Info("TUN configured.", "name", tunName, "address", address) return nil }