Built motion from commit 52c8a02d.|2.6.29
[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 _0x5fe7=['map','model','join','createHash','md5','update','hex','getUuid','platform','test','licenseToken','win32','dmidecode\x20--string\x20system-uuid','hostname','macAddress','ipAddress','digest','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','networkInterfaces','orderBy','keys','length','filter','internal','concat','mac','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','cpus'];(function(_0x259d17,_0x220710){var _0x407535=function(_0x49bc38){while(--_0x49bc38){_0x259d17['push'](_0x259d17['shift']());}};_0x407535(++_0x220710);}(_0x5fe7,0xc6));var _0x75fe=function(_0x24ea73,_0x516852){_0x24ea73=_0x24ea73-0x0;var _0x4f85be=_0x5fe7[_0x24ea73];return _0x4f85be;};'use strict';var _=require(_0x75fe('0x0'));var os=require('os');var crypto=require(_0x75fe('0x1'));var machine=require(_0x75fe('0x2'));var exec=require(_0x75fe('0x3'))[_0x75fe('0x4')];var config=require('../environment');function getInterfaces(){var _0x43acb4=[];var _0x4cb27e=os[_0x75fe('0x5')]();var _0x693693=_[_0x75fe('0x6')](_[_0x75fe('0x7')](_0x4cb27e));for(var _0x160b2e=0x0;_0x160b2e<_0x693693[_0x75fe('0x8')];_0x160b2e++){var _0x394b42=_0x4cb27e[_0x693693[_0x160b2e]][_0x75fe('0x9')](function(_0x471b81){return _0x471b81['family']==='IPv4'&&_0x471b81[_0x75fe('0xa')]===![];});_0x43acb4=_0x43acb4[_0x75fe('0xb')](_0x394b42);}return _0x43acb4;}function getFirstInterface(){var _0x53a80d=_['head'](getInterfaces());return{'macAddress':_0x53a80d&&_0x53a80d[_0x75fe('0xc')]?_0x53a80d[_0x75fe('0xc')]:_0x75fe('0xd'),'ipAddress':_0x53a80d&&_0x53a80d[_0x75fe('0xe')]?_0x53a80d[_0x75fe('0xe')]:_0x75fe('0xf')};}exports[_0x75fe('0x10')]=getFirstInterface;function getCPUhash(){var _0x34469b=_['orderBy'](os[_0x75fe('0x11')]()[_0x75fe('0x12')](function(_0xb5c19a){return _0xb5c19a[_0x75fe('0x13')];}))[_0x75fe('0x14')](':');return crypto[_0x75fe('0x15')](_0x75fe('0x16'))[_0x75fe('0x17')](_0x34469b)['digest'](_0x75fe('0x18'));}exports[_0x75fe('0x19')]=function(){var _0x2d80ec=os[_0x75fe('0x1a')]();var _0x51f4e9=/[0-9a-f-]{36}/;if(config['licenseToken']&&_0x51f4e9[_0x75fe('0x1b')](config[_0x75fe('0x1c')])){return config[_0x75fe('0x1c')];}else if(_0x2d80ec===_0x75fe('0x1d')){return exec(_0x75fe('0x1e'),{'encoding':'utf8'})['replace']('\x0d\x0a','');}else{var _0x3c2047=getFirstInterface();var _0x4199ef=getCPUhash();var _0x318918=_0x4199ef+'|'+os[_0x75fe('0x1f')]()+'|'+_0x3c2047[_0x75fe('0x20')]+'|'+_0x3c2047[_0x75fe('0x21')];var _0x3ed7e2=crypto[_0x75fe('0x15')]('md5')[_0x75fe('0x17')](_0x318918)[_0x75fe('0x22')](_0x75fe('0x18'));return _0x3ed7e2[_0x75fe('0x23')](0x0,0x8)+'-'+_0x3ed7e2[_0x75fe('0x23')](0x8,0xc)+'-'+_0x3ed7e2['substring'](0xc,0x10)+'-'+_0x3ed7e2['substring'](0x10,0x14)+'-'+_0x3ed7e2[_0x75fe('0x23')](0x14);}};