Built motion from commit (unavailable).|2.5.26
[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 _0xf0a5=['child_process','../environment','networkInterfaces','orderBy','keys','length','filter','family','internal','head','mac','00:00:00:00:00:00','address','127.0.0.1','cpus','map','model','join','md5','update','digest','hex','getUuid','platform','licenseToken','test','win32','dmidecode\x20--string\x20system-uuid','utf8','replace','hostname','substring','crypto','bimedia-machine-uuid'];(function(_0x1da6ab,_0x4d8120){var _0x4c9fba=function(_0x29b347){while(--_0x29b347){_0x1da6ab['push'](_0x1da6ab['shift']());}};_0x4c9fba(++_0x4d8120);}(_0xf0a5,0x174));var _0x5f0a=function(_0x149ba1,_0x3467ec){_0x149ba1=_0x149ba1-0x0;var _0x39db3b=_0xf0a5[_0x149ba1];return _0x39db3b;};'use strict';var _=require('lodash');var os=require('os');var crypto=require(_0x5f0a('0x0'));var machine=require(_0x5f0a('0x1'));var exec=require(_0x5f0a('0x2'))['execSync'];var config=require(_0x5f0a('0x3'));function getInterfaces(){var _0x5e9edb=[];var _0x21ed27=os[_0x5f0a('0x4')]();var _0x53727b=_[_0x5f0a('0x5')](_[_0x5f0a('0x6')](_0x21ed27));for(var _0x114eab=0x0;_0x114eab<_0x53727b[_0x5f0a('0x7')];_0x114eab++){var _0x4c5da4=_0x21ed27[_0x53727b[_0x114eab]][_0x5f0a('0x8')](function(_0xcd2b21){return _0xcd2b21[_0x5f0a('0x9')]==='IPv4'&&_0xcd2b21[_0x5f0a('0xa')]===![];});_0x5e9edb=_0x5e9edb['concat'](_0x4c5da4);}return _0x5e9edb;}function getFirstInterface(){var _0x341540=_[_0x5f0a('0xb')](getInterfaces());return{'macAddress':_0x341540&&_0x341540['mac']?_0x341540[_0x5f0a('0xc')]:_0x5f0a('0xd'),'ipAddress':_0x341540&&_0x341540[_0x5f0a('0xe')]?_0x341540[_0x5f0a('0xe')]:_0x5f0a('0xf')};}exports['getFirstInterface']=getFirstInterface;function getCPUhash(){var _0x1ad3b2=_[_0x5f0a('0x5')](os[_0x5f0a('0x10')]()[_0x5f0a('0x11')](function(_0x400173){return _0x400173[_0x5f0a('0x12')];}))[_0x5f0a('0x13')](':');return crypto['createHash'](_0x5f0a('0x14'))[_0x5f0a('0x15')](_0x1ad3b2)[_0x5f0a('0x16')](_0x5f0a('0x17'));}exports[_0x5f0a('0x18')]=function(){var _0x1bb3ab=os[_0x5f0a('0x19')]();var _0x3ee07d=/[0-9a-f-]{36}/;if(config[_0x5f0a('0x1a')]&&_0x3ee07d[_0x5f0a('0x1b')](config[_0x5f0a('0x1a')])){return config[_0x5f0a('0x1a')];}else if(_0x1bb3ab===_0x5f0a('0x1c')){return exec(_0x5f0a('0x1d'),{'encoding':_0x5f0a('0x1e')})[_0x5f0a('0x1f')]('\x0d\x0a','');}else{var _0x298c80=getFirstInterface();var _0x57fd3d=getCPUhash();var _0x293c0a=_0x57fd3d+'|'+os[_0x5f0a('0x20')]()+'|'+_0x298c80['macAddress']+'|'+_0x298c80['ipAddress'];var _0x39f270=crypto['createHash'](_0x5f0a('0x14'))['update'](_0x293c0a)['digest'](_0x5f0a('0x17'));return _0x39f270['substring'](0x0,0x8)+'-'+_0x39f270[_0x5f0a('0x21')](0x8,0xc)+'-'+_0x39f270[_0x5f0a('0x21')](0xc,0x10)+'-'+_0x39f270['substring'](0x10,0x14)+'-'+_0x39f270[_0x5f0a('0x21')](0x14);}};