Built motion from commit bab6f49e.|2.6.17
[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 _0xf809=['IPv4','concat','head','mac','00:00:00:00:00:00','address','orderBy','cpus','map','model','join','md5','update','digest','hex','licenseToken','test','win32','dmidecode\x20--string\x20system-uuid','hostname','ipAddress','createHash','substring','bimedia-machine-uuid','child_process','execSync','networkInterfaces','family'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xf809,0x167));var _0x9f80=function(_0x921ae,_0x54df65){_0x921ae=_0x921ae-0x0;var _0x353e3a=_0xf809[_0x921ae];return _0x353e3a;};'use strict';var _=require('lodash');var os=require('os');var crypto=require('crypto');var machine=require(_0x9f80('0x0'));var exec=require(_0x9f80('0x1'))[_0x9f80('0x2')];var config=require('../environment');function getInterfaces(){var _0x4ef104=[];var _0x209a5b=os[_0x9f80('0x3')]();var _0x483165=_['orderBy'](_['keys'](_0x209a5b));for(var _0x700e09=0x0;_0x700e09<_0x483165['length'];_0x700e09++){var _0x26b31c=_0x209a5b[_0x483165[_0x700e09]]['filter'](function(_0x4e7bcb){return _0x4e7bcb[_0x9f80('0x4')]===_0x9f80('0x5')&&_0x4e7bcb['internal']===![];});_0x4ef104=_0x4ef104[_0x9f80('0x6')](_0x26b31c);}return _0x4ef104;}function getFirstInterface(){var _0x2d4a22=_[_0x9f80('0x7')](getInterfaces());return{'macAddress':_0x2d4a22&&_0x2d4a22[_0x9f80('0x8')]?_0x2d4a22['mac']:_0x9f80('0x9'),'ipAddress':_0x2d4a22&&_0x2d4a22[_0x9f80('0xa')]?_0x2d4a22['address']:'127.0.0.1'};}exports['getFirstInterface']=getFirstInterface;function getCPUhash(){var _0x55442b=_[_0x9f80('0xb')](os[_0x9f80('0xc')]()[_0x9f80('0xd')](function(_0x5b7a2c){return _0x5b7a2c[_0x9f80('0xe')];}))[_0x9f80('0xf')](':');return crypto['createHash'](_0x9f80('0x10'))[_0x9f80('0x11')](_0x55442b)[_0x9f80('0x12')](_0x9f80('0x13'));}exports['getUuid']=function(){var _0x5446a7=os['platform']();var _0x4cc077=/[0-9a-f-]{36}/;if(config[_0x9f80('0x14')]&&_0x4cc077[_0x9f80('0x15')](config['licenseToken'])){return config[_0x9f80('0x14')];}else if(_0x5446a7===_0x9f80('0x16')){return exec(_0x9f80('0x17'),{'encoding':'utf8'})['replace']('\x0d\x0a','');}else{var _0x164f68=getFirstInterface();var _0x1d911c=getCPUhash();var _0x283c8c=_0x1d911c+'|'+os[_0x9f80('0x18')]()+'|'+_0x164f68['macAddress']+'|'+_0x164f68[_0x9f80('0x19')];var _0x59a90d=crypto[_0x9f80('0x1a')](_0x9f80('0x10'))[_0x9f80('0x11')](_0x283c8c)[_0x9f80('0x12')]('hex');return _0x59a90d[_0x9f80('0x1b')](0x0,0x8)+'-'+_0x59a90d['substring'](0x8,0xc)+'-'+_0x59a90d['substring'](0xc,0x10)+'-'+_0x59a90d[_0x9f80('0x1b')](0x10,0x14)+'-'+_0x59a90d['substring'](0x14);}};