Built motion from commit 3e059bc2.|2.5.32
[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 _0xd2e3=['createHash','update','digest','hex','licenseToken','win32','dmidecode\x20--string\x20system-uuid','utf8','replace','hostname','md5','substring','lodash','crypto','child_process','execSync','../environment','networkInterfaces','orderBy','keys','length','filter','family','concat','mac','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','cpus','map','join'];(function(_0x2fa137,_0x15d570){var _0x15a421=function(_0x5797c7){while(--_0x5797c7){_0x2fa137['push'](_0x2fa137['shift']());}};_0x15a421(++_0x15d570);}(_0xd2e3,0x1ac));var _0x3d2e=function(_0x4acdae,_0xa947ee){_0x4acdae=_0x4acdae-0x0;var _0x4ad5bb=_0xd2e3[_0x4acdae];return _0x4ad5bb;};'use strict';var _=require(_0x3d2e('0x0'));var os=require('os');var crypto=require(_0x3d2e('0x1'));var machine=require('bimedia-machine-uuid');var exec=require(_0x3d2e('0x2'))[_0x3d2e('0x3')];var config=require(_0x3d2e('0x4'));function getInterfaces(){var _0x1bac39=[];var _0x484d71=os[_0x3d2e('0x5')]();var _0x438a44=_[_0x3d2e('0x6')](_[_0x3d2e('0x7')](_0x484d71));for(var _0x1d3863=0x0;_0x1d3863<_0x438a44[_0x3d2e('0x8')];_0x1d3863++){var _0x17ecac=_0x484d71[_0x438a44[_0x1d3863]][_0x3d2e('0x9')](function(_0x3585f3){return _0x3585f3[_0x3d2e('0xa')]==='IPv4'&&_0x3585f3['internal']===![];});_0x1bac39=_0x1bac39[_0x3d2e('0xb')](_0x17ecac);}return _0x1bac39;}function getFirstInterface(){var _0x2edbcc=_['head'](getInterfaces());return{'macAddress':_0x2edbcc&&_0x2edbcc[_0x3d2e('0xc')]?_0x2edbcc[_0x3d2e('0xc')]:_0x3d2e('0xd'),'ipAddress':_0x2edbcc&&_0x2edbcc[_0x3d2e('0xe')]?_0x2edbcc[_0x3d2e('0xe')]:_0x3d2e('0xf')};}exports[_0x3d2e('0x10')]=getFirstInterface;function getCPUhash(){var _0x4e2784=_[_0x3d2e('0x6')](os[_0x3d2e('0x11')]()[_0x3d2e('0x12')](function(_0x4a7689){return _0x4a7689['model'];}))[_0x3d2e('0x13')](':');return crypto[_0x3d2e('0x14')]('md5')[_0x3d2e('0x15')](_0x4e2784)[_0x3d2e('0x16')](_0x3d2e('0x17'));}exports['getUuid']=function(){var _0x28b310=os['platform']();var _0x4ef303=/[0-9a-f-]{36}/;if(config[_0x3d2e('0x18')]&&_0x4ef303['test'](config[_0x3d2e('0x18')])){return config[_0x3d2e('0x18')];}else if(_0x28b310===_0x3d2e('0x19')){return exec(_0x3d2e('0x1a'),{'encoding':_0x3d2e('0x1b')})[_0x3d2e('0x1c')]('\x0d\x0a','');}else{var _0xfd50ae=getFirstInterface();var _0x3c61df=getCPUhash();var _0x3770d6=_0x3c61df+'|'+os[_0x3d2e('0x1d')]()+'|'+_0xfd50ae['macAddress']+'|'+_0xfd50ae['ipAddress'];var _0x330870=crypto[_0x3d2e('0x14')](_0x3d2e('0x1e'))[_0x3d2e('0x15')](_0x3770d6)[_0x3d2e('0x16')](_0x3d2e('0x17'));return _0x330870[_0x3d2e('0x1f')](0x0,0x8)+'-'+_0x330870[_0x3d2e('0x1f')](0x8,0xc)+'-'+_0x330870[_0x3d2e('0x1f')](0xc,0x10)+'-'+_0x330870[_0x3d2e('0x1f')](0x10,0x14)+'-'+_0x330870[_0x3d2e('0x1f')](0x14);}};