Built motion from commit b5996064.|2.6.21
[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 _0xa2ee=['getUuid','platform','licenseToken','test','dmidecode\x20--string\x20system-uuid','utf8','replace','hostname','macAddress','ipAddress','createHash','md5','update','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','../environment','networkInterfaces','orderBy','length','filter','family','head','mac','00:00:00:00:00:00','address','cpus','model','join','hex'];(function(_0x40c5b0,_0xf9969c){var _0x1b355d=function(_0x5eab3b){while(--_0x5eab3b){_0x40c5b0['push'](_0x40c5b0['shift']());}};_0x1b355d(++_0xf9969c);}(_0xa2ee,0x137));var _0xea2e=function(_0x239dba,_0x309e95){_0x239dba=_0x239dba-0x0;var _0x1ceb11=_0xa2ee[_0x239dba];return _0x1ceb11;};'use strict';var _=require(_0xea2e('0x0'));var os=require('os');var crypto=require(_0xea2e('0x1'));var machine=require(_0xea2e('0x2'));var exec=require(_0xea2e('0x3'))[_0xea2e('0x4')];var config=require(_0xea2e('0x5'));function getInterfaces(){var _0x4ed7f0=[];var _0x4fd7e6=os[_0xea2e('0x6')]();var _0x216a07=_[_0xea2e('0x7')](_['keys'](_0x4fd7e6));for(var _0x2e4442=0x0;_0x2e4442<_0x216a07[_0xea2e('0x8')];_0x2e4442++){var _0x55faa1=_0x4fd7e6[_0x216a07[_0x2e4442]][_0xea2e('0x9')](function(_0x10eb76){return _0x10eb76[_0xea2e('0xa')]==='IPv4'&&_0x10eb76['internal']===![];});_0x4ed7f0=_0x4ed7f0['concat'](_0x55faa1);}return _0x4ed7f0;}function getFirstInterface(){var _0x55a4e7=_[_0xea2e('0xb')](getInterfaces());return{'macAddress':_0x55a4e7&&_0x55a4e7[_0xea2e('0xc')]?_0x55a4e7[_0xea2e('0xc')]:_0xea2e('0xd'),'ipAddress':_0x55a4e7&&_0x55a4e7[_0xea2e('0xe')]?_0x55a4e7[_0xea2e('0xe')]:'127.0.0.1'};}exports['getFirstInterface']=getFirstInterface;function getCPUhash(){var _0x545acc=_['orderBy'](os[_0xea2e('0xf')]()['map'](function(_0x30f933){return _0x30f933[_0xea2e('0x10')];}))[_0xea2e('0x11')](':');return crypto['createHash']('md5')['update'](_0x545acc)['digest'](_0xea2e('0x12'));}exports[_0xea2e('0x13')]=function(){var _0x3919cd=os[_0xea2e('0x14')]();var _0x10fbe1=/[0-9a-f-]{36}/;if(config[_0xea2e('0x15')]&&_0x10fbe1[_0xea2e('0x16')](config[_0xea2e('0x15')])){return config[_0xea2e('0x15')];}else if(_0x3919cd==='win32'){return exec(_0xea2e('0x17'),{'encoding':_0xea2e('0x18')})[_0xea2e('0x19')]('\x0d\x0a','');}else{var _0x48fca4=getFirstInterface();var _0x1ad6a1=getCPUhash();var _0xdebe50=_0x1ad6a1+'|'+os[_0xea2e('0x1a')]()+'|'+_0x48fca4[_0xea2e('0x1b')]+'|'+_0x48fca4[_0xea2e('0x1c')];var _0x48f774=crypto[_0xea2e('0x1d')](_0xea2e('0x1e'))[_0xea2e('0x1f')](_0xdebe50)['digest'](_0xea2e('0x12'));return _0x48f774[_0xea2e('0x20')](0x0,0x8)+'-'+_0x48f774[_0xea2e('0x20')](0x8,0xc)+'-'+_0x48f774[_0xea2e('0x20')](0xc,0x10)+'-'+_0x48f774[_0xea2e('0x20')](0x10,0x14)+'-'+_0x48f774['substring'](0x14);}};