Built motion from commit 994c64e1.|2.6.1
[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 _0xdb73=['substring','lodash','bimedia-machine-uuid','child_process','execSync','networkInterfaces','keys','filter','family','IPv4','concat','head','mac','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','orderBy','cpus','map','model','join','createHash','md5','update','digest','hex','getUuid','licenseToken','win32','utf8','replace','hostname','macAddress','ipAddress'];(function(_0x28d8c0,_0x5ca531){var _0x257b01=function(_0x397cca){while(--_0x397cca){_0x28d8c0['push'](_0x28d8c0['shift']());}};_0x257b01(++_0x5ca531);}(_0xdb73,0x1a5));var _0x3db7=function(_0x41d905,_0x36aff5){_0x41d905=_0x41d905-0x0;var _0x228399=_0xdb73[_0x41d905];return _0x228399;};'use strict';var _=require(_0x3db7('0x0'));var os=require('os');var crypto=require('crypto');var machine=require(_0x3db7('0x1'));var exec=require(_0x3db7('0x2'))[_0x3db7('0x3')];var config=require('../environment');function getInterfaces(){var _0x13dbb1=[];var _0x10eead=os[_0x3db7('0x4')]();var _0x23bf1b=_['orderBy'](_[_0x3db7('0x5')](_0x10eead));for(var _0xe89f1e=0x0;_0xe89f1e<_0x23bf1b['length'];_0xe89f1e++){var _0x56572e=_0x10eead[_0x23bf1b[_0xe89f1e]][_0x3db7('0x6')](function(_0x2e777d){return _0x2e777d[_0x3db7('0x7')]===_0x3db7('0x8')&&_0x2e777d['internal']===![];});_0x13dbb1=_0x13dbb1[_0x3db7('0x9')](_0x56572e);}return _0x13dbb1;}function getFirstInterface(){var _0x4458be=_[_0x3db7('0xa')](getInterfaces());return{'macAddress':_0x4458be&&_0x4458be['mac']?_0x4458be[_0x3db7('0xb')]:_0x3db7('0xc'),'ipAddress':_0x4458be&&_0x4458be['address']?_0x4458be[_0x3db7('0xd')]:_0x3db7('0xe')};}exports[_0x3db7('0xf')]=getFirstInterface;function getCPUhash(){var _0x5b499a=_[_0x3db7('0x10')](os[_0x3db7('0x11')]()[_0x3db7('0x12')](function(_0x5ae461){return _0x5ae461[_0x3db7('0x13')];}))[_0x3db7('0x14')](':');return crypto[_0x3db7('0x15')](_0x3db7('0x16'))[_0x3db7('0x17')](_0x5b499a)[_0x3db7('0x18')](_0x3db7('0x19'));}exports[_0x3db7('0x1a')]=function(){var _0x216f8c=os['platform']();var _0x42e2fa=/[0-9a-f-]{36}/;if(config['licenseToken']&&_0x42e2fa['test'](config[_0x3db7('0x1b')])){return config[_0x3db7('0x1b')];}else if(_0x216f8c===_0x3db7('0x1c')){return exec('dmidecode\x20--string\x20system-uuid',{'encoding':_0x3db7('0x1d')})[_0x3db7('0x1e')]('\x0d\x0a','');}else{var _0x134baf=getFirstInterface();var _0x3bea9b=getCPUhash();var _0x36966a=_0x3bea9b+'|'+os[_0x3db7('0x1f')]()+'|'+_0x134baf[_0x3db7('0x20')]+'|'+_0x134baf[_0x3db7('0x21')];var _0x1510cd=crypto[_0x3db7('0x15')](_0x3db7('0x16'))['update'](_0x36966a)[_0x3db7('0x18')](_0x3db7('0x19'));return _0x1510cd[_0x3db7('0x22')](0x0,0x8)+'-'+_0x1510cd[_0x3db7('0x22')](0x8,0xc)+'-'+_0x1510cd[_0x3db7('0x22')](0xc,0x10)+'-'+_0x1510cd[_0x3db7('0x22')](0x10,0x14)+'-'+_0x1510cd['substring'](0x14);}};