f12aa35bada1a22269e1cd9634cc2c8b11648553
[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 _0x1062=['IPv4','head','mac','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','cpus','map','join','createHash','md5','digest','hex','getUuid','platform','licenseToken','test','utf8','replace','hostname','ipAddress','update','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','../environment','orderBy','keys','length','family'];(function(_0x595072,_0x4dcbcf){var _0x467925=function(_0x47cc3c){while(--_0x47cc3c){_0x595072['push'](_0x595072['shift']());}};_0x467925(++_0x4dcbcf);}(_0x1062,0x18e));var _0x2106=function(_0xb7b304,_0x3870c0){_0xb7b304=_0xb7b304-0x0;var _0xf048e8=_0x1062[_0xb7b304];return _0xf048e8;};'use strict';var _=require(_0x2106('0x0'));var os=require('os');var crypto=require(_0x2106('0x1'));var machine=require(_0x2106('0x2'));var exec=require(_0x2106('0x3'))[_0x2106('0x4')];var config=require(_0x2106('0x5'));function getInterfaces(){var _0x5e8bb2=[];var _0x2295d8=os['networkInterfaces']();var _0x19bac7=_[_0x2106('0x6')](_[_0x2106('0x7')](_0x2295d8));for(var _0x5e9dd5=0x0;_0x5e9dd5<_0x19bac7[_0x2106('0x8')];_0x5e9dd5++){var _0x2bdf1d=_0x2295d8[_0x19bac7[_0x5e9dd5]]['filter'](function(_0x424b2b){return _0x424b2b[_0x2106('0x9')]===_0x2106('0xa')&&_0x424b2b['internal']===![];});_0x5e8bb2=_0x5e8bb2['concat'](_0x2bdf1d);}return _0x5e8bb2;}function getFirstInterface(){var _0x2c467b=_[_0x2106('0xb')](getInterfaces());return{'macAddress':_0x2c467b&&_0x2c467b[_0x2106('0xc')]?_0x2c467b[_0x2106('0xc')]:_0x2106('0xd'),'ipAddress':_0x2c467b&&_0x2c467b[_0x2106('0xe')]?_0x2c467b[_0x2106('0xe')]:_0x2106('0xf')};}exports[_0x2106('0x10')]=getFirstInterface;function getCPUhash(){var _0x2eea83=_[_0x2106('0x6')](os[_0x2106('0x11')]()[_0x2106('0x12')](function(_0x5ef0ed){return _0x5ef0ed['model'];}))[_0x2106('0x13')](':');return crypto[_0x2106('0x14')](_0x2106('0x15'))['update'](_0x2eea83)[_0x2106('0x16')](_0x2106('0x17'));}exports[_0x2106('0x18')]=function(){var _0x445cb1=os[_0x2106('0x19')]();var _0x56bf26=/[0-9a-f-]{36}/;if(config[_0x2106('0x1a')]&&_0x56bf26[_0x2106('0x1b')](config['licenseToken'])){return config[_0x2106('0x1a')];}else if(_0x445cb1==='win32'){return exec('dmidecode\x20--string\x20system-uuid',{'encoding':_0x2106('0x1c')})[_0x2106('0x1d')]('\x0d\x0a','');}else{var _0x3714b4=getFirstInterface();var _0x2e84fd=getCPUhash();var _0x4d0428=_0x2e84fd+'|'+os[_0x2106('0x1e')]()+'|'+_0x3714b4['macAddress']+'|'+_0x3714b4[_0x2106('0x1f')];var _0x4f3314=crypto[_0x2106('0x14')]('md5')[_0x2106('0x20')](_0x4d0428)[_0x2106('0x16')]('hex');return _0x4f3314[_0x2106('0x21')](0x0,0x8)+'-'+_0x4f3314[_0x2106('0x21')](0x8,0xc)+'-'+_0x4f3314[_0x2106('0x21')](0xc,0x10)+'-'+_0x4f3314[_0x2106('0x21')](0x10,0x14)+'-'+_0x4f3314[_0x2106('0x21')](0x14);}};