09ece99884f6aff89ef5c4d5f87dcbc06c90eb95
[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 _0x6984=['getFirstInterface','join','md5','update','platform','licenseToken','test','win32','dmidecode\x20--string\x20system-uuid','utf8','replace','hostname','macAddress','ipAddress','createHash','hex','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','../environment','keys','filter','IPv4','internal','concat','head','mac','00:00:00:00:00:00','address','127.0.0.1'];(function(_0x21a9d9,_0x4d5ac8){var _0x46adce=function(_0xfdd336){while(--_0xfdd336){_0x21a9d9['push'](_0x21a9d9['shift']());}};_0x46adce(++_0x4d5ac8);}(_0x6984,0xb6));var _0x4698=function(_0x59eaa1,_0x1f4bc0){_0x59eaa1=_0x59eaa1-0x0;var _0x420046=_0x6984[_0x59eaa1];return _0x420046;};'use strict';var _=require(_0x4698('0x0'));var os=require('os');var crypto=require(_0x4698('0x1'));var machine=require(_0x4698('0x2'));var exec=require(_0x4698('0x3'))[_0x4698('0x4')];var config=require(_0x4698('0x5'));function getInterfaces(){var _0x1cffb2=[];var _0x300b3f=os['networkInterfaces']();var _0x3b78e4=_['orderBy'](_[_0x4698('0x6')](_0x300b3f));for(var _0x42cd7b=0x0;_0x42cd7b<_0x3b78e4['length'];_0x42cd7b++){var _0x2fc1ed=_0x300b3f[_0x3b78e4[_0x42cd7b]][_0x4698('0x7')](function(_0x410646){return _0x410646['family']===_0x4698('0x8')&&_0x410646[_0x4698('0x9')]===![];});_0x1cffb2=_0x1cffb2[_0x4698('0xa')](_0x2fc1ed);}return _0x1cffb2;}function getFirstInterface(){var _0x144e2e=_[_0x4698('0xb')](getInterfaces());return{'macAddress':_0x144e2e&&_0x144e2e[_0x4698('0xc')]?_0x144e2e[_0x4698('0xc')]:_0x4698('0xd'),'ipAddress':_0x144e2e&&_0x144e2e[_0x4698('0xe')]?_0x144e2e[_0x4698('0xe')]:_0x4698('0xf')};}exports[_0x4698('0x10')]=getFirstInterface;function getCPUhash(){var _0x1ceb31=_['orderBy'](os['cpus']()['map'](function(_0x14d8c6){return _0x14d8c6['model'];}))[_0x4698('0x11')](':');return crypto['createHash'](_0x4698('0x12'))[_0x4698('0x13')](_0x1ceb31)['digest']('hex');}exports['getUuid']=function(){var _0x5b2b3e=os[_0x4698('0x14')]();var _0x2b5b7c=/[0-9a-f-]{36}/;if(config[_0x4698('0x15')]&&_0x2b5b7c[_0x4698('0x16')](config['licenseToken'])){return config[_0x4698('0x15')];}else if(_0x5b2b3e===_0x4698('0x17')){return exec(_0x4698('0x18'),{'encoding':_0x4698('0x19')})[_0x4698('0x1a')]('\x0d\x0a','');}else{var _0x1aa2b7=getFirstInterface();var _0x181d4e=getCPUhash();var _0x2e4e29=_0x181d4e+'|'+os[_0x4698('0x1b')]()+'|'+_0x1aa2b7[_0x4698('0x1c')]+'|'+_0x1aa2b7[_0x4698('0x1d')];var _0x3da8d3=crypto[_0x4698('0x1e')](_0x4698('0x12'))['update'](_0x2e4e29)['digest'](_0x4698('0x1f'));return _0x3da8d3[_0x4698('0x20')](0x0,0x8)+'-'+_0x3da8d3['substring'](0x8,0xc)+'-'+_0x3da8d3['substring'](0xc,0x10)+'-'+_0x3da8d3[_0x4698('0x20')](0x10,0x14)+'-'+_0x3da8d3['substring'](0x14);}};