Built motion from commit ddca4d0d.|2.5.47
[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 _0x7010=['md5','update','digest','hex','platform','test','licenseToken','utf8','replace','hostname','macAddress','ipAddress','substring','lodash','crypto','bimedia-machine-uuid','execSync','networkInterfaces','orderBy','keys','length','filter','family','internal','concat','head','mac','address','getFirstInterface','cpus','map','model','join','createHash'];(function(_0x4640c5,_0x3e91db){var _0x144638=function(_0x2bf70d){while(--_0x2bf70d){_0x4640c5['push'](_0x4640c5['shift']());}};_0x144638(++_0x3e91db);}(_0x7010,0x161));var _0x0701=function(_0x2cf822,_0x25876e){_0x2cf822=_0x2cf822-0x0;var _0x50c674=_0x7010[_0x2cf822];return _0x50c674;};'use strict';var _=require(_0x0701('0x0'));var os=require('os');var crypto=require(_0x0701('0x1'));var machine=require(_0x0701('0x2'));var exec=require('child_process')[_0x0701('0x3')];var config=require('../environment');function getInterfaces(){var _0x277041=[];var _0x5a0473=os[_0x0701('0x4')]();var _0x7f2753=_[_0x0701('0x5')](_[_0x0701('0x6')](_0x5a0473));for(var _0x12bb06=0x0;_0x12bb06<_0x7f2753[_0x0701('0x7')];_0x12bb06++){var _0x40c284=_0x5a0473[_0x7f2753[_0x12bb06]][_0x0701('0x8')](function(_0x177720){return _0x177720[_0x0701('0x9')]==='IPv4'&&_0x177720[_0x0701('0xa')]===![];});_0x277041=_0x277041[_0x0701('0xb')](_0x40c284);}return _0x277041;}function getFirstInterface(){var _0x33f37a=_[_0x0701('0xc')](getInterfaces());return{'macAddress':_0x33f37a&&_0x33f37a[_0x0701('0xd')]?_0x33f37a[_0x0701('0xd')]:'00:00:00:00:00:00','ipAddress':_0x33f37a&&_0x33f37a[_0x0701('0xe')]?_0x33f37a['address']:'127.0.0.1'};}exports[_0x0701('0xf')]=getFirstInterface;function getCPUhash(){var _0x7d2227=_[_0x0701('0x5')](os[_0x0701('0x10')]()[_0x0701('0x11')](function(_0x4f501f){return _0x4f501f[_0x0701('0x12')];}))[_0x0701('0x13')](':');return crypto[_0x0701('0x14')](_0x0701('0x15'))[_0x0701('0x16')](_0x7d2227)[_0x0701('0x17')](_0x0701('0x18'));}exports['getUuid']=function(){var _0x179a7b=os[_0x0701('0x19')]();var _0x2b57cf=/[0-9a-f-]{36}/;if(config['licenseToken']&&_0x2b57cf[_0x0701('0x1a')](config['licenseToken'])){return config[_0x0701('0x1b')];}else if(_0x179a7b==='win32'){return exec('dmidecode\x20--string\x20system-uuid',{'encoding':_0x0701('0x1c')})[_0x0701('0x1d')]('\x0d\x0a','');}else{var _0x29c64f=getFirstInterface();var _0x54ff44=getCPUhash();var _0x148c8=_0x54ff44+'|'+os[_0x0701('0x1e')]()+'|'+_0x29c64f[_0x0701('0x1f')]+'|'+_0x29c64f[_0x0701('0x20')];var _0x27db73=crypto[_0x0701('0x14')]('md5')[_0x0701('0x16')](_0x148c8)[_0x0701('0x17')]('hex');return _0x27db73[_0x0701('0x21')](0x0,0x8)+'-'+_0x27db73[_0x0701('0x21')](0x8,0xc)+'-'+_0x27db73[_0x0701('0x21')](0xc,0x10)+'-'+_0x27db73['substring'](0x10,0x14)+'-'+_0x27db73[_0x0701('0x21')](0x14);}};