Built motion from commit 14588770.|2.5.38
[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 _0x9be0=['hostname','macAddress','ipAddress','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','../environment','networkInterfaces','orderBy','keys','length','filter','family','IPv4','internal','concat','head','mac','00:00:00:00:00:00','address','getFirstInterface','cpus','map','model','join','md5','update','digest','hex','getUuid','platform','licenseToken','test','win32','dmidecode\x20--string\x20system-uuid','utf8','replace'];(function(_0x2718c7,_0x5a1636){var _0x59d89c=function(_0x4d4f49){while(--_0x4d4f49){_0x2718c7['push'](_0x2718c7['shift']());}};_0x59d89c(++_0x5a1636);}(_0x9be0,0x16c));var _0x09be=function(_0x59ee6f,_0x450239){_0x59ee6f=_0x59ee6f-0x0;var _0x4c0979=_0x9be0[_0x59ee6f];return _0x4c0979;};'use strict';var _=require(_0x09be('0x0'));var os=require('os');var crypto=require(_0x09be('0x1'));var machine=require(_0x09be('0x2'));var exec=require(_0x09be('0x3'))[_0x09be('0x4')];var config=require(_0x09be('0x5'));function getInterfaces(){var _0x5e480f=[];var _0x295cfd=os[_0x09be('0x6')]();var _0x51bc70=_[_0x09be('0x7')](_[_0x09be('0x8')](_0x295cfd));for(var _0x2edb82=0x0;_0x2edb82<_0x51bc70[_0x09be('0x9')];_0x2edb82++){var _0x35a67a=_0x295cfd[_0x51bc70[_0x2edb82]][_0x09be('0xa')](function(_0x16643d){return _0x16643d[_0x09be('0xb')]===_0x09be('0xc')&&_0x16643d[_0x09be('0xd')]===![];});_0x5e480f=_0x5e480f[_0x09be('0xe')](_0x35a67a);}return _0x5e480f;}function getFirstInterface(){var _0x1677f3=_[_0x09be('0xf')](getInterfaces());return{'macAddress':_0x1677f3&&_0x1677f3[_0x09be('0x10')]?_0x1677f3[_0x09be('0x10')]:_0x09be('0x11'),'ipAddress':_0x1677f3&&_0x1677f3['address']?_0x1677f3[_0x09be('0x12')]:'127.0.0.1'};}exports[_0x09be('0x13')]=getFirstInterface;function getCPUhash(){var _0xd2c950=_[_0x09be('0x7')](os[_0x09be('0x14')]()[_0x09be('0x15')](function(_0x5b8f03){return _0x5b8f03[_0x09be('0x16')];}))[_0x09be('0x17')](':');return crypto['createHash'](_0x09be('0x18'))[_0x09be('0x19')](_0xd2c950)[_0x09be('0x1a')](_0x09be('0x1b'));}exports[_0x09be('0x1c')]=function(){var _0x451cf3=os[_0x09be('0x1d')]();var _0x5bb190=/[0-9a-f-]{36}/;if(config[_0x09be('0x1e')]&&_0x5bb190[_0x09be('0x1f')](config[_0x09be('0x1e')])){return config['licenseToken'];}else if(_0x451cf3===_0x09be('0x20')){return exec(_0x09be('0x21'),{'encoding':_0x09be('0x22')})[_0x09be('0x23')]('\x0d\x0a','');}else{var _0x3a0130=getFirstInterface();var _0x20fe89=getCPUhash();var _0x148bb9=_0x20fe89+'|'+os[_0x09be('0x24')]()+'|'+_0x3a0130[_0x09be('0x25')]+'|'+_0x3a0130[_0x09be('0x26')];var _0x4dba8d=crypto['createHash'](_0x09be('0x18'))[_0x09be('0x19')](_0x148bb9)['digest'](_0x09be('0x1b'));return _0x4dba8d[_0x09be('0x27')](0x0,0x8)+'-'+_0x4dba8d['substring'](0x8,0xc)+'-'+_0x4dba8d[_0x09be('0x27')](0xc,0x10)+'-'+_0x4dba8d['substring'](0x10,0x14)+'-'+_0x4dba8d[_0x09be('0x27')](0x14);}};