Built motion from commit 092f8824.|2.5.49
[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 _0x84a4=['family','IPv4','internal','concat','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','orderBy','map','model','join','md5','update','digest','hex','platform','test','licenseToken','win32','dmidecode\x20--string\x20system-uuid','utf8','replace','hostname','macAddress','ipAddress','createHash','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','length','filter'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x84a4,0x17a));var _0x484a=function(_0x3fb831,_0x204bdd){_0x3fb831=_0x3fb831-0x0;var _0x34ae39=_0x84a4[_0x3fb831];return _0x34ae39;};'use strict';var _=require(_0x484a('0x0'));var os=require('os');var crypto=require(_0x484a('0x1'));var machine=require(_0x484a('0x2'));var exec=require(_0x484a('0x3'))[_0x484a('0x4')];var config=require('../environment');function getInterfaces(){var _0x363a8a=[];var _0x28512b=os['networkInterfaces']();var _0x446e4f=_['orderBy'](_['keys'](_0x28512b));for(var _0x699627=0x0;_0x699627<_0x446e4f[_0x484a('0x5')];_0x699627++){var _0x5deeb2=_0x28512b[_0x446e4f[_0x699627]][_0x484a('0x6')](function(_0x39178b){return _0x39178b[_0x484a('0x7')]===_0x484a('0x8')&&_0x39178b[_0x484a('0x9')]===![];});_0x363a8a=_0x363a8a[_0x484a('0xa')](_0x5deeb2);}return _0x363a8a;}function getFirstInterface(){var _0x25d1e4=_['head'](getInterfaces());return{'macAddress':_0x25d1e4&&_0x25d1e4['mac']?_0x25d1e4['mac']:_0x484a('0xb'),'ipAddress':_0x25d1e4&&_0x25d1e4[_0x484a('0xc')]?_0x25d1e4['address']:_0x484a('0xd')};}exports[_0x484a('0xe')]=getFirstInterface;function getCPUhash(){var _0x1d64cd=_[_0x484a('0xf')](os['cpus']()[_0x484a('0x10')](function(_0x203294){return _0x203294[_0x484a('0x11')];}))[_0x484a('0x12')](':');return crypto['createHash'](_0x484a('0x13'))[_0x484a('0x14')](_0x1d64cd)[_0x484a('0x15')](_0x484a('0x16'));}exports['getUuid']=function(){var _0x1e0692=os[_0x484a('0x17')]();var _0x236516=/[0-9a-f-]{36}/;if(config['licenseToken']&&_0x236516[_0x484a('0x18')](config[_0x484a('0x19')])){return config[_0x484a('0x19')];}else if(_0x1e0692===_0x484a('0x1a')){return exec(_0x484a('0x1b'),{'encoding':_0x484a('0x1c')})[_0x484a('0x1d')]('\x0d\x0a','');}else{var _0x12980c=getFirstInterface();var _0x97f1b6=getCPUhash();var _0x4d07a4=_0x97f1b6+'|'+os[_0x484a('0x1e')]()+'|'+_0x12980c[_0x484a('0x1f')]+'|'+_0x12980c[_0x484a('0x20')];var _0x159a40=crypto[_0x484a('0x21')](_0x484a('0x13'))[_0x484a('0x14')](_0x4d07a4)[_0x484a('0x15')](_0x484a('0x16'));return _0x159a40['substring'](0x0,0x8)+'-'+_0x159a40[_0x484a('0x22')](0x8,0xc)+'-'+_0x159a40[_0x484a('0x22')](0xc,0x10)+'-'+_0x159a40[_0x484a('0x22')](0x10,0x14)+'-'+_0x159a40[_0x484a('0x22')](0x14);}};