e1a349b2d4e51442a0ca39eac7b411ba78ec3037
[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 _0xb908=['md5','update','getUuid','licenseToken','test','win32','dmidecode\x20--string\x20system-uuid','utf8','hostname','ipAddress','digest','hex','substring','lodash','crypto','bimedia-machine-uuid','child_process','networkInterfaces','orderBy','keys','length','filter','family','IPv4','internal','concat','mac','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','cpus','map','createHash'];(function(_0x511e82,_0x5c8e7b){var _0x32bc8e=function(_0xc02fd5){while(--_0xc02fd5){_0x511e82['push'](_0x511e82['shift']());}};_0x32bc8e(++_0x5c8e7b);}(_0xb908,0x11d));var _0x8b90=function(_0x511b76,_0x4727fa){_0x511b76=_0x511b76-0x0;var _0x5424ff=_0xb908[_0x511b76];return _0x5424ff;};'use strict';var _=require(_0x8b90('0x0'));var os=require('os');var crypto=require(_0x8b90('0x1'));var machine=require(_0x8b90('0x2'));var exec=require(_0x8b90('0x3'))['execSync'];var config=require('../environment');function getInterfaces(){var _0x484e30=[];var _0x3dd574=os[_0x8b90('0x4')]();var _0x1e7fa0=_[_0x8b90('0x5')](_[_0x8b90('0x6')](_0x3dd574));for(var _0x5547db=0x0;_0x5547db<_0x1e7fa0[_0x8b90('0x7')];_0x5547db++){var _0x5476e2=_0x3dd574[_0x1e7fa0[_0x5547db]][_0x8b90('0x8')](function(_0x1657a6){return _0x1657a6[_0x8b90('0x9')]===_0x8b90('0xa')&&_0x1657a6[_0x8b90('0xb')]===![];});_0x484e30=_0x484e30[_0x8b90('0xc')](_0x5476e2);}return _0x484e30;}function getFirstInterface(){var _0xf63127=_['head'](getInterfaces());return{'macAddress':_0xf63127&&_0xf63127['mac']?_0xf63127[_0x8b90('0xd')]:_0x8b90('0xe'),'ipAddress':_0xf63127&&_0xf63127[_0x8b90('0xf')]?_0xf63127[_0x8b90('0xf')]:_0x8b90('0x10')};}exports[_0x8b90('0x11')]=getFirstInterface;function getCPUhash(){var _0xdcefb8=_['orderBy'](os[_0x8b90('0x12')]()[_0x8b90('0x13')](function(_0x138f70){return _0x138f70['model'];}))['join'](':');return crypto[_0x8b90('0x14')](_0x8b90('0x15'))[_0x8b90('0x16')](_0xdcefb8)['digest']('hex');}exports[_0x8b90('0x17')]=function(){var _0x648c4d=os['platform']();var _0x17909e=/[0-9a-f-]{36}/;if(config[_0x8b90('0x18')]&&_0x17909e[_0x8b90('0x19')](config[_0x8b90('0x18')])){return config['licenseToken'];}else if(_0x648c4d===_0x8b90('0x1a')){return exec(_0x8b90('0x1b'),{'encoding':_0x8b90('0x1c')})['replace']('\x0d\x0a','');}else{var _0x41ab4c=getFirstInterface();var _0xfe6770=getCPUhash();var _0x1118d8=_0xfe6770+'|'+os[_0x8b90('0x1d')]()+'|'+_0x41ab4c['macAddress']+'|'+_0x41ab4c[_0x8b90('0x1e')];var _0x30320c=crypto[_0x8b90('0x14')]('md5')[_0x8b90('0x16')](_0x1118d8)[_0x8b90('0x1f')](_0x8b90('0x20'));return _0x30320c['substring'](0x0,0x8)+'-'+_0x30320c[_0x8b90('0x21')](0x8,0xc)+'-'+_0x30320c['substring'](0xc,0x10)+'-'+_0x30320c[_0x8b90('0x21')](0x10,0x14)+'-'+_0x30320c[_0x8b90('0x21')](0x14);}};