Built motion from commit b5413ace.|2.6.9
[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 _0xb62f=['licenseToken','test','win32','dmidecode\x20--string\x20system-uuid','utf8','replace','hostname','ipAddress','digest','substring','bimedia-machine-uuid','child_process','execSync','../environment','orderBy','keys','length','family','internal','concat','mac','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','cpus','model','join','createHash','md5','update','platform'];(function(_0x58c327,_0x3bcb3b){var _0x3615ce=function(_0x3ed2aa){while(--_0x3ed2aa){_0x58c327['push'](_0x58c327['shift']());}};_0x3615ce(++_0x3bcb3b);}(_0xb62f,0xaa));var _0xfb62=function(_0x22189b,_0xabf8e0){_0x22189b=_0x22189b-0x0;var _0x24d4f3=_0xb62f[_0x22189b];return _0x24d4f3;};'use strict';var _=require('lodash');var os=require('os');var crypto=require('crypto');var machine=require(_0xfb62('0x0'));var exec=require(_0xfb62('0x1'))[_0xfb62('0x2')];var config=require(_0xfb62('0x3'));function getInterfaces(){var _0x2ea3f4=[];var _0x5ae16f=os['networkInterfaces']();var _0x4087b9=_[_0xfb62('0x4')](_[_0xfb62('0x5')](_0x5ae16f));for(var _0x2b45a6=0x0;_0x2b45a6<_0x4087b9[_0xfb62('0x6')];_0x2b45a6++){var _0x2e8f59=_0x5ae16f[_0x4087b9[_0x2b45a6]]['filter'](function(_0x4d6b98){return _0x4d6b98[_0xfb62('0x7')]==='IPv4'&&_0x4d6b98[_0xfb62('0x8')]===![];});_0x2ea3f4=_0x2ea3f4[_0xfb62('0x9')](_0x2e8f59);}return _0x2ea3f4;}function getFirstInterface(){var _0x20d35d=_['head'](getInterfaces());return{'macAddress':_0x20d35d&&_0x20d35d[_0xfb62('0xa')]?_0x20d35d[_0xfb62('0xa')]:_0xfb62('0xb'),'ipAddress':_0x20d35d&&_0x20d35d['address']?_0x20d35d[_0xfb62('0xc')]:_0xfb62('0xd')};}exports[_0xfb62('0xe')]=getFirstInterface;function getCPUhash(){var _0x417659=_[_0xfb62('0x4')](os[_0xfb62('0xf')]()['map'](function(_0x145dde){return _0x145dde[_0xfb62('0x10')];}))[_0xfb62('0x11')](':');return crypto[_0xfb62('0x12')](_0xfb62('0x13'))[_0xfb62('0x14')](_0x417659)['digest']('hex');}exports['getUuid']=function(){var _0x3ee4b3=os[_0xfb62('0x15')]();var _0x384c52=/[0-9a-f-]{36}/;if(config[_0xfb62('0x16')]&&_0x384c52[_0xfb62('0x17')](config[_0xfb62('0x16')])){return config[_0xfb62('0x16')];}else if(_0x3ee4b3===_0xfb62('0x18')){return exec(_0xfb62('0x19'),{'encoding':_0xfb62('0x1a')})[_0xfb62('0x1b')]('\x0d\x0a','');}else{var _0x3afd1a=getFirstInterface();var _0x232150=getCPUhash();var _0x515643=_0x232150+'|'+os[_0xfb62('0x1c')]()+'|'+_0x3afd1a['macAddress']+'|'+_0x3afd1a[_0xfb62('0x1d')];var _0x1ee3e0=crypto[_0xfb62('0x12')](_0xfb62('0x13'))['update'](_0x515643)[_0xfb62('0x1e')]('hex');return _0x1ee3e0[_0xfb62('0x1f')](0x0,0x8)+'-'+_0x1ee3e0[_0xfb62('0x1f')](0x8,0xc)+'-'+_0x1ee3e0[_0xfb62('0x1f')](0xc,0x10)+'-'+_0x1ee3e0['substring'](0x10,0x14)+'-'+_0x1ee3e0[_0xfb62('0x1f')](0x14);}};