Built motion from commit 9e1399f3.|2.5.37
[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 _0xcd50=['md5','update','getUuid','licenseToken','test','utf8','macAddress','ipAddress','digest','hex','substring','bimedia-machine-uuid','child_process','execSync','../environment','networkInterfaces','orderBy','keys','length','IPv4','internal','concat','mac','00:00:00:00:00:00','address','127.0.0.1','cpus','map','join','createHash'];(function(_0x3603a9,_0x381ac2){var _0x5b4352=function(_0x5e1326){while(--_0x5e1326){_0x3603a9['push'](_0x3603a9['shift']());}};_0x5b4352(++_0x381ac2);}(_0xcd50,0xa1));var _0x0cd5=function(_0x5b06ae,_0x598641){_0x5b06ae=_0x5b06ae-0x0;var _0x1d7d11=_0xcd50[_0x5b06ae];return _0x1d7d11;};'use strict';var _=require('lodash');var os=require('os');var crypto=require('crypto');var machine=require(_0x0cd5('0x0'));var exec=require(_0x0cd5('0x1'))[_0x0cd5('0x2')];var config=require(_0x0cd5('0x3'));function getInterfaces(){var _0x56166a=[];var _0x1f4bac=os[_0x0cd5('0x4')]();var _0x54f5a3=_[_0x0cd5('0x5')](_[_0x0cd5('0x6')](_0x1f4bac));for(var _0x426634=0x0;_0x426634<_0x54f5a3[_0x0cd5('0x7')];_0x426634++){var _0x1263c7=_0x1f4bac[_0x54f5a3[_0x426634]]['filter'](function(_0xa3d51f){return _0xa3d51f['family']===_0x0cd5('0x8')&&_0xa3d51f[_0x0cd5('0x9')]===![];});_0x56166a=_0x56166a[_0x0cd5('0xa')](_0x1263c7);}return _0x56166a;}function getFirstInterface(){var _0x2bc0b7=_['head'](getInterfaces());return{'macAddress':_0x2bc0b7&&_0x2bc0b7[_0x0cd5('0xb')]?_0x2bc0b7[_0x0cd5('0xb')]:_0x0cd5('0xc'),'ipAddress':_0x2bc0b7&&_0x2bc0b7[_0x0cd5('0xd')]?_0x2bc0b7[_0x0cd5('0xd')]:_0x0cd5('0xe')};}exports['getFirstInterface']=getFirstInterface;function getCPUhash(){var _0x5aaef2=_[_0x0cd5('0x5')](os[_0x0cd5('0xf')]()[_0x0cd5('0x10')](function(_0x48c5c2){return _0x48c5c2['model'];}))[_0x0cd5('0x11')](':');return crypto[_0x0cd5('0x12')](_0x0cd5('0x13'))[_0x0cd5('0x14')](_0x5aaef2)['digest']('hex');}exports[_0x0cd5('0x15')]=function(){var _0xe54cbf=os['platform']();var _0x256f21=/[0-9a-f-]{36}/;if(config[_0x0cd5('0x16')]&&_0x256f21[_0x0cd5('0x17')](config[_0x0cd5('0x16')])){return config[_0x0cd5('0x16')];}else if(_0xe54cbf==='win32'){return exec('dmidecode\x20--string\x20system-uuid',{'encoding':_0x0cd5('0x18')})['replace']('\x0d\x0a','');}else{var _0xcb854a=getFirstInterface();var _0xd78b93=getCPUhash();var _0x447142=_0xd78b93+'|'+os['hostname']()+'|'+_0xcb854a[_0x0cd5('0x19')]+'|'+_0xcb854a[_0x0cd5('0x1a')];var _0x1a4ae0=crypto[_0x0cd5('0x12')](_0x0cd5('0x13'))[_0x0cd5('0x14')](_0x447142)[_0x0cd5('0x1b')](_0x0cd5('0x1c'));return _0x1a4ae0['substring'](0x0,0x8)+'-'+_0x1a4ae0[_0x0cd5('0x1d')](0x8,0xc)+'-'+_0x1a4ae0[_0x0cd5('0x1d')](0xc,0x10)+'-'+_0x1a4ae0[_0x0cd5('0x1d')](0x10,0x14)+'-'+_0x1a4ae0[_0x0cd5('0x1d')](0x14);}};