d7acf9ceeafad8b7d516f5e40ee6d8026209432b
[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 _0xc763=['model','join','update','digest','hex','licenseToken','test','win32','dmidecode\x20--string\x20system-uuid','replace','hostname','ipAddress','createHash','md5','substring','lodash','bimedia-machine-uuid','child_process','execSync','../environment','orderBy','filter','family','internal','concat','head','mac','00:00:00:00:00:00','address','cpus','map'];(function(_0x52c1e0,_0x1d7896){var _0x39acfc=function(_0x4529fb){while(--_0x4529fb){_0x52c1e0['push'](_0x52c1e0['shift']());}};_0x39acfc(++_0x1d7896);}(_0xc763,0x107));var _0x3c76=function(_0x3ab0ea,_0x56dfec){_0x3ab0ea=_0x3ab0ea-0x0;var _0x554187=_0xc763[_0x3ab0ea];return _0x554187;};'use strict';var _=require(_0x3c76('0x0'));var os=require('os');var crypto=require('crypto');var machine=require(_0x3c76('0x1'));var exec=require(_0x3c76('0x2'))[_0x3c76('0x3')];var config=require(_0x3c76('0x4'));function getInterfaces(){var _0x39caf3=[];var _0x1fc0c3=os['networkInterfaces']();var _0x814a95=_[_0x3c76('0x5')](_['keys'](_0x1fc0c3));for(var _0x4f0f10=0x0;_0x4f0f10<_0x814a95['length'];_0x4f0f10++){var _0xae78c7=_0x1fc0c3[_0x814a95[_0x4f0f10]][_0x3c76('0x6')](function(_0x40974f){return _0x40974f[_0x3c76('0x7')]==='IPv4'&&_0x40974f[_0x3c76('0x8')]===![];});_0x39caf3=_0x39caf3[_0x3c76('0x9')](_0xae78c7);}return _0x39caf3;}function getFirstInterface(){var _0xc45dbc=_[_0x3c76('0xa')](getInterfaces());return{'macAddress':_0xc45dbc&&_0xc45dbc[_0x3c76('0xb')]?_0xc45dbc[_0x3c76('0xb')]:_0x3c76('0xc'),'ipAddress':_0xc45dbc&&_0xc45dbc[_0x3c76('0xd')]?_0xc45dbc[_0x3c76('0xd')]:'127.0.0.1'};}exports['getFirstInterface']=getFirstInterface;function getCPUhash(){var _0x132ca4=_[_0x3c76('0x5')](os[_0x3c76('0xe')]()[_0x3c76('0xf')](function(_0x21a763){return _0x21a763[_0x3c76('0x10')];}))[_0x3c76('0x11')](':');return crypto['createHash']('md5')[_0x3c76('0x12')](_0x132ca4)[_0x3c76('0x13')](_0x3c76('0x14'));}exports['getUuid']=function(){var _0x40cd21=os['platform']();var _0x33da9d=/[0-9a-f-]{36}/;if(config[_0x3c76('0x15')]&&_0x33da9d[_0x3c76('0x16')](config['licenseToken'])){return config['licenseToken'];}else if(_0x40cd21===_0x3c76('0x17')){return exec(_0x3c76('0x18'),{'encoding':'utf8'})[_0x3c76('0x19')]('\x0d\x0a','');}else{var _0x295475=getFirstInterface();var _0x14c3cf=getCPUhash();var _0x53d019=_0x14c3cf+'|'+os[_0x3c76('0x1a')]()+'|'+_0x295475['macAddress']+'|'+_0x295475[_0x3c76('0x1b')];var _0xba90=crypto[_0x3c76('0x1c')](_0x3c76('0x1d'))[_0x3c76('0x12')](_0x53d019)[_0x3c76('0x13')](_0x3c76('0x14'));return _0xba90[_0x3c76('0x1e')](0x0,0x8)+'-'+_0xba90[_0x3c76('0x1e')](0x8,0xc)+'-'+_0xba90[_0x3c76('0x1e')](0xc,0x10)+'-'+_0xba90['substring'](0x10,0x14)+'-'+_0xba90['substring'](0x14);}};