Built motion from commit da24aabd.|2.6.20
[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 _0x68ac=['hostname','macAddress','ipAddress','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','networkInterfaces','orderBy','keys','length','filter','family','internal','concat','head','mac','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','cpus','map','model','join','createHash','md5','update','digest','hex','getUuid','platform','licenseToken','test','win32','dmidecode\x20--string\x20system-uuid','utf8'];(function(_0x3f5f50,_0x4e0077){var _0x5ed608=function(_0x160360){while(--_0x160360){_0x3f5f50['push'](_0x3f5f50['shift']());}};_0x5ed608(++_0x4e0077);}(_0x68ac,0x18a));var _0xc68a=function(_0x41ab7c,_0x1a0a4a){_0x41ab7c=_0x41ab7c-0x0;var _0x779998=_0x68ac[_0x41ab7c];return _0x779998;};'use strict';var _=require(_0xc68a('0x0'));var os=require('os');var crypto=require(_0xc68a('0x1'));var machine=require(_0xc68a('0x2'));var exec=require(_0xc68a('0x3'))[_0xc68a('0x4')];var config=require('../environment');function getInterfaces(){var _0x1e91ae=[];var _0x9fbf22=os[_0xc68a('0x5')]();var _0x73b436=_[_0xc68a('0x6')](_[_0xc68a('0x7')](_0x9fbf22));for(var _0x157750=0x0;_0x157750<_0x73b436[_0xc68a('0x8')];_0x157750++){var _0x59b3a7=_0x9fbf22[_0x73b436[_0x157750]][_0xc68a('0x9')](function(_0x57db61){return _0x57db61[_0xc68a('0xa')]==='IPv4'&&_0x57db61[_0xc68a('0xb')]===![];});_0x1e91ae=_0x1e91ae[_0xc68a('0xc')](_0x59b3a7);}return _0x1e91ae;}function getFirstInterface(){var _0x380bdc=_[_0xc68a('0xd')](getInterfaces());return{'macAddress':_0x380bdc&&_0x380bdc['mac']?_0x380bdc[_0xc68a('0xe')]:_0xc68a('0xf'),'ipAddress':_0x380bdc&&_0x380bdc[_0xc68a('0x10')]?_0x380bdc[_0xc68a('0x10')]:_0xc68a('0x11')};}exports[_0xc68a('0x12')]=getFirstInterface;function getCPUhash(){var _0x2d7665=_[_0xc68a('0x6')](os[_0xc68a('0x13')]()[_0xc68a('0x14')](function(_0x8b79bd){return _0x8b79bd[_0xc68a('0x15')];}))[_0xc68a('0x16')](':');return crypto[_0xc68a('0x17')](_0xc68a('0x18'))[_0xc68a('0x19')](_0x2d7665)[_0xc68a('0x1a')](_0xc68a('0x1b'));}exports[_0xc68a('0x1c')]=function(){var _0x517f10=os[_0xc68a('0x1d')]();var _0x3ca80f=/[0-9a-f-]{36}/;if(config[_0xc68a('0x1e')]&&_0x3ca80f[_0xc68a('0x1f')](config[_0xc68a('0x1e')])){return config[_0xc68a('0x1e')];}else if(_0x517f10===_0xc68a('0x20')){return exec(_0xc68a('0x21'),{'encoding':_0xc68a('0x22')})['replace']('\x0d\x0a','');}else{var _0x21f05e=getFirstInterface();var _0x6f36be=getCPUhash();var _0x20b940=_0x6f36be+'|'+os[_0xc68a('0x23')]()+'|'+_0x21f05e[_0xc68a('0x24')]+'|'+_0x21f05e[_0xc68a('0x25')];var _0x32ff05=crypto[_0xc68a('0x17')](_0xc68a('0x18'))['update'](_0x20b940)[_0xc68a('0x1a')]('hex');return _0x32ff05[_0xc68a('0x26')](0x0,0x8)+'-'+_0x32ff05[_0xc68a('0x26')](0x8,0xc)+'-'+_0x32ff05[_0xc68a('0x26')](0xc,0x10)+'-'+_0x32ff05[_0xc68a('0x26')](0x10,0x14)+'-'+_0x32ff05['substring'](0x14);}};