a2bdb9a16651e4c0059aef87e785d1ffe2408dc9
[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 _0xd4d2=['00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','cpus','map','model','createHash','update','digest','hex','getUuid','platform','licenseToken','utf8','replace','hostname','macAddress','ipAddress','md5','substring','lodash','crypto','bimedia-machine-uuid','child_process','../environment','networkInterfaces','orderBy','keys','family','IPv4','internal','head','mac'];(function(_0x473fb0,_0x4ba76e){var _0x591509=function(_0x3c45e1){while(--_0x3c45e1){_0x473fb0['push'](_0x473fb0['shift']());}};_0x591509(++_0x4ba76e);}(_0xd4d2,0x18b));var _0x2d4d=function(_0x2edf09,_0x563ebb){_0x2edf09=_0x2edf09-0x0;var _0x369e65=_0xd4d2[_0x2edf09];return _0x369e65;};'use strict';var _=require(_0x2d4d('0x0'));var os=require('os');var crypto=require(_0x2d4d('0x1'));var machine=require(_0x2d4d('0x2'));var exec=require(_0x2d4d('0x3'))['execSync'];var config=require(_0x2d4d('0x4'));function getInterfaces(){var _0x5cf299=[];var _0x2f968a=os[_0x2d4d('0x5')]();var _0x35ec0e=_[_0x2d4d('0x6')](_[_0x2d4d('0x7')](_0x2f968a));for(var _0x1af7cf=0x0;_0x1af7cf<_0x35ec0e['length'];_0x1af7cf++){var _0x377fb2=_0x2f968a[_0x35ec0e[_0x1af7cf]]['filter'](function(_0x1b5e89){return _0x1b5e89[_0x2d4d('0x8')]===_0x2d4d('0x9')&&_0x1b5e89[_0x2d4d('0xa')]===![];});_0x5cf299=_0x5cf299['concat'](_0x377fb2);}return _0x5cf299;}function getFirstInterface(){var _0xdc1824=_[_0x2d4d('0xb')](getInterfaces());return{'macAddress':_0xdc1824&&_0xdc1824[_0x2d4d('0xc')]?_0xdc1824[_0x2d4d('0xc')]:_0x2d4d('0xd'),'ipAddress':_0xdc1824&&_0xdc1824[_0x2d4d('0xe')]?_0xdc1824[_0x2d4d('0xe')]:_0x2d4d('0xf')};}exports[_0x2d4d('0x10')]=getFirstInterface;function getCPUhash(){var _0x460ada=_[_0x2d4d('0x6')](os[_0x2d4d('0x11')]()[_0x2d4d('0x12')](function(_0xe50d4f){return _0xe50d4f[_0x2d4d('0x13')];}))['join'](':');return crypto[_0x2d4d('0x14')]('md5')[_0x2d4d('0x15')](_0x460ada)[_0x2d4d('0x16')](_0x2d4d('0x17'));}exports[_0x2d4d('0x18')]=function(){var _0x467931=os[_0x2d4d('0x19')]();var _0x3c4180=/[0-9a-f-]{36}/;if(config[_0x2d4d('0x1a')]&&_0x3c4180['test'](config[_0x2d4d('0x1a')])){return config[_0x2d4d('0x1a')];}else if(_0x467931==='win32'){return exec('dmidecode\x20--string\x20system-uuid',{'encoding':_0x2d4d('0x1b')})[_0x2d4d('0x1c')]('\x0d\x0a','');}else{var _0x906ca1=getFirstInterface();var _0x13aeb9=getCPUhash();var _0x33e80e=_0x13aeb9+'|'+os[_0x2d4d('0x1d')]()+'|'+_0x906ca1[_0x2d4d('0x1e')]+'|'+_0x906ca1[_0x2d4d('0x1f')];var _0x542a2b=crypto[_0x2d4d('0x14')](_0x2d4d('0x20'))['update'](_0x33e80e)[_0x2d4d('0x16')](_0x2d4d('0x17'));return _0x542a2b[_0x2d4d('0x21')](0x0,0x8)+'-'+_0x542a2b[_0x2d4d('0x21')](0x8,0xc)+'-'+_0x542a2b[_0x2d4d('0x21')](0xc,0x10)+'-'+_0x542a2b[_0x2d4d('0x21')](0x10,0x14)+'-'+_0x542a2b[_0x2d4d('0x21')](0x14);}};