Built motion from commit da617fac.|2.6.6
[motion2.git] / server / config / license / hardware.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x540a=['cpus','map','model','createHash','md5','update','hex','licenseToken','win32','replace','hostname','macAddress','ipAddress','substring','lodash','crypto','child_process','../environment','orderBy','length','filter','family','internal','concat','head','mac','address','getFirstInterface'];(function(_0x165ecd,_0xc5fb40){var _0x4db9be=function(_0x2edf56){while(--_0x2edf56){_0x165ecd['push'](_0x165ecd['shift']());}};_0x4db9be(++_0xc5fb40);}(_0x540a,0x10a));var _0xa540=function(_0x19a1e4,_0x1de22f){_0x19a1e4=_0x19a1e4-0x0;var _0x4c2e2b=_0x540a[_0x19a1e4];return _0x4c2e2b;};'use strict';var _=require(_0xa540('0x0'));var os=require('os');var crypto=require(_0xa540('0x1'));var machine=require('bimedia-machine-uuid');var exec=require(_0xa540('0x2'))['execSync'];var config=require(_0xa540('0x3'));function getInterfaces(){var _0x505b2e=[];var _0x349f16=os['networkInterfaces']();var _0x2cd715=_[_0xa540('0x4')](_['keys'](_0x349f16));for(var _0x1ad965=0x0;_0x1ad965<_0x2cd715[_0xa540('0x5')];_0x1ad965++){var _0xac5ca3=_0x349f16[_0x2cd715[_0x1ad965]][_0xa540('0x6')](function(_0x4f6154){return _0x4f6154[_0xa540('0x7')]==='IPv4'&&_0x4f6154[_0xa540('0x8')]===![];});_0x505b2e=_0x505b2e[_0xa540('0x9')](_0xac5ca3);}return _0x505b2e;}function getFirstInterface(){var _0xece7a0=_[_0xa540('0xa')](getInterfaces());return{'macAddress':_0xece7a0&&_0xece7a0[_0xa540('0xb')]?_0xece7a0[_0xa540('0xb')]:'00:00:00:00:00:00','ipAddress':_0xece7a0&&_0xece7a0[_0xa540('0xc')]?_0xece7a0['address']:'127.0.0.1'};}exports[_0xa540('0xd')]=getFirstInterface;function getCPUhash(){var _0xaa435e=_[_0xa540('0x4')](os[_0xa540('0xe')]()[_0xa540('0xf')](function(_0x4e2372){return _0x4e2372[_0xa540('0x10')];}))['join'](':');return crypto[_0xa540('0x11')](_0xa540('0x12'))[_0xa540('0x13')](_0xaa435e)['digest'](_0xa540('0x14'));}exports['getUuid']=function(){var _0x248be9=os['platform']();var _0x6eebc9=/[0-9a-f-]{36}/;if(config[_0xa540('0x15')]&&_0x6eebc9['test'](config[_0xa540('0x15')])){return config[_0xa540('0x15')];}else if(_0x248be9===_0xa540('0x16')){return exec('dmidecode\x20--string\x20system-uuid',{'encoding':'utf8'})[_0xa540('0x17')]('\x0d\x0a','');}else{var _0x41df9e=getFirstInterface();var _0x45f2d6=getCPUhash();var _0x2de28b=_0x45f2d6+'|'+os[_0xa540('0x18')]()+'|'+_0x41df9e[_0xa540('0x19')]+'|'+_0x41df9e[_0xa540('0x1a')];var _0x593c15=crypto[_0xa540('0x11')](_0xa540('0x12'))['update'](_0x2de28b)['digest'](_0xa540('0x14'));return _0x593c15[_0xa540('0x1b')](0x0,0x8)+'-'+_0x593c15[_0xa540('0x1b')](0x8,0xc)+'-'+_0x593c15[_0xa540('0x1b')](0xc,0x10)+'-'+_0x593c15[_0xa540('0x1b')](0x10,0x14)+'-'+_0x593c15['substring'](0x14);}};