Built motion from commit (unavailable).|2.5.31
[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 _0xdd04=['child_process','execSync','../environment','networkInterfaces','keys','length','filter','family','IPv4','internal','concat','head','mac','address','127.0.0.1','getFirstInterface','cpus','join','createHash','md5','update','digest','hex','getUuid','licenseToken','test','win32','utf8','hostname','substring','crypto','bimedia-machine-uuid'];(function(_0x17d5ea,_0x5321f9){var _0x4d56f3=function(_0x52baab){while(--_0x52baab){_0x17d5ea['push'](_0x17d5ea['shift']());}};_0x4d56f3(++_0x5321f9);}(_0xdd04,0xde));var _0x4dd0=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xdd04[_0x3dd15e];return _0x231fd0;};'use strict';var _=require('lodash');var os=require('os');var crypto=require(_0x4dd0('0x0'));var machine=require(_0x4dd0('0x1'));var exec=require(_0x4dd0('0x2'))[_0x4dd0('0x3')];var config=require(_0x4dd0('0x4'));function getInterfaces(){var _0x561f9c=[];var _0x166447=os[_0x4dd0('0x5')]();var _0x293eb0=_['orderBy'](_[_0x4dd0('0x6')](_0x166447));for(var _0x35d489=0x0;_0x35d489<_0x293eb0[_0x4dd0('0x7')];_0x35d489++){var _0x5a04c0=_0x166447[_0x293eb0[_0x35d489]][_0x4dd0('0x8')](function(_0x36fddf){return _0x36fddf[_0x4dd0('0x9')]===_0x4dd0('0xa')&&_0x36fddf[_0x4dd0('0xb')]===![];});_0x561f9c=_0x561f9c[_0x4dd0('0xc')](_0x5a04c0);}return _0x561f9c;}function getFirstInterface(){var _0x1a6bd2=_[_0x4dd0('0xd')](getInterfaces());return{'macAddress':_0x1a6bd2&&_0x1a6bd2[_0x4dd0('0xe')]?_0x1a6bd2[_0x4dd0('0xe')]:'00:00:00:00:00:00','ipAddress':_0x1a6bd2&&_0x1a6bd2[_0x4dd0('0xf')]?_0x1a6bd2[_0x4dd0('0xf')]:_0x4dd0('0x10')};}exports[_0x4dd0('0x11')]=getFirstInterface;function getCPUhash(){var _0xefff7d=_['orderBy'](os[_0x4dd0('0x12')]()['map'](function(_0x70ac39){return _0x70ac39['model'];}))[_0x4dd0('0x13')](':');return crypto[_0x4dd0('0x14')](_0x4dd0('0x15'))[_0x4dd0('0x16')](_0xefff7d)[_0x4dd0('0x17')](_0x4dd0('0x18'));}exports[_0x4dd0('0x19')]=function(){var _0x2a7c4c=os['platform']();var _0x403bb7=/[0-9a-f-]{36}/;if(config[_0x4dd0('0x1a')]&&_0x403bb7[_0x4dd0('0x1b')](config[_0x4dd0('0x1a')])){return config['licenseToken'];}else if(_0x2a7c4c===_0x4dd0('0x1c')){return exec('dmidecode\x20--string\x20system-uuid',{'encoding':_0x4dd0('0x1d')})['replace']('\x0d\x0a','');}else{var _0xa006c5=getFirstInterface();var _0x9588da=getCPUhash();var _0x3b9da4=_0x9588da+'|'+os[_0x4dd0('0x1e')]()+'|'+_0xa006c5['macAddress']+'|'+_0xa006c5['ipAddress'];var _0x689bca=crypto['createHash'](_0x4dd0('0x15'))['update'](_0x3b9da4)[_0x4dd0('0x17')](_0x4dd0('0x18'));return _0x689bca[_0x4dd0('0x1f')](0x0,0x8)+'-'+_0x689bca[_0x4dd0('0x1f')](0x8,0xc)+'-'+_0x689bca[_0x4dd0('0x1f')](0xc,0x10)+'-'+_0x689bca['substring'](0x10,0x14)+'-'+_0x689bca[_0x4dd0('0x1f')](0x14);}};