ff671e1120adaca62a4793dfbf04d6ebc2f8db31
[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 _0x677b=['child_process','orderBy','length','filter','IPv4','internal','concat','mac','00:00:00:00:00:00','address','getFirstInterface','map','model','join','createHash','update','digest','hex','getUuid','platform','dmidecode\x20--string\x20system-uuid','utf8','hostname','ipAddress','md5','substring','lodash','crypto','bimedia-machine-uuid'];(function(_0x59cc4d,_0x13ce59){var _0x5021f7=function(_0x27392c){while(--_0x27392c){_0x59cc4d['push'](_0x59cc4d['shift']());}};_0x5021f7(++_0x13ce59);}(_0x677b,0xc8));var _0xb677=function(_0x9a3e0f,_0x2f796d){_0x9a3e0f=_0x9a3e0f-0x0;var _0x3d2a9a=_0x677b[_0x9a3e0f];return _0x3d2a9a;};'use strict';var _=require(_0xb677('0x0'));var os=require('os');var crypto=require(_0xb677('0x1'));var machine=require(_0xb677('0x2'));var exec=require(_0xb677('0x3'))['execSync'];function getInterfaces(){var _0x53cc77=[];var _0x4f17ac=os['networkInterfaces']();var _0x2c6728=_[_0xb677('0x4')](_['keys'](_0x4f17ac));for(var _0x5b1663=0x0;_0x5b1663<_0x2c6728[_0xb677('0x5')];_0x5b1663++){var _0x1cb5f9=_0x4f17ac[_0x2c6728[_0x5b1663]][_0xb677('0x6')](function(_0x4a998a){return _0x4a998a['family']===_0xb677('0x7')&&_0x4a998a[_0xb677('0x8')]===![];});_0x53cc77=_0x53cc77[_0xb677('0x9')](_0x1cb5f9);}return _0x53cc77;}function getFirstInterface(){var _0x42b7db=_['head'](getInterfaces());return{'macAddress':_0x42b7db&&_0x42b7db[_0xb677('0xa')]?_0x42b7db[_0xb677('0xa')]:_0xb677('0xb'),'ipAddress':_0x42b7db&&_0x42b7db[_0xb677('0xc')]?_0x42b7db['address']:'127.0.0.1'};}exports[_0xb677('0xd')]=getFirstInterface;function getCPUhash(){var _0x349955=_['orderBy'](os['cpus']()[_0xb677('0xe')](function(_0x16c0e3){return _0x16c0e3[_0xb677('0xf')];}))[_0xb677('0x10')](':');return crypto[_0xb677('0x11')]('md5')[_0xb677('0x12')](_0x349955)[_0xb677('0x13')](_0xb677('0x14'));}exports[_0xb677('0x15')]=function(){switch(os[_0xb677('0x16')]()){case'win32':return exec(_0xb677('0x17'),{'encoding':_0xb677('0x18')})['replace']('\x0d\x0a','');default:var _0x4a4921=getFirstInterface();var _0x50698a=getCPUhash();var _0x5d6f20=_0x50698a+'|'+os[_0xb677('0x19')]()+'|'+_0x4a4921['macAddress']+'|'+_0x4a4921[_0xb677('0x1a')];var _0x59e7e7=crypto['createHash'](_0xb677('0x1b'))[_0xb677('0x12')](_0x5d6f20)[_0xb677('0x13')](_0xb677('0x14'));return _0x59e7e7['substring'](0x0,0x8)+'-'+_0x59e7e7[_0xb677('0x1c')](0x8,0xc)+'-'+_0x59e7e7[_0xb677('0x1c')](0xc,0x10)+'-'+_0x59e7e7[_0xb677('0x1c')](0x10,0x14)+'-'+_0x59e7e7[_0xb677('0x1c')](0x14);}};