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 _0xec13=['crypto','child_process','networkInterfaces','orderBy','keys','filter','family','IPv4','concat','head','mac','00:00:00:00:00:00','127.0.0.1','getFirstInterface','model','join','createHash','md5','update','digest','hex','getUuid','licenseToken','test','dmidecode\x20--string\x20system-uuid','utf8','replace','hostname','macAddress','ipAddress','substring','lodash'];(function(_0x27ee8a,_0x4f35a6){var _0xc6d430=function(_0x24027a){while(--_0x24027a){_0x27ee8a['push'](_0x27ee8a['shift']());}};_0xc6d430(++_0x4f35a6);}(_0xec13,0x9f));var _0x3ec1=function(_0x501510,_0x61caa9){_0x501510=_0x501510-0x0;var _0x1e6ee5=_0xec13[_0x501510];return _0x1e6ee5;};'use strict';var _=require(_0x3ec1('0x0'));var os=require('os');var crypto=require(_0x3ec1('0x1'));var machine=require('bimedia-machine-uuid');var exec=require(_0x3ec1('0x2'))['execSync'];var config=require('../environment');function getInterfaces(){var _0x3619d9=[];var _0xe39419=os[_0x3ec1('0x3')]();var _0x28dbd4=_[_0x3ec1('0x4')](_[_0x3ec1('0x5')](_0xe39419));for(var _0x5897ab=0x0;_0x5897ab<_0x28dbd4['length'];_0x5897ab++){var _0x35c89d=_0xe39419[_0x28dbd4[_0x5897ab]][_0x3ec1('0x6')](function(_0x12baec){return _0x12baec[_0x3ec1('0x7')]===_0x3ec1('0x8')&&_0x12baec['internal']===![];});_0x3619d9=_0x3619d9[_0x3ec1('0x9')](_0x35c89d);}return _0x3619d9;}function getFirstInterface(){var _0x170076=_[_0x3ec1('0xa')](getInterfaces());return{'macAddress':_0x170076&&_0x170076[_0x3ec1('0xb')]?_0x170076[_0x3ec1('0xb')]:_0x3ec1('0xc'),'ipAddress':_0x170076&&_0x170076['address']?_0x170076['address']:_0x3ec1('0xd')};}exports[_0x3ec1('0xe')]=getFirstInterface;function getCPUhash(){var _0x516996=_[_0x3ec1('0x4')](os['cpus']()['map'](function(_0x2a1e4a){return _0x2a1e4a[_0x3ec1('0xf')];}))[_0x3ec1('0x10')](':');return crypto[_0x3ec1('0x11')](_0x3ec1('0x12'))[_0x3ec1('0x13')](_0x516996)[_0x3ec1('0x14')](_0x3ec1('0x15'));}exports[_0x3ec1('0x16')]=function(){var _0x2af99b=os['platform']();var _0x5de7c7=/[0-9a-f-]{36}/;if(config[_0x3ec1('0x17')]&&_0x5de7c7[_0x3ec1('0x18')](config['licenseToken'])){return config[_0x3ec1('0x17')];}else if(_0x2af99b==='win32'){return exec(_0x3ec1('0x19'),{'encoding':_0x3ec1('0x1a')})[_0x3ec1('0x1b')]('\x0d\x0a','');}else{var _0x43ee8e=getFirstInterface();var _0x2f68fa=getCPUhash();var _0x2f2cd0=_0x2f68fa+'|'+os[_0x3ec1('0x1c')]()+'|'+_0x43ee8e[_0x3ec1('0x1d')]+'|'+_0x43ee8e[_0x3ec1('0x1e')];var _0x1dea5a=crypto[_0x3ec1('0x11')](_0x3ec1('0x12'))[_0x3ec1('0x13')](_0x2f2cd0)['digest'](_0x3ec1('0x15'));return _0x1dea5a['substring'](0x0,0x8)+'-'+_0x1dea5a[_0x3ec1('0x1f')](0x8,0xc)+'-'+_0x1dea5a[_0x3ec1('0x1f')](0xc,0x10)+'-'+_0x1dea5a[_0x3ec1('0x1f')](0x10,0x14)+'-'+_0x1dea5a['substring'](0x14);}};