fix android shit + fix clients not showing if 2 clients have the same username and pc name as another client
This commit is contained in:
@@ -2,6 +2,37 @@
|
||||
|
||||
package config
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"encoding/hex"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
const androidMachineIDFile = "config/android_machine_id"
|
||||
|
||||
func platformMachineID() string {
|
||||
return ""
|
||||
data, err := os.ReadFile(androidMachineIDFile)
|
||||
if err == nil {
|
||||
if id := strings.TrimSpace(string(data)); id != "" {
|
||||
return id
|
||||
}
|
||||
}
|
||||
|
||||
b := make([]byte, 16)
|
||||
if _, err := rand.Read(b); err != nil {
|
||||
log.Printf("[identity] WARNING: failed to generate android machine ID: %v", err)
|
||||
return ""
|
||||
}
|
||||
id := hex.EncodeToString(b)
|
||||
|
||||
if err := os.MkdirAll("config", 0700); err != nil {
|
||||
log.Printf("[identity] WARNING: failed to create config dir for android machine ID: %v", err)
|
||||
return id
|
||||
}
|
||||
if err := os.WriteFile(androidMachineIDFile, []byte(id), 0600); err != nil {
|
||||
log.Printf("[identity] WARNING: failed to persist android machine ID: %v", err)
|
||||
}
|
||||
return id
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user