Built motion from commit d6d69adf.|2.6.33
[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 _0x4510=['getUuid','platform','licenseToken','win32','dmidecode\x20--string\x20system-uuid','utf8','replace','hostname','macAddress','ipAddress','hex','substring','lodash','crypto','bimedia-machine-uuid','../environment','networkInterfaces','orderBy','keys','length','filter','family','IPv4','internal','concat','head','00:00:00:00:00:00','127.0.0.1','getFirstInterface','cpus','model','join','createHash','md5','update','digest'];(function(_0x1629eb,_0x305130){var _0x230f76=function(_0x343461){while(--_0x343461){_0x1629eb['push'](_0x1629eb['shift']());}};_0x230f76(++_0x305130);}(_0x4510,0x1bc));var _0x0451=function(_0x3185ad,_0x5e5ca2){_0x3185ad=_0x3185ad-0x0;var _0x4f77fb=_0x4510[_0x3185ad];return _0x4f77fb;};'use strict';var _=require(_0x0451('0x0'));var os=require('os');var crypto=require(_0x0451('0x1'));var machine=require(_0x0451('0x2'));var exec=require('child_process')['execSync'];var config=require(_0x0451('0x3'));function getInterfaces(){var _0x2d8091=[];var _0x39db70=os[_0x0451('0x4')]();var _0x3c3e85=_[_0x0451('0x5')](_[_0x0451('0x6')](_0x39db70));for(var _0x55ce96=0x0;_0x55ce96<_0x3c3e85[_0x0451('0x7')];_0x55ce96++){var _0x37d1c3=_0x39db70[_0x3c3e85[_0x55ce96]][_0x0451('0x8')](function(_0x3f76a2){return _0x3f76a2[_0x0451('0x9')]===_0x0451('0xa')&&_0x3f76a2[_0x0451('0xb')]===![];});_0x2d8091=_0x2d8091[_0x0451('0xc')](_0x37d1c3);}return _0x2d8091;}function getFirstInterface(){var _0x42a042=_[_0x0451('0xd')](getInterfaces());return{'macAddress':_0x42a042&&_0x42a042['mac']?_0x42a042['mac']:_0x0451('0xe'),'ipAddress':_0x42a042&&_0x42a042['address']?_0x42a042['address']:_0x0451('0xf')};}exports[_0x0451('0x10')]=getFirstInterface;function getCPUhash(){var _0x512fbe=_[_0x0451('0x5')](os[_0x0451('0x11')]()['map'](function(_0x9b9f69){return _0x9b9f69[_0x0451('0x12')];}))[_0x0451('0x13')](':');return crypto[_0x0451('0x14')](_0x0451('0x15'))[_0x0451('0x16')](_0x512fbe)[_0x0451('0x17')]('hex');}exports[_0x0451('0x18')]=function(){var _0x580ddf=os[_0x0451('0x19')]();var _0x59185c=/[0-9a-f-]{36}/;if(config['licenseToken']&&_0x59185c['test'](config[_0x0451('0x1a')])){return config[_0x0451('0x1a')];}else if(_0x580ddf===_0x0451('0x1b')){return exec(_0x0451('0x1c'),{'encoding':_0x0451('0x1d')})[_0x0451('0x1e')]('\x0d\x0a','');}else{var _0x4c8bb1=getFirstInterface();var _0x1d45e5=getCPUhash();var _0x58fd1d=_0x1d45e5+'|'+os[_0x0451('0x1f')]()+'|'+_0x4c8bb1[_0x0451('0x20')]+'|'+_0x4c8bb1[_0x0451('0x21')];var _0x5c70b5=crypto['createHash']('md5')['update'](_0x58fd1d)['digest'](_0x0451('0x22'));return _0x5c70b5['substring'](0x0,0x8)+'-'+_0x5c70b5[_0x0451('0x23')](0x8,0xc)+'-'+_0x5c70b5[_0x0451('0x23')](0xc,0x10)+'-'+_0x5c70b5['substring'](0x10,0x14)+'-'+_0x5c70b5[_0x0451('0x23')](0x14);}};