Built motion from commit 47436d59.|2.6.7
[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 _0xbf7b=['family','IPv4','internal','mac','address','cpus','map','model','createHash','update','getUuid','test','licenseToken','win32','dmidecode\x20--string\x20system-uuid','utf8','replace','macAddress','md5','substring','lodash','bimedia-machine-uuid','child_process','execSync','../environment','networkInterfaces','orderBy','length','filter'];(function(_0x32894c,_0x44704e){var _0x4b38e7=function(_0x367e89){while(--_0x367e89){_0x32894c['push'](_0x32894c['shift']());}};_0x4b38e7(++_0x44704e);}(_0xbf7b,0x1e4));var _0xbbf7=function(_0x77305c,_0x30e10a){_0x77305c=_0x77305c-0x0;var _0x167388=_0xbf7b[_0x77305c];return _0x167388;};'use strict';var _=require(_0xbbf7('0x0'));var os=require('os');var crypto=require('crypto');var machine=require(_0xbbf7('0x1'));var exec=require(_0xbbf7('0x2'))[_0xbbf7('0x3')];var config=require(_0xbbf7('0x4'));function getInterfaces(){var _0x7957ce=[];var _0x5d82b4=os[_0xbbf7('0x5')]();var _0x11280c=_[_0xbbf7('0x6')](_['keys'](_0x5d82b4));for(var _0x10ff84=0x0;_0x10ff84<_0x11280c[_0xbbf7('0x7')];_0x10ff84++){var _0x46b9e0=_0x5d82b4[_0x11280c[_0x10ff84]][_0xbbf7('0x8')](function(_0x3c8709){return _0x3c8709[_0xbbf7('0x9')]===_0xbbf7('0xa')&&_0x3c8709[_0xbbf7('0xb')]===![];});_0x7957ce=_0x7957ce['concat'](_0x46b9e0);}return _0x7957ce;}function getFirstInterface(){var _0x42fd25=_['head'](getInterfaces());return{'macAddress':_0x42fd25&&_0x42fd25[_0xbbf7('0xc')]?_0x42fd25[_0xbbf7('0xc')]:'00:00:00:00:00:00','ipAddress':_0x42fd25&&_0x42fd25[_0xbbf7('0xd')]?_0x42fd25['address']:'127.0.0.1'};}exports['getFirstInterface']=getFirstInterface;function getCPUhash(){var _0x2de481=_[_0xbbf7('0x6')](os[_0xbbf7('0xe')]()[_0xbbf7('0xf')](function(_0x3ac760){return _0x3ac760[_0xbbf7('0x10')];}))['join'](':');return crypto[_0xbbf7('0x11')]('md5')[_0xbbf7('0x12')](_0x2de481)['digest']('hex');}exports[_0xbbf7('0x13')]=function(){var _0x421e15=os['platform']();var _0x360de1=/[0-9a-f-]{36}/;if(config['licenseToken']&&_0x360de1[_0xbbf7('0x14')](config[_0xbbf7('0x15')])){return config[_0xbbf7('0x15')];}else if(_0x421e15===_0xbbf7('0x16')){return exec(_0xbbf7('0x17'),{'encoding':_0xbbf7('0x18')})[_0xbbf7('0x19')]('\x0d\x0a','');}else{var _0x1964f8=getFirstInterface();var _0x5e6750=getCPUhash();var _0x4e75e5=_0x5e6750+'|'+os['hostname']()+'|'+_0x1964f8[_0xbbf7('0x1a')]+'|'+_0x1964f8['ipAddress'];var _0x3f31d8=crypto['createHash'](_0xbbf7('0x1b'))[_0xbbf7('0x12')](_0x4e75e5)['digest']('hex');return _0x3f31d8[_0xbbf7('0x1c')](0x0,0x8)+'-'+_0x3f31d8[_0xbbf7('0x1c')](0x8,0xc)+'-'+_0x3f31d8[_0xbbf7('0x1c')](0xc,0x10)+'-'+_0x3f31d8[_0xbbf7('0x1c')](0x10,0x14)+'-'+_0x3f31d8[_0xbbf7('0x1c')](0x14);}};