UNPKG

node-getmac

Version:

get local mac address. simple and work fine for mac linux and windows.

37 lines (29 loc) 792 B
/** * @file get local mac address * @author liulangyu(liulangyu90316@gmail.com) */ var execSync = require('child_process').execSync; var platform = process.platform; module.exports = (function () { var cmd = { win32: 'getmac', darwin: 'ifconfig -a', linux: 'ifconfig -a || ip link' }[platform]; var regStr = '((?:[a-z0-9]{2}[:-]){5}[a-z0-9]{2})'; var macReg = new RegExp('ether\\s' + regStr + '\\s', 'i'); try { var data = execSync(cmd).toString(); var res = { win32: new RegExp(regStr, 'i').exec(data), darwin: macReg.exec(data), linux: macReg.exec(data) }[platform]; if (res) { return res[1]; } } catch (e) { return ''; } })();