e7b77d7f647b3cf34d2bcee4991f63dafa62dd1f
[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 _0x8792=['orderBy','keys','length','filter','family','IPv4','internal','concat','mac','address','getFirstInterface','cpus','map','model','join','createHash','md5','digest','hex','getUuid','licenseToken','test','win32','utf8','replace','hostname','macAddress','ipAddress','update','substring','lodash','bimedia-machine-uuid','../environment','networkInterfaces'];(function(_0x268415,_0x180cf2){var _0xd24695=function(_0x36c33d){while(--_0x36c33d){_0x268415['push'](_0x268415['shift']());}};_0xd24695(++_0x180cf2);}(_0x8792,0xc8));var _0x2879=function(_0x12ec56,_0x5bdc4b){_0x12ec56=_0x12ec56-0x0;var _0xb8d406=_0x8792[_0x12ec56];return _0xb8d406;};'use strict';var _=require(_0x2879('0x0'));var os=require('os');var crypto=require('crypto');var machine=require(_0x2879('0x1'));var exec=require('child_process')['execSync'];var config=require(_0x2879('0x2'));function getInterfaces(){var _0x408bfb=[];var _0x1253ca=os[_0x2879('0x3')]();var _0x1402f3=_[_0x2879('0x4')](_[_0x2879('0x5')](_0x1253ca));for(var _0x4171d9=0x0;_0x4171d9<_0x1402f3[_0x2879('0x6')];_0x4171d9++){var _0x144195=_0x1253ca[_0x1402f3[_0x4171d9]][_0x2879('0x7')](function(_0x433228){return _0x433228[_0x2879('0x8')]===_0x2879('0x9')&&_0x433228[_0x2879('0xa')]===![];});_0x408bfb=_0x408bfb[_0x2879('0xb')](_0x144195);}return _0x408bfb;}function getFirstInterface(){var _0x353b57=_['head'](getInterfaces());return{'macAddress':_0x353b57&&_0x353b57[_0x2879('0xc')]?_0x353b57[_0x2879('0xc')]:'00:00:00:00:00:00','ipAddress':_0x353b57&&_0x353b57[_0x2879('0xd')]?_0x353b57['address']:'127.0.0.1'};}exports[_0x2879('0xe')]=getFirstInterface;function getCPUhash(){var _0xfcd709=_['orderBy'](os[_0x2879('0xf')]()[_0x2879('0x10')](function(_0x29e3d2){return _0x29e3d2[_0x2879('0x11')];}))[_0x2879('0x12')](':');return crypto[_0x2879('0x13')](_0x2879('0x14'))['update'](_0xfcd709)[_0x2879('0x15')](_0x2879('0x16'));}exports[_0x2879('0x17')]=function(){var _0x33874b=os['platform']();var _0x4ce79a=/[0-9a-f-]{36}/;if(config[_0x2879('0x18')]&&_0x4ce79a[_0x2879('0x19')](config[_0x2879('0x18')])){return config[_0x2879('0x18')];}else if(_0x33874b===_0x2879('0x1a')){return exec('dmidecode\x20--string\x20system-uuid',{'encoding':_0x2879('0x1b')})[_0x2879('0x1c')]('\x0d\x0a','');}else{var _0x78117=getFirstInterface();var _0x278b59=getCPUhash();var _0x1b6073=_0x278b59+'|'+os[_0x2879('0x1d')]()+'|'+_0x78117[_0x2879('0x1e')]+'|'+_0x78117[_0x2879('0x1f')];var _0x2aa341=crypto[_0x2879('0x13')](_0x2879('0x14'))[_0x2879('0x20')](_0x1b6073)[_0x2879('0x15')](_0x2879('0x16'));return _0x2aa341[_0x2879('0x21')](0x0,0x8)+'-'+_0x2aa341[_0x2879('0x21')](0x8,0xc)+'-'+_0x2aa341[_0x2879('0x21')](0xc,0x10)+'-'+_0x2aa341['substring'](0x10,0x14)+'-'+_0x2aa341[_0x2879('0x21')](0x14);}};