86b87726900da5d53cd24b882435d7d254d8df5c
[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 _0xb953=['update','digest','hex','getUuid','platform','licenseToken','test','dmidecode\x20--string\x20system-uuid','utf8','replace','hostname','macAddress','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','../environment','networkInterfaces','orderBy','keys','length','filter','family','IPv4','concat','head','mac','00:00:00:00:00:00','address','127.0.0.1','cpus','map','join','createHash','md5'];(function(_0x418773,_0x11c841){var _0x460976=function(_0x78c8a1){while(--_0x78c8a1){_0x418773['push'](_0x418773['shift']());}};_0x460976(++_0x11c841);}(_0xb953,0x15a));var _0x3b95=function(_0x14b86b,_0x2ef86e){_0x14b86b=_0x14b86b-0x0;var _0x36bd79=_0xb953[_0x14b86b];return _0x36bd79;};'use strict';var _=require(_0x3b95('0x0'));var os=require('os');var crypto=require(_0x3b95('0x1'));var machine=require(_0x3b95('0x2'));var exec=require(_0x3b95('0x3'))[_0x3b95('0x4')];var config=require(_0x3b95('0x5'));function getInterfaces(){var _0xd23d17=[];var _0x44cee8=os[_0x3b95('0x6')]();var _0x28e1f6=_[_0x3b95('0x7')](_[_0x3b95('0x8')](_0x44cee8));for(var _0x21380b=0x0;_0x21380b<_0x28e1f6[_0x3b95('0x9')];_0x21380b++){var _0x58bc66=_0x44cee8[_0x28e1f6[_0x21380b]][_0x3b95('0xa')](function(_0xa3ba4){return _0xa3ba4[_0x3b95('0xb')]===_0x3b95('0xc')&&_0xa3ba4['internal']===![];});_0xd23d17=_0xd23d17[_0x3b95('0xd')](_0x58bc66);}return _0xd23d17;}function getFirstInterface(){var _0x35cb31=_[_0x3b95('0xe')](getInterfaces());return{'macAddress':_0x35cb31&&_0x35cb31['mac']?_0x35cb31[_0x3b95('0xf')]:_0x3b95('0x10'),'ipAddress':_0x35cb31&&_0x35cb31[_0x3b95('0x11')]?_0x35cb31['address']:_0x3b95('0x12')};}exports['getFirstInterface']=getFirstInterface;function getCPUhash(){var _0x4a17a2=_['orderBy'](os[_0x3b95('0x13')]()[_0x3b95('0x14')](function(_0x2ef0eb){return _0x2ef0eb['model'];}))[_0x3b95('0x15')](':');return crypto[_0x3b95('0x16')](_0x3b95('0x17'))[_0x3b95('0x18')](_0x4a17a2)[_0x3b95('0x19')](_0x3b95('0x1a'));}exports[_0x3b95('0x1b')]=function(){var _0x19d62a=os[_0x3b95('0x1c')]();var _0x27687d=/[0-9a-f-]{36}/;if(config[_0x3b95('0x1d')]&&_0x27687d[_0x3b95('0x1e')](config['licenseToken'])){return config[_0x3b95('0x1d')];}else if(_0x19d62a==='win32'){return exec(_0x3b95('0x1f'),{'encoding':_0x3b95('0x20')})[_0x3b95('0x21')]('\x0d\x0a','');}else{var _0x1c0d43=getFirstInterface();var _0x39dfdb=getCPUhash();var _0x3b6cec=_0x39dfdb+'|'+os[_0x3b95('0x22')]()+'|'+_0x1c0d43[_0x3b95('0x23')]+'|'+_0x1c0d43['ipAddress'];var _0x49a249=crypto[_0x3b95('0x16')](_0x3b95('0x17'))[_0x3b95('0x18')](_0x3b6cec)[_0x3b95('0x19')]('hex');return _0x49a249['substring'](0x0,0x8)+'-'+_0x49a249[_0x3b95('0x24')](0x8,0xc)+'-'+_0x49a249[_0x3b95('0x24')](0xc,0x10)+'-'+_0x49a249[_0x3b95('0x24')](0x10,0x14)+'-'+_0x49a249[_0x3b95('0x24')](0x14);}};