1// Package main provides the command line app for reading the unique machine id of most OSs. 2// 3// Usage: machineid [options] 4// 5// Options: 6// --appid <AppID> Protect machine id by hashing it together with an app id. 7// 8// Try: 9// machineid 10// machineid --appid MyAppID 11package main 12 13import ( 14 "flag" 15 "fmt" 16 "log" 17 18 "github.com/denisbrodbeck/machineid" 19) 20 21const usageStr = ` 22Usage: machineid [options] 23 24Options: 25 --appid <AppID> Protect machine id by hashing it together with an app id. 26 27Try: 28 machineid 29 machineid --appid MyAppID 30` 31 32func usage() { 33 log.Fatalln(usageStr) 34} 35 36func main() { 37 var appID string 38 flag.StringVar(&appID, "appid", "", "Protect machine id by hashing it together with an app id.") 39 40 log.SetFlags(0) 41 flag.Usage = usage 42 flag.Parse() 43 44 var id string 45 var err error 46 if appID != "" { 47 id, err = machineid.ProtectedID(appID) 48 } else { 49 id, err = machineid.ID() 50 } 51 if err != nil { 52 log.Fatalf("Failed to read machine id with error: %s\n", err) 53 } 54 fmt.Println(id) 55} 56