a859344524cfe4bd661bf55c77d6e272ccc43c75
[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 _0xad6c=['digest','hex','getUuid','platform','licenseToken','test','win32','dmidecode\x20--string\x20system-uuid','utf8','replace','hostname','ipAddress','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','networkInterfaces','keys','length','IPv4','internal','head','mac','00:00:00:00:00:00','address','getFirstInterface','orderBy','cpus','map','model','join','md5'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xad6c,0x11d));var _0xcad6=function(_0x376be9,_0xec67d0){_0x376be9=_0x376be9-0x0;var _0x5bff28=_0xad6c[_0x376be9];return _0x5bff28;};'use strict';var _=require(_0xcad6('0x0'));var os=require('os');var crypto=require(_0xcad6('0x1'));var machine=require(_0xcad6('0x2'));var exec=require(_0xcad6('0x3'))[_0xcad6('0x4')];var config=require('../environment');function getInterfaces(){var _0x37e8f4=[];var _0x444603=os[_0xcad6('0x5')]();var _0x37f737=_['orderBy'](_[_0xcad6('0x6')](_0x444603));for(var _0x152b2c=0x0;_0x152b2c<_0x37f737[_0xcad6('0x7')];_0x152b2c++){var _0x31f590=_0x444603[_0x37f737[_0x152b2c]]['filter'](function(_0x5053c5){return _0x5053c5['family']===_0xcad6('0x8')&&_0x5053c5[_0xcad6('0x9')]===![];});_0x37e8f4=_0x37e8f4['concat'](_0x31f590);}return _0x37e8f4;}function getFirstInterface(){var _0x5f59a7=_[_0xcad6('0xa')](getInterfaces());return{'macAddress':_0x5f59a7&&_0x5f59a7['mac']?_0x5f59a7[_0xcad6('0xb')]:_0xcad6('0xc'),'ipAddress':_0x5f59a7&&_0x5f59a7['address']?_0x5f59a7[_0xcad6('0xd')]:'127.0.0.1'};}exports[_0xcad6('0xe')]=getFirstInterface;function getCPUhash(){var _0x3acd03=_[_0xcad6('0xf')](os[_0xcad6('0x10')]()[_0xcad6('0x11')](function(_0x2b4db3){return _0x2b4db3[_0xcad6('0x12')];}))[_0xcad6('0x13')](':');return crypto['createHash'](_0xcad6('0x14'))['update'](_0x3acd03)[_0xcad6('0x15')](_0xcad6('0x16'));}exports[_0xcad6('0x17')]=function(){var _0x3a7c96=os[_0xcad6('0x18')]();var _0x4fc638=/[0-9a-f-]{36}/;if(config[_0xcad6('0x19')]&&_0x4fc638[_0xcad6('0x1a')](config[_0xcad6('0x19')])){return config[_0xcad6('0x19')];}else if(_0x3a7c96===_0xcad6('0x1b')){return exec(_0xcad6('0x1c'),{'encoding':_0xcad6('0x1d')})[_0xcad6('0x1e')]('\x0d\x0a','');}else{var _0x516125=getFirstInterface();var _0xd7bf2=getCPUhash();var _0x6445cb=_0xd7bf2+'|'+os[_0xcad6('0x1f')]()+'|'+_0x516125['macAddress']+'|'+_0x516125[_0xcad6('0x20')];var _0x37539e=crypto['createHash'](_0xcad6('0x14'))['update'](_0x6445cb)[_0xcad6('0x15')]('hex');return _0x37539e['substring'](0x0,0x8)+'-'+_0x37539e['substring'](0x8,0xc)+'-'+_0x37539e[_0xcad6('0x21')](0xc,0x10)+'-'+_0x37539e[_0xcad6('0x21')](0x10,0x14)+'-'+_0x37539e[_0xcad6('0x21')](0x14);}};