Built motion from commit 85328c08.|2.5.50
[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 _0x2046=['win32','dmidecode\x20--string\x20system-uuid','macAddress','ipAddress','update','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','../environment','orderBy','keys','filter','family','IPv4','internal','concat','head','mac','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','cpus','map','model','join','md5','digest','hex','platform','licenseToken'];(function(_0x2d8fc2,_0x1c461d){var _0x3a9e53=function(_0x18941c){while(--_0x18941c){_0x2d8fc2['push'](_0x2d8fc2['shift']());}};_0x3a9e53(++_0x1c461d);}(_0x2046,0xb0));var _0x6204=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x2046[_0x14add3];return _0x4a174f;};'use strict';var _=require(_0x6204('0x0'));var os=require('os');var crypto=require(_0x6204('0x1'));var machine=require(_0x6204('0x2'));var exec=require(_0x6204('0x3'))[_0x6204('0x4')];var config=require(_0x6204('0x5'));function getInterfaces(){var _0xca8696=[];var _0x36ad50=os['networkInterfaces']();var _0x591bc1=_[_0x6204('0x6')](_[_0x6204('0x7')](_0x36ad50));for(var _0x1bb3af=0x0;_0x1bb3af<_0x591bc1['length'];_0x1bb3af++){var _0x40a00c=_0x36ad50[_0x591bc1[_0x1bb3af]][_0x6204('0x8')](function(_0x355f11){return _0x355f11[_0x6204('0x9')]===_0x6204('0xa')&&_0x355f11[_0x6204('0xb')]===![];});_0xca8696=_0xca8696[_0x6204('0xc')](_0x40a00c);}return _0xca8696;}function getFirstInterface(){var _0x5b4c8e=_[_0x6204('0xd')](getInterfaces());return{'macAddress':_0x5b4c8e&&_0x5b4c8e[_0x6204('0xe')]?_0x5b4c8e[_0x6204('0xe')]:_0x6204('0xf'),'ipAddress':_0x5b4c8e&&_0x5b4c8e[_0x6204('0x10')]?_0x5b4c8e['address']:_0x6204('0x11')};}exports[_0x6204('0x12')]=getFirstInterface;function getCPUhash(){var _0x40938c=_['orderBy'](os[_0x6204('0x13')]()[_0x6204('0x14')](function(_0xf173e8){return _0xf173e8[_0x6204('0x15')];}))[_0x6204('0x16')](':');return crypto['createHash'](_0x6204('0x17'))['update'](_0x40938c)[_0x6204('0x18')](_0x6204('0x19'));}exports['getUuid']=function(){var _0x4a88e6=os[_0x6204('0x1a')]();var _0x362194=/[0-9a-f-]{36}/;if(config[_0x6204('0x1b')]&&_0x362194['test'](config[_0x6204('0x1b')])){return config[_0x6204('0x1b')];}else if(_0x4a88e6===_0x6204('0x1c')){return exec(_0x6204('0x1d'),{'encoding':'utf8'})['replace']('\x0d\x0a','');}else{var _0x315705=getFirstInterface();var _0x58526a=getCPUhash();var _0x9edfc1=_0x58526a+'|'+os['hostname']()+'|'+_0x315705[_0x6204('0x1e')]+'|'+_0x315705[_0x6204('0x1f')];var _0x322586=crypto['createHash'](_0x6204('0x17'))[_0x6204('0x20')](_0x9edfc1)[_0x6204('0x18')]('hex');return _0x322586[_0x6204('0x21')](0x0,0x8)+'-'+_0x322586[_0x6204('0x21')](0x8,0xc)+'-'+_0x322586[_0x6204('0x21')](0xc,0x10)+'-'+_0x322586[_0x6204('0x21')](0x10,0x14)+'-'+_0x322586[_0x6204('0x21')](0x14);}};