4c9b64dc58ecb6bd6415e1f55d6882284dbfd5b9
[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 _0xfa6e=['update','digest','hex','getUuid','platform','licenseToken','test','dmidecode\x20--string\x20system-uuid','utf8','replace','substring','crypto','bimedia-machine-uuid','child_process','execSync','../environment','networkInterfaces','orderBy','length','filter','concat','head','mac','00:00:00:00:00:00','address','127.0.0.1','cpus','model','join','createHash','md5'];(function(_0x134c2e,_0x3573c4){var _0x2825db=function(_0x2a574d){while(--_0x2a574d){_0x134c2e['push'](_0x134c2e['shift']());}};_0x2825db(++_0x3573c4);}(_0xfa6e,0x17f));var _0xefa6=function(_0x57b54c,_0x54ce0d){_0x57b54c=_0x57b54c-0x0;var _0x59cc19=_0xfa6e[_0x57b54c];return _0x59cc19;};'use strict';var _=require('lodash');var os=require('os');var crypto=require(_0xefa6('0x0'));var machine=require(_0xefa6('0x1'));var exec=require(_0xefa6('0x2'))[_0xefa6('0x3')];var config=require(_0xefa6('0x4'));function getInterfaces(){var _0x4c3a76=[];var _0x5e91b0=os[_0xefa6('0x5')]();var _0xe5a9e8=_[_0xefa6('0x6')](_['keys'](_0x5e91b0));for(var _0x4120d5=0x0;_0x4120d5<_0xe5a9e8[_0xefa6('0x7')];_0x4120d5++){var _0x39b2be=_0x5e91b0[_0xe5a9e8[_0x4120d5]][_0xefa6('0x8')](function(_0x5b62a2){return _0x5b62a2['family']==='IPv4'&&_0x5b62a2['internal']===![];});_0x4c3a76=_0x4c3a76[_0xefa6('0x9')](_0x39b2be);}return _0x4c3a76;}function getFirstInterface(){var _0x3a2529=_[_0xefa6('0xa')](getInterfaces());return{'macAddress':_0x3a2529&&_0x3a2529[_0xefa6('0xb')]?_0x3a2529[_0xefa6('0xb')]:_0xefa6('0xc'),'ipAddress':_0x3a2529&&_0x3a2529[_0xefa6('0xd')]?_0x3a2529[_0xefa6('0xd')]:_0xefa6('0xe')};}exports['getFirstInterface']=getFirstInterface;function getCPUhash(){var _0x4ea1e1=_['orderBy'](os[_0xefa6('0xf')]()['map'](function(_0x533545){return _0x533545[_0xefa6('0x10')];}))[_0xefa6('0x11')](':');return crypto[_0xefa6('0x12')](_0xefa6('0x13'))[_0xefa6('0x14')](_0x4ea1e1)[_0xefa6('0x15')](_0xefa6('0x16'));}exports[_0xefa6('0x17')]=function(){var _0x25265f=os[_0xefa6('0x18')]();var _0x44740f=/[0-9a-f-]{36}/;if(config[_0xefa6('0x19')]&&_0x44740f[_0xefa6('0x1a')](config['licenseToken'])){return config[_0xefa6('0x19')];}else if(_0x25265f==='win32'){return exec(_0xefa6('0x1b'),{'encoding':_0xefa6('0x1c')})[_0xefa6('0x1d')]('\x0d\x0a','');}else{var _0x43cf84=getFirstInterface();var _0x104add=getCPUhash();var _0x586547=_0x104add+'|'+os['hostname']()+'|'+_0x43cf84['macAddress']+'|'+_0x43cf84['ipAddress'];var _0x2f4582=crypto[_0xefa6('0x12')]('md5')['update'](_0x586547)['digest']('hex');return _0x2f4582[_0xefa6('0x1e')](0x0,0x8)+'-'+_0x2f4582[_0xefa6('0x1e')](0x8,0xc)+'-'+_0x2f4582['substring'](0xc,0x10)+'-'+_0x2f4582[_0xefa6('0x1e')](0x10,0x14)+'-'+_0x2f4582['substring'](0x14);}};