Built motion from commit 838c2833.|2.6.24
[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 _0xe22c=['digest','hex','getUuid','platform','test','licenseToken','dmidecode\x20--string\x20system-uuid','utf8','hostname','macAddress','ipAddress','createHash','update','substring','lodash','bimedia-machine-uuid','child_process','execSync','../environment','orderBy','keys','length','filter','internal','mac','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','cpus','map','model','join','md5'];(function(_0x575783,_0x4f66f6){var _0x1aeae0=function(_0x3e05cb){while(--_0x3e05cb){_0x575783['push'](_0x575783['shift']());}};_0x1aeae0(++_0x4f66f6);}(_0xe22c,0x11e));var _0xce22=function(_0x4565bf,_0x5ad9d6){_0x4565bf=_0x4565bf-0x0;var _0x5610ba=_0xe22c[_0x4565bf];return _0x5610ba;};'use strict';var _=require(_0xce22('0x0'));var os=require('os');var crypto=require('crypto');var machine=require(_0xce22('0x1'));var exec=require(_0xce22('0x2'))[_0xce22('0x3')];var config=require(_0xce22('0x4'));function getInterfaces(){var _0x3ff40f=[];var _0x487937=os['networkInterfaces']();var _0x5d3784=_[_0xce22('0x5')](_[_0xce22('0x6')](_0x487937));for(var _0x3e35e9=0x0;_0x3e35e9<_0x5d3784[_0xce22('0x7')];_0x3e35e9++){var _0x3b5263=_0x487937[_0x5d3784[_0x3e35e9]][_0xce22('0x8')](function(_0x1fd27a){return _0x1fd27a['family']==='IPv4'&&_0x1fd27a[_0xce22('0x9')]===![];});_0x3ff40f=_0x3ff40f['concat'](_0x3b5263);}return _0x3ff40f;}function getFirstInterface(){var _0x567c17=_['head'](getInterfaces());return{'macAddress':_0x567c17&&_0x567c17['mac']?_0x567c17[_0xce22('0xa')]:_0xce22('0xb'),'ipAddress':_0x567c17&&_0x567c17[_0xce22('0xc')]?_0x567c17[_0xce22('0xc')]:_0xce22('0xd')};}exports[_0xce22('0xe')]=getFirstInterface;function getCPUhash(){var _0x5bcd1b=_[_0xce22('0x5')](os[_0xce22('0xf')]()[_0xce22('0x10')](function(_0x46b981){return _0x46b981[_0xce22('0x11')];}))[_0xce22('0x12')](':');return crypto['createHash'](_0xce22('0x13'))['update'](_0x5bcd1b)[_0xce22('0x14')](_0xce22('0x15'));}exports[_0xce22('0x16')]=function(){var _0x1a90de=os[_0xce22('0x17')]();var _0x185cb7=/[0-9a-f-]{36}/;if(config['licenseToken']&&_0x185cb7[_0xce22('0x18')](config['licenseToken'])){return config[_0xce22('0x19')];}else if(_0x1a90de==='win32'){return exec(_0xce22('0x1a'),{'encoding':_0xce22('0x1b')})['replace']('\x0d\x0a','');}else{var _0x250659=getFirstInterface();var _0x3c8b22=getCPUhash();var _0x26c315=_0x3c8b22+'|'+os[_0xce22('0x1c')]()+'|'+_0x250659[_0xce22('0x1d')]+'|'+_0x250659[_0xce22('0x1e')];var _0x409601=crypto[_0xce22('0x1f')]('md5')[_0xce22('0x20')](_0x26c315)['digest'](_0xce22('0x15'));return _0x409601[_0xce22('0x21')](0x0,0x8)+'-'+_0x409601[_0xce22('0x21')](0x8,0xc)+'-'+_0x409601[_0xce22('0x21')](0xc,0x10)+'-'+_0x409601[_0xce22('0x21')](0x10,0x14)+'-'+_0x409601['substring'](0x14);}};