mirror of
https://github.com/mickael-kerjean/filestash.git
synced 2026-10-20 00:15:40 +00:00
26 lines
537 B
Go
26 lines
537 B
Go
package system
|
|
|
|
import (
|
|
"os"
|
|
"runtime"
|
|
)
|
|
|
|
func GenerateMachineID() string {
|
|
if runtime.GOOS == "linux" {
|
|
if f, err := os.OpenFile("/etc/machine-id", os.O_RDONLY, os.ModePerm); err == nil {
|
|
defer f.Close()
|
|
b := make([]byte, 32)
|
|
if _, err = f.Read(b); err == nil {
|
|
return string(b)
|
|
}
|
|
} else if f, err := os.OpenFile("/var/lib/dbus/machine-id", os.O_RDONLY, os.ModePerm); err == nil {
|
|
defer f.Close()
|
|
b := make([]byte, 32)
|
|
if _, err = f.Read(b); err == nil {
|
|
return string(b)
|
|
}
|
|
}
|
|
}
|
|
return "na"
|
|
}
|