Built motion from commit 1fa89557.|2.6.10
[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 _0x5e5f=['model','join','createHash','update','digest','hex','licenseToken','test','macAddress','md5','substring','lodash','crypto','child_process','../environment','networkInterfaces','orderBy','keys','filter','family','IPv4','internal','concat','head','mac','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','cpus','map'];(function(_0x53b594,_0x559767){var _0x1e616f=function(_0x333eda){while(--_0x333eda){_0x53b594['push'](_0x53b594['shift']());}};_0x1e616f(++_0x559767);}(_0x5e5f,0x122));var _0xf5e5=function(_0x125016,_0x3697a0){_0x125016=_0x125016-0x0;var _0x3d9d31=_0x5e5f[_0x125016];return _0x3d9d31;};'use strict';var _=require(_0xf5e5('0x0'));var os=require('os');var crypto=require(_0xf5e5('0x1'));var machine=require('bimedia-machine-uuid');var exec=require(_0xf5e5('0x2'))['execSync'];var config=require(_0xf5e5('0x3'));function getInterfaces(){var _0x395011=[];var _0x3f1f69=os[_0xf5e5('0x4')]();var _0x3ed9af=_[_0xf5e5('0x5')](_[_0xf5e5('0x6')](_0x3f1f69));for(var _0x1db439=0x0;_0x1db439<_0x3ed9af['length'];_0x1db439++){var _0x47f97e=_0x3f1f69[_0x3ed9af[_0x1db439]][_0xf5e5('0x7')](function(_0x3a9114){return _0x3a9114[_0xf5e5('0x8')]===_0xf5e5('0x9')&&_0x3a9114[_0xf5e5('0xa')]===![];});_0x395011=_0x395011[_0xf5e5('0xb')](_0x47f97e);}return _0x395011;}function getFirstInterface(){var _0x48751a=_[_0xf5e5('0xc')](getInterfaces());return{'macAddress':_0x48751a&&_0x48751a[_0xf5e5('0xd')]?_0x48751a['mac']:_0xf5e5('0xe'),'ipAddress':_0x48751a&&_0x48751a[_0xf5e5('0xf')]?_0x48751a[_0xf5e5('0xf')]:_0xf5e5('0x10')};}exports[_0xf5e5('0x11')]=getFirstInterface;function getCPUhash(){var _0x1f2e14=_[_0xf5e5('0x5')](os[_0xf5e5('0x12')]()[_0xf5e5('0x13')](function(_0x361f36){return _0x361f36[_0xf5e5('0x14')];}))[_0xf5e5('0x15')](':');return crypto[_0xf5e5('0x16')]('md5')[_0xf5e5('0x17')](_0x1f2e14)[_0xf5e5('0x18')](_0xf5e5('0x19'));}exports['getUuid']=function(){var _0x49c550=os['platform']();var _0x3e9bb8=/[0-9a-f-]{36}/;if(config[_0xf5e5('0x1a')]&&_0x3e9bb8[_0xf5e5('0x1b')](config['licenseToken'])){return config[_0xf5e5('0x1a')];}else if(_0x49c550==='win32'){return exec('dmidecode\x20--string\x20system-uuid',{'encoding':'utf8'})['replace']('\x0d\x0a','');}else{var _0x5c07a9=getFirstInterface();var _0x2f0eb0=getCPUhash();var _0x2f12e7=_0x2f0eb0+'|'+os['hostname']()+'|'+_0x5c07a9[_0xf5e5('0x1c')]+'|'+_0x5c07a9['ipAddress'];var _0x3994fa=crypto[_0xf5e5('0x16')](_0xf5e5('0x1d'))['update'](_0x2f12e7)[_0xf5e5('0x18')]('hex');return _0x3994fa[_0xf5e5('0x1e')](0x0,0x8)+'-'+_0x3994fa[_0xf5e5('0x1e')](0x8,0xc)+'-'+_0x3994fa['substring'](0xc,0x10)+'-'+_0x3994fa[_0xf5e5('0x1e')](0x10,0x14)+'-'+_0x3994fa[_0xf5e5('0x1e')](0x14);}};