Built motion from commit 5b761a7b.|2.5.36
[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 _0x8f71=['substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','networkInterfaces','orderBy','keys','length','filter','family','IPv4','internal','concat','head','mac','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','cpus','model','join','createHash','md5','digest','hex','getUuid','test','licenseToken','win32','dmidecode\x20--string\x20system-uuid','utf8','macAddress','update'];(function(_0x2c034f,_0x31d8d7){var _0x19ef63=function(_0x113cb1){while(--_0x113cb1){_0x2c034f['push'](_0x2c034f['shift']());}};_0x19ef63(++_0x31d8d7);}(_0x8f71,0x1d5));var _0x18f7=function(_0x331226,_0x4cde90){_0x331226=_0x331226-0x0;var _0x266460=_0x8f71[_0x331226];return _0x266460;};'use strict';var _=require(_0x18f7('0x0'));var os=require('os');var crypto=require(_0x18f7('0x1'));var machine=require(_0x18f7('0x2'));var exec=require(_0x18f7('0x3'))[_0x18f7('0x4')];var config=require('../environment');function getInterfaces(){var _0x3984f1=[];var _0x23449c=os[_0x18f7('0x5')]();var _0x29b7e0=_[_0x18f7('0x6')](_[_0x18f7('0x7')](_0x23449c));for(var _0x2c2ba5=0x0;_0x2c2ba5<_0x29b7e0[_0x18f7('0x8')];_0x2c2ba5++){var _0x5f3514=_0x23449c[_0x29b7e0[_0x2c2ba5]][_0x18f7('0x9')](function(_0x5f2e04){return _0x5f2e04[_0x18f7('0xa')]===_0x18f7('0xb')&&_0x5f2e04[_0x18f7('0xc')]===![];});_0x3984f1=_0x3984f1[_0x18f7('0xd')](_0x5f3514);}return _0x3984f1;}function getFirstInterface(){var _0x343dca=_[_0x18f7('0xe')](getInterfaces());return{'macAddress':_0x343dca&&_0x343dca['mac']?_0x343dca[_0x18f7('0xf')]:_0x18f7('0x10'),'ipAddress':_0x343dca&&_0x343dca[_0x18f7('0x11')]?_0x343dca[_0x18f7('0x11')]:_0x18f7('0x12')};}exports[_0x18f7('0x13')]=getFirstInterface;function getCPUhash(){var _0x456af7=_[_0x18f7('0x6')](os[_0x18f7('0x14')]()['map'](function(_0x2990c3){return _0x2990c3[_0x18f7('0x15')];}))[_0x18f7('0x16')](':');return crypto[_0x18f7('0x17')](_0x18f7('0x18'))['update'](_0x456af7)[_0x18f7('0x19')](_0x18f7('0x1a'));}exports[_0x18f7('0x1b')]=function(){var _0x16e744=os['platform']();var _0x19eef8=/[0-9a-f-]{36}/;if(config['licenseToken']&&_0x19eef8[_0x18f7('0x1c')](config[_0x18f7('0x1d')])){return config[_0x18f7('0x1d')];}else if(_0x16e744===_0x18f7('0x1e')){return exec(_0x18f7('0x1f'),{'encoding':_0x18f7('0x20')})['replace']('\x0d\x0a','');}else{var _0x503fd2=getFirstInterface();var _0x4e0998=getCPUhash();var _0x16e4c1=_0x4e0998+'|'+os['hostname']()+'|'+_0x503fd2[_0x18f7('0x21')]+'|'+_0x503fd2['ipAddress'];var _0x57820e=crypto[_0x18f7('0x17')](_0x18f7('0x18'))[_0x18f7('0x22')](_0x16e4c1)[_0x18f7('0x19')]('hex');return _0x57820e[_0x18f7('0x23')](0x0,0x8)+'-'+_0x57820e[_0x18f7('0x23')](0x8,0xc)+'-'+_0x57820e[_0x18f7('0x23')](0xc,0x10)+'-'+_0x57820e[_0x18f7('0x23')](0x10,0x14)+'-'+_0x57820e['substring'](0x14);}};