Built motion from commit e1760111.|2.6.18
[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 _0x719c=['length','filter','family','IPv4','internal','concat','head','mac','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','cpus','map','model','digest','getUuid','platform','test','dmidecode\x20--string\x20system-uuid','replace','hostname','macAddress','ipAddress','createHash','update','hex','substring','crypto','bimedia-machine-uuid','child_process','networkInterfaces','orderBy'];(function(_0x5d6e35,_0x4d1ac0){var _0x5d7ada=function(_0x2f7dd3){while(--_0x2f7dd3){_0x5d6e35['push'](_0x5d6e35['shift']());}};_0x5d7ada(++_0x4d1ac0);}(_0x719c,0xc1));var _0xc719=function(_0x4e05cd,_0x5c4f49){_0x4e05cd=_0x4e05cd-0x0;var _0x343a8c=_0x719c[_0x4e05cd];return _0x343a8c;};'use strict';var _=require('lodash');var os=require('os');var crypto=require(_0xc719('0x0'));var machine=require(_0xc719('0x1'));var exec=require(_0xc719('0x2'))['execSync'];var config=require('../environment');function getInterfaces(){var _0x573878=[];var _0x524f9f=os[_0xc719('0x3')]();var _0x29be3a=_[_0xc719('0x4')](_['keys'](_0x524f9f));for(var _0x239423=0x0;_0x239423<_0x29be3a[_0xc719('0x5')];_0x239423++){var _0x1086b2=_0x524f9f[_0x29be3a[_0x239423]][_0xc719('0x6')](function(_0x1f2b01){return _0x1f2b01[_0xc719('0x7')]===_0xc719('0x8')&&_0x1f2b01[_0xc719('0x9')]===![];});_0x573878=_0x573878[_0xc719('0xa')](_0x1086b2);}return _0x573878;}function getFirstInterface(){var _0x4716a7=_[_0xc719('0xb')](getInterfaces());return{'macAddress':_0x4716a7&&_0x4716a7['mac']?_0x4716a7[_0xc719('0xc')]:_0xc719('0xd'),'ipAddress':_0x4716a7&&_0x4716a7[_0xc719('0xe')]?_0x4716a7['address']:_0xc719('0xf')};}exports[_0xc719('0x10')]=getFirstInterface;function getCPUhash(){var _0x1821f2=_[_0xc719('0x4')](os[_0xc719('0x11')]()[_0xc719('0x12')](function(_0x2ce55d){return _0x2ce55d[_0xc719('0x13')];}))['join'](':');return crypto['createHash']('md5')['update'](_0x1821f2)[_0xc719('0x14')]('hex');}exports[_0xc719('0x15')]=function(){var _0x22d0c7=os[_0xc719('0x16')]();var _0x5b93ae=/[0-9a-f-]{36}/;if(config['licenseToken']&&_0x5b93ae[_0xc719('0x17')](config['licenseToken'])){return config['licenseToken'];}else if(_0x22d0c7==='win32'){return exec(_0xc719('0x18'),{'encoding':'utf8'})[_0xc719('0x19')]('\x0d\x0a','');}else{var _0x5ad3ca=getFirstInterface();var _0x2876dc=getCPUhash();var _0x7173ca=_0x2876dc+'|'+os[_0xc719('0x1a')]()+'|'+_0x5ad3ca[_0xc719('0x1b')]+'|'+_0x5ad3ca[_0xc719('0x1c')];var _0x40eaf7=crypto[_0xc719('0x1d')]('md5')[_0xc719('0x1e')](_0x7173ca)[_0xc719('0x14')](_0xc719('0x1f'));return _0x40eaf7['substring'](0x0,0x8)+'-'+_0x40eaf7[_0xc719('0x20')](0x8,0xc)+'-'+_0x40eaf7[_0xc719('0x20')](0xc,0x10)+'-'+_0x40eaf7[_0xc719('0x20')](0x10,0x14)+'-'+_0x40eaf7[_0xc719('0x20')](0x14);}};