diff --git a/packages/utils/src/fingerprint.ts b/packages/utils/src/fingerprint.ts index 75fc89e..b88796a 100644 --- a/packages/utils/src/fingerprint.ts +++ b/packages/utils/src/fingerprint.ts @@ -1,2 +1,29 @@ import { hash } from 'ohash' import si from 'systeminformation' + +async function getSystemInfo() { + const [uuid, baseboard, bios, system, diskLayout, networkInterfaces] = + await Promise.all([ + si.uuid(), + si.baseboard(), + si.bios(), + si.system(), + si.diskLayout(), + si.networkInterfaces(), + ]) + + return { + uuid, + baseboard, + bios, + system, + diskLayout, + networkInterfaces, + } +} + +export async function getHardwareFingerprint() { + const systemInfo = await getSystemInfo() + + return hash(systemInfo) +}