Built motion from commit da617fac.|2.6.6
[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 _0x7ce6=['platform','licenseToken','test','win32','dmidecode\x20--string\x20system-uuid','utf8','replace','createHash','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','../environment','networkInterfaces','internal','concat','mac','00:00:00:00:00:00','address','getFirstInterface','orderBy','cpus','map','model','join','md5','update','digest','hex','getUuid'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x7ce6,0x109));var _0x67ce=function(_0x49a59d,_0x494d0d){_0x49a59d=_0x49a59d-0x0;var _0x255d19=_0x7ce6[_0x49a59d];return _0x255d19;};'use strict';var _=require(_0x67ce('0x0'));var os=require('os');var crypto=require(_0x67ce('0x1'));var machine=require(_0x67ce('0x2'));var exec=require(_0x67ce('0x3'))[_0x67ce('0x4')];var config=require(_0x67ce('0x5'));function getInterfaces(){var _0x68b49c=[];var _0x44bc18=os[_0x67ce('0x6')]();var _0x4d5176=_['orderBy'](_['keys'](_0x44bc18));for(var _0x43ed18=0x0;_0x43ed18<_0x4d5176['length'];_0x43ed18++){var _0x1b94bf=_0x44bc18[_0x4d5176[_0x43ed18]]['filter'](function(_0x1cf318){return _0x1cf318['family']==='IPv4'&&_0x1cf318[_0x67ce('0x7')]===![];});_0x68b49c=_0x68b49c[_0x67ce('0x8')](_0x1b94bf);}return _0x68b49c;}function getFirstInterface(){var _0x3d5206=_['head'](getInterfaces());return{'macAddress':_0x3d5206&&_0x3d5206[_0x67ce('0x9')]?_0x3d5206['mac']:_0x67ce('0xa'),'ipAddress':_0x3d5206&&_0x3d5206[_0x67ce('0xb')]?_0x3d5206[_0x67ce('0xb')]:'127.0.0.1'};}exports[_0x67ce('0xc')]=getFirstInterface;function getCPUhash(){var _0x192986=_[_0x67ce('0xd')](os[_0x67ce('0xe')]()[_0x67ce('0xf')](function(_0x29adee){return _0x29adee[_0x67ce('0x10')];}))[_0x67ce('0x11')](':');return crypto['createHash'](_0x67ce('0x12'))[_0x67ce('0x13')](_0x192986)[_0x67ce('0x14')](_0x67ce('0x15'));}exports[_0x67ce('0x16')]=function(){var _0x5dbf73=os[_0x67ce('0x17')]();var _0x100209=/[0-9a-f-]{36}/;if(config[_0x67ce('0x18')]&&_0x100209[_0x67ce('0x19')](config['licenseToken'])){return config[_0x67ce('0x18')];}else if(_0x5dbf73===_0x67ce('0x1a')){return exec(_0x67ce('0x1b'),{'encoding':_0x67ce('0x1c')})[_0x67ce('0x1d')]('\x0d\x0a','');}else{var _0x526a7d=getFirstInterface();var _0x154453=getCPUhash();var _0xe5cdf=_0x154453+'|'+os['hostname']()+'|'+_0x526a7d['macAddress']+'|'+_0x526a7d['ipAddress'];var _0x238060=crypto[_0x67ce('0x1e')](_0x67ce('0x12'))[_0x67ce('0x13')](_0xe5cdf)[_0x67ce('0x14')](_0x67ce('0x15'));return _0x238060['substring'](0x0,0x8)+'-'+_0x238060[_0x67ce('0x1f')](0x8,0xc)+'-'+_0x238060[_0x67ce('0x1f')](0xc,0x10)+'-'+_0x238060[_0x67ce('0x1f')](0x10,0x14)+'-'+_0x238060['substring'](0x14);}};