mirror of
https://github.com/netbirdio/netbird.git
synced 2025-06-19 00:06:58 +02:00
[client-android] add serial, product model, product manufacturer (#2958)
Signed-off-by: Edouard Vanbelle <edouard.vanbelle@shadow.tech>
This commit is contained in:
parent
6a6b527f24
commit
e4a25b6a60
@ -39,6 +39,9 @@ func GetInfo(ctx context.Context) *Info {
|
||||
WiretrusteeVersion: version.NetbirdVersion(),
|
||||
UIVersion: extractUIVersion(ctx),
|
||||
KernelVersion: kernelVersion,
|
||||
SystemSerialNumber: serial(),
|
||||
SystemProductName: productModel(),
|
||||
SystemManufacturer: productManufacturer(),
|
||||
}
|
||||
|
||||
return gio
|
||||
@ -49,13 +52,42 @@ func checkFileAndProcess(paths []string) ([]File, error) {
|
||||
return []File{}, nil
|
||||
}
|
||||
|
||||
func serial() string {
|
||||
// try to fetch serial ID using different properties
|
||||
properties := []string{"ril.serialnumber", "ro.serialno", "ro.boot.serialno", "sys.serialnumber"}
|
||||
var value string
|
||||
|
||||
for _, property := range properties {
|
||||
value = getprop(property)
|
||||
if len(value) > 0 {
|
||||
return value
|
||||
}
|
||||
}
|
||||
|
||||
// unable to get serial ID, fallback to ANDROID_ID
|
||||
return androidId()
|
||||
}
|
||||
|
||||
func androidId() string {
|
||||
// this is a uniq id defined on first initialization, id will be a new one if user wipes his device
|
||||
return run("/system/bin/settings", "get", "secure", "android_id")
|
||||
}
|
||||
|
||||
func productModel() string {
|
||||
return getprop("ro.product.model")
|
||||
}
|
||||
|
||||
func productManufacturer() string {
|
||||
return getprop("ro.product.manufacturer")
|
||||
}
|
||||
|
||||
func uname() []string {
|
||||
res := run("/system/bin/uname", "-a")
|
||||
return strings.Split(res, " ")
|
||||
}
|
||||
|
||||
func osVersion() string {
|
||||
return run("/system/bin/getprop", "ro.build.version.release")
|
||||
return getprop("ro.build.version.release")
|
||||
}
|
||||
|
||||
func extractUIVersion(ctx context.Context) string {
|
||||
@ -66,6 +98,10 @@ func extractUIVersion(ctx context.Context) string {
|
||||
return v
|
||||
}
|
||||
|
||||
func getprop(arg ...string) string {
|
||||
return run("/system/bin/getprop", arg...)
|
||||
}
|
||||
|
||||
func run(name string, arg ...string) string {
|
||||
cmd := exec.Command(name, arg...)
|
||||
cmd.Stdin = strings.NewReader("some")
|
||||
|
Loading…
x
Reference in New Issue
Block a user