Built motion from commit 25580385.|2.6.2
[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 _0xc4c9=['map','model','update','digest','getUuid','licenseToken','test','win32','utf8','replace','hostname','macAddress','ipAddress','createHash','md5','substring','lodash','crypto','bimedia-machine-uuid','execSync','orderBy','keys','length','filter','family','IPv4','internal','mac','00:00:00:00:00:00','address','getFirstInterface','cpus'];(function(_0x16629d,_0x492375){var _0x56ccee=function(_0xa982b7){while(--_0xa982b7){_0x16629d['push'](_0x16629d['shift']());}};_0x56ccee(++_0x492375);}(_0xc4c9,0x150));var _0x9c4c=function(_0x3c1635,_0x3ee62f){_0x3c1635=_0x3c1635-0x0;var _0x41914b=_0xc4c9[_0x3c1635];return _0x41914b;};'use strict';var _=require(_0x9c4c('0x0'));var os=require('os');var crypto=require(_0x9c4c('0x1'));var machine=require(_0x9c4c('0x2'));var exec=require('child_process')[_0x9c4c('0x3')];var config=require('../environment');function getInterfaces(){var _0x397933=[];var _0x5c2c45=os['networkInterfaces']();var _0x8dbec9=_[_0x9c4c('0x4')](_[_0x9c4c('0x5')](_0x5c2c45));for(var _0x5b6d2b=0x0;_0x5b6d2b<_0x8dbec9[_0x9c4c('0x6')];_0x5b6d2b++){var _0x4f4727=_0x5c2c45[_0x8dbec9[_0x5b6d2b]][_0x9c4c('0x7')](function(_0x340f37){return _0x340f37[_0x9c4c('0x8')]===_0x9c4c('0x9')&&_0x340f37[_0x9c4c('0xa')]===![];});_0x397933=_0x397933['concat'](_0x4f4727);}return _0x397933;}function getFirstInterface(){var _0x4a01ea=_['head'](getInterfaces());return{'macAddress':_0x4a01ea&&_0x4a01ea[_0x9c4c('0xb')]?_0x4a01ea[_0x9c4c('0xb')]:_0x9c4c('0xc'),'ipAddress':_0x4a01ea&&_0x4a01ea[_0x9c4c('0xd')]?_0x4a01ea['address']:'127.0.0.1'};}exports[_0x9c4c('0xe')]=getFirstInterface;function getCPUhash(){var _0x400fb5=_[_0x9c4c('0x4')](os[_0x9c4c('0xf')]()[_0x9c4c('0x10')](function(_0x1de02c){return _0x1de02c[_0x9c4c('0x11')];}))['join'](':');return crypto['createHash']('md5')[_0x9c4c('0x12')](_0x400fb5)[_0x9c4c('0x13')]('hex');}exports[_0x9c4c('0x14')]=function(){var _0x29492b=os['platform']();var _0x15fa54=/[0-9a-f-]{36}/;if(config[_0x9c4c('0x15')]&&_0x15fa54[_0x9c4c('0x16')](config[_0x9c4c('0x15')])){return config[_0x9c4c('0x15')];}else if(_0x29492b===_0x9c4c('0x17')){return exec('dmidecode\x20--string\x20system-uuid',{'encoding':_0x9c4c('0x18')})[_0x9c4c('0x19')]('\x0d\x0a','');}else{var _0x446813=getFirstInterface();var _0xe04530=getCPUhash();var _0x298c0c=_0xe04530+'|'+os[_0x9c4c('0x1a')]()+'|'+_0x446813[_0x9c4c('0x1b')]+'|'+_0x446813[_0x9c4c('0x1c')];var _0x5d4208=crypto[_0x9c4c('0x1d')](_0x9c4c('0x1e'))['update'](_0x298c0c)['digest']('hex');return _0x5d4208['substring'](0x0,0x8)+'-'+_0x5d4208['substring'](0x8,0xc)+'-'+_0x5d4208[_0x9c4c('0x1f')](0xc,0x10)+'-'+_0x5d4208[_0x9c4c('0x1f')](0x10,0x14)+'-'+_0x5d4208[_0x9c4c('0x1f')](0x14);}};