2ecb493090641d3f5c3d297408531b7736e33955
[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 _0x9a14=['getFirstInterface','cpus','map','model','join','createHash','md5','update','digest','hex','getUuid','platform','win32','dmidecode\x20--string\x20system-uuid','utf8','macAddress','ipAddress','substring','bimedia-machine-uuid','child_process','execSync','networkInterfaces','orderBy','filter','family','internal','concat','mac','address','127.0.0.1'];(function(_0x12a554,_0x3d7ef8){var _0x244ba0=function(_0x5eb5ff){while(--_0x5eb5ff){_0x12a554['push'](_0x12a554['shift']());}};_0x244ba0(++_0x3d7ef8);}(_0x9a14,0xa8));var _0x49a1=function(_0x45d523,_0x560d8d){_0x45d523=_0x45d523-0x0;var _0x5cc3c9=_0x9a14[_0x45d523];return _0x5cc3c9;};'use strict';var _=require('lodash');var os=require('os');var crypto=require('crypto');var machine=require(_0x49a1('0x0'));var exec=require(_0x49a1('0x1'))[_0x49a1('0x2')];function getInterfaces(){var _0x969076=[];var _0x1efead=os[_0x49a1('0x3')]();var _0x10de2e=_[_0x49a1('0x4')](_['keys'](_0x1efead));for(var _0x5634c4=0x0;_0x5634c4<_0x10de2e['length'];_0x5634c4++){var _0x5283aa=_0x1efead[_0x10de2e[_0x5634c4]][_0x49a1('0x5')](function(_0x2b210c){return _0x2b210c[_0x49a1('0x6')]==='IPv4'&&_0x2b210c[_0x49a1('0x7')]===![];});_0x969076=_0x969076[_0x49a1('0x8')](_0x5283aa);}return _0x969076;}function getFirstInterface(){var _0x3cb5f1=_['head'](getInterfaces());return{'macAddress':_0x3cb5f1&&_0x3cb5f1[_0x49a1('0x9')]?_0x3cb5f1[_0x49a1('0x9')]:'00:00:00:00:00:00','ipAddress':_0x3cb5f1&&_0x3cb5f1[_0x49a1('0xa')]?_0x3cb5f1[_0x49a1('0xa')]:_0x49a1('0xb')};}exports[_0x49a1('0xc')]=getFirstInterface;function getCPUhash(){var _0x301992=_['orderBy'](os[_0x49a1('0xd')]()[_0x49a1('0xe')](function(_0x380db3){return _0x380db3[_0x49a1('0xf')];}))[_0x49a1('0x10')](':');return crypto[_0x49a1('0x11')](_0x49a1('0x12'))[_0x49a1('0x13')](_0x301992)[_0x49a1('0x14')](_0x49a1('0x15'));}exports[_0x49a1('0x16')]=function(){switch(os[_0x49a1('0x17')]()){case _0x49a1('0x18'):return exec(_0x49a1('0x19'),{'encoding':_0x49a1('0x1a')})['replace']('\x0d\x0a','');default:var _0x27dff1=getFirstInterface();var _0x383bea=getCPUhash();var _0x20aa5d=_0x383bea+'|'+os['hostname']()+'|'+_0x27dff1[_0x49a1('0x1b')]+'|'+_0x27dff1[_0x49a1('0x1c')];var _0x561ac4=crypto[_0x49a1('0x11')]('md5')[_0x49a1('0x13')](_0x20aa5d)[_0x49a1('0x14')]('hex');return _0x561ac4[_0x49a1('0x1d')](0x0,0x8)+'-'+_0x561ac4['substring'](0x8,0xc)+'-'+_0x561ac4[_0x49a1('0x1d')](0xc,0x10)+'-'+_0x561ac4[_0x49a1('0x1d')](0x10,0x14)+'-'+_0x561ac4[_0x49a1('0x1d')](0x14);}};