0241908e5d32925aa38e04543037805aebb0a57f
[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 _0x95ad=['map','model','join','createHash','md5','update','digest','getUuid','platform','licenseToken','test','dmidecode\x20--string\x20system-uuid','utf8','replace','hostname','macAddress','ipAddress','hex','substring','bimedia-machine-uuid','child_process','execSync','../environment','networkInterfaces','orderBy','length','family','IPv4','internal','concat','mac','address','127.0.0.1','cpus'];(function(_0x244470,_0x380cdf){var _0x55b602=function(_0x32de9c){while(--_0x32de9c){_0x244470['push'](_0x244470['shift']());}};_0x55b602(++_0x380cdf);}(_0x95ad,0x189));var _0xd95a=function(_0xf40b3d,_0x19a6c8){_0xf40b3d=_0xf40b3d-0x0;var _0x20d425=_0x95ad[_0xf40b3d];return _0x20d425;};'use strict';var _=require('lodash');var os=require('os');var crypto=require('crypto');var machine=require(_0xd95a('0x0'));var exec=require(_0xd95a('0x1'))[_0xd95a('0x2')];var config=require(_0xd95a('0x3'));function getInterfaces(){var _0x3d46e0=[];var _0x43f328=os[_0xd95a('0x4')]();var _0xec1f5c=_[_0xd95a('0x5')](_['keys'](_0x43f328));for(var _0x4f9f77=0x0;_0x4f9f77<_0xec1f5c[_0xd95a('0x6')];_0x4f9f77++){var _0x2bcac7=_0x43f328[_0xec1f5c[_0x4f9f77]]['filter'](function(_0x1b2dc9){return _0x1b2dc9[_0xd95a('0x7')]===_0xd95a('0x8')&&_0x1b2dc9[_0xd95a('0x9')]===![];});_0x3d46e0=_0x3d46e0[_0xd95a('0xa')](_0x2bcac7);}return _0x3d46e0;}function getFirstInterface(){var _0x7210a9=_['head'](getInterfaces());return{'macAddress':_0x7210a9&&_0x7210a9[_0xd95a('0xb')]?_0x7210a9[_0xd95a('0xb')]:'00:00:00:00:00:00','ipAddress':_0x7210a9&&_0x7210a9[_0xd95a('0xc')]?_0x7210a9[_0xd95a('0xc')]:_0xd95a('0xd')};}exports['getFirstInterface']=getFirstInterface;function getCPUhash(){var _0xf727d2=_[_0xd95a('0x5')](os[_0xd95a('0xe')]()[_0xd95a('0xf')](function(_0x597b9a){return _0x597b9a[_0xd95a('0x10')];}))[_0xd95a('0x11')](':');return crypto[_0xd95a('0x12')](_0xd95a('0x13'))[_0xd95a('0x14')](_0xf727d2)[_0xd95a('0x15')]('hex');}exports[_0xd95a('0x16')]=function(){var _0x13eeef=os[_0xd95a('0x17')]();var _0x8a9f58=/[0-9a-f-]{36}/;if(config[_0xd95a('0x18')]&&_0x8a9f58[_0xd95a('0x19')](config[_0xd95a('0x18')])){return config[_0xd95a('0x18')];}else if(_0x13eeef==='win32'){return exec(_0xd95a('0x1a'),{'encoding':_0xd95a('0x1b')})[_0xd95a('0x1c')]('\x0d\x0a','');}else{var _0x35fc64=getFirstInterface();var _0xf6f39=getCPUhash();var _0x21ec75=_0xf6f39+'|'+os[_0xd95a('0x1d')]()+'|'+_0x35fc64[_0xd95a('0x1e')]+'|'+_0x35fc64[_0xd95a('0x1f')];var _0x27ee26=crypto[_0xd95a('0x12')](_0xd95a('0x13'))[_0xd95a('0x14')](_0x21ec75)[_0xd95a('0x15')](_0xd95a('0x20'));return _0x27ee26[_0xd95a('0x21')](0x0,0x8)+'-'+_0x27ee26[_0xd95a('0x21')](0x8,0xc)+'-'+_0x27ee26[_0xd95a('0x21')](0xc,0x10)+'-'+_0x27ee26[_0xd95a('0x21')](0x10,0x14)+'-'+_0x27ee26['substring'](0x14);}};