Built motion from commit a61a4a20.|2.5.46
[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 _0xd130=['../environment','networkInterfaces','orderBy','keys','length','mac','00:00:00:00:00:00','127.0.0.1','cpus','join','md5','update','digest','hex','getUuid','platform','test','licenseToken','win32','dmidecode\x20--string\x20system-uuid','replace','macAddress','ipAddress','createHash','substring','lodash','crypto','bimedia-machine-uuid','execSync'];(function(_0x1d1779,_0x284147){var _0x2377e9=function(_0x299f6f){while(--_0x299f6f){_0x1d1779['push'](_0x1d1779['shift']());}};_0x2377e9(++_0x284147);}(_0xd130,0x101));var _0x0d13=function(_0x5da528,_0x27f9eb){_0x5da528=_0x5da528-0x0;var _0x51563e=_0xd130[_0x5da528];return _0x51563e;};'use strict';var _=require(_0x0d13('0x0'));var os=require('os');var crypto=require(_0x0d13('0x1'));var machine=require(_0x0d13('0x2'));var exec=require('child_process')[_0x0d13('0x3')];var config=require(_0x0d13('0x4'));function getInterfaces(){var _0x1f7a74=[];var _0x1fe67d=os[_0x0d13('0x5')]();var _0x229069=_[_0x0d13('0x6')](_[_0x0d13('0x7')](_0x1fe67d));for(var _0x51bd64=0x0;_0x51bd64<_0x229069[_0x0d13('0x8')];_0x51bd64++){var _0x113bca=_0x1fe67d[_0x229069[_0x51bd64]]['filter'](function(_0x313d7f){return _0x313d7f['family']==='IPv4'&&_0x313d7f['internal']===![];});_0x1f7a74=_0x1f7a74['concat'](_0x113bca);}return _0x1f7a74;}function getFirstInterface(){var _0x13544d=_['head'](getInterfaces());return{'macAddress':_0x13544d&&_0x13544d[_0x0d13('0x9')]?_0x13544d[_0x0d13('0x9')]:_0x0d13('0xa'),'ipAddress':_0x13544d&&_0x13544d['address']?_0x13544d['address']:_0x0d13('0xb')};}exports['getFirstInterface']=getFirstInterface;function getCPUhash(){var _0x35a3e=_[_0x0d13('0x6')](os[_0x0d13('0xc')]()['map'](function(_0x54b65e){return _0x54b65e['model'];}))[_0x0d13('0xd')](':');return crypto['createHash'](_0x0d13('0xe'))[_0x0d13('0xf')](_0x35a3e)[_0x0d13('0x10')](_0x0d13('0x11'));}exports[_0x0d13('0x12')]=function(){var _0x28260a=os[_0x0d13('0x13')]();var _0x268db7=/[0-9a-f-]{36}/;if(config['licenseToken']&&_0x268db7[_0x0d13('0x14')](config[_0x0d13('0x15')])){return config[_0x0d13('0x15')];}else if(_0x28260a===_0x0d13('0x16')){return exec(_0x0d13('0x17'),{'encoding':'utf8'})[_0x0d13('0x18')]('\x0d\x0a','');}else{var _0x470dad=getFirstInterface();var _0x5b7c1c=getCPUhash();var _0x4760a6=_0x5b7c1c+'|'+os['hostname']()+'|'+_0x470dad[_0x0d13('0x19')]+'|'+_0x470dad[_0x0d13('0x1a')];var _0x1c3a63=crypto[_0x0d13('0x1b')](_0x0d13('0xe'))[_0x0d13('0xf')](_0x4760a6)[_0x0d13('0x10')](_0x0d13('0x11'));return _0x1c3a63[_0x0d13('0x1c')](0x0,0x8)+'-'+_0x1c3a63['substring'](0x8,0xc)+'-'+_0x1c3a63[_0x0d13('0x1c')](0xc,0x10)+'-'+_0x1c3a63[_0x0d13('0x1c')](0x10,0x14)+'-'+_0x1c3a63[_0x0d13('0x1c')](0x14);}};