c3a42bed30079313105729c4bc8b89940b6df2d7
[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 _0x93ad=['127.0.0.1','getFirstInterface','cpus','map','join','createHash','md5','digest','getUuid','platform','test','licenseToken','win32','dmidecode\x20--string\x20system-uuid','utf8','hostname','macAddress','ipAddress','update','hex','substring','crypto','bimedia-machine-uuid','child_process','execSync','../environment','networkInterfaces','orderBy','keys','length','filter','family','IPv4','internal','concat','mac','00:00:00:00:00:00','address'];(function(_0x53d354,_0x241dcd){var _0x328ad7=function(_0xc0c339){while(--_0xc0c339){_0x53d354['push'](_0x53d354['shift']());}};_0x328ad7(++_0x241dcd);}(_0x93ad,0x191));var _0xd93a=function(_0x10eb38,_0x2086bd){_0x10eb38=_0x10eb38-0x0;var _0x5af9b5=_0x93ad[_0x10eb38];return _0x5af9b5;};'use strict';var _=require('lodash');var os=require('os');var crypto=require(_0xd93a('0x0'));var machine=require(_0xd93a('0x1'));var exec=require(_0xd93a('0x2'))[_0xd93a('0x3')];var config=require(_0xd93a('0x4'));function getInterfaces(){var _0x473b9d=[];var _0x3918b4=os[_0xd93a('0x5')]();var _0x172fa2=_[_0xd93a('0x6')](_[_0xd93a('0x7')](_0x3918b4));for(var _0x437200=0x0;_0x437200<_0x172fa2[_0xd93a('0x8')];_0x437200++){var _0x1a5663=_0x3918b4[_0x172fa2[_0x437200]][_0xd93a('0x9')](function(_0xf4a1f7){return _0xf4a1f7[_0xd93a('0xa')]===_0xd93a('0xb')&&_0xf4a1f7[_0xd93a('0xc')]===![];});_0x473b9d=_0x473b9d[_0xd93a('0xd')](_0x1a5663);}return _0x473b9d;}function getFirstInterface(){var _0x434c42=_['head'](getInterfaces());return{'macAddress':_0x434c42&&_0x434c42[_0xd93a('0xe')]?_0x434c42['mac']:_0xd93a('0xf'),'ipAddress':_0x434c42&&_0x434c42[_0xd93a('0x10')]?_0x434c42['address']:_0xd93a('0x11')};}exports[_0xd93a('0x12')]=getFirstInterface;function getCPUhash(){var _0x527033=_[_0xd93a('0x6')](os[_0xd93a('0x13')]()[_0xd93a('0x14')](function(_0x1643fa){return _0x1643fa['model'];}))[_0xd93a('0x15')](':');return crypto[_0xd93a('0x16')](_0xd93a('0x17'))['update'](_0x527033)[_0xd93a('0x18')]('hex');}exports[_0xd93a('0x19')]=function(){var _0x551184=os[_0xd93a('0x1a')]();var _0x42e7f2=/[0-9a-f-]{36}/;if(config['licenseToken']&&_0x42e7f2[_0xd93a('0x1b')](config['licenseToken'])){return config[_0xd93a('0x1c')];}else if(_0x551184===_0xd93a('0x1d')){return exec(_0xd93a('0x1e'),{'encoding':_0xd93a('0x1f')})['replace']('\x0d\x0a','');}else{var _0x26184d=getFirstInterface();var _0xbd980a=getCPUhash();var _0x3c8e2b=_0xbd980a+'|'+os[_0xd93a('0x20')]()+'|'+_0x26184d[_0xd93a('0x21')]+'|'+_0x26184d[_0xd93a('0x22')];var _0x3fe98e=crypto[_0xd93a('0x16')](_0xd93a('0x17'))[_0xd93a('0x23')](_0x3c8e2b)[_0xd93a('0x18')](_0xd93a('0x24'));return _0x3fe98e[_0xd93a('0x25')](0x0,0x8)+'-'+_0x3fe98e[_0xd93a('0x25')](0x8,0xc)+'-'+_0x3fe98e['substring'](0xc,0x10)+'-'+_0x3fe98e[_0xd93a('0x25')](0x10,0x14)+'-'+_0x3fe98e[_0xd93a('0x25')](0x14);}};