github.com/denisbrodbeck/MachineID (go): Package machineid provides support for reading the unique machine id of most OSs (without admin privileges).  https://github.com/denisbrodbeck/machineid  https://godoc.org/github.com/denisbrodbeck/machineid/cmd/machineid  This package is Cross-Platform (tested on Win7+, Debian 8+, Ubuntu 14.04+, OS X 10.6+, FreeBSD 11+) and does not use any internal hardware IDs (no MAC, BIOS, or CPU).  Returned machine IDs are generally stable for the OS installation and usually stay the same after updates or hardware changes.  This package allows sharing of machine IDs in a secure way by calculating HMAC-SHA256 over a user provided app ID, which is keyed by the machine id.  Caveat: Image-based environments have usually the same machine-id (perfect clone). Linux users can generate a new id with `dbus-uuidgen` and put the id into `/var/lib/dbus/machine-id` and `/etc/machine-id`. Windows users can use the `sysprep` toolchain to create images, which produce valid images ready for distribution.
Keywords: cmdline|cross-platform|go|golang|hostid|library|machineid|mit-license