7263e85f62f62945c8f63174167f0b95c4d6b0a9
[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 _0x2975=['update','hex','substring','crypto','bimedia-machine-uuid','child_process','execSync','keys','length','filter','family','internal','concat','head','mac','00:00:00:00:00:00','address','getFirstInterface','orderBy','map','createHash','md5','digest','getUuid','platform','dmidecode\x20--string\x20system-uuid','utf8','replace','hostname','macAddress'];(function(_0x2faddb,_0xc18b78){var _0x273c05=function(_0x1a3785){while(--_0x1a3785){_0x2faddb['push'](_0x2faddb['shift']());}};_0x273c05(++_0xc18b78);}(_0x2975,0x1c5));var _0x5297=function(_0xbddbe0,_0x469f9d){_0xbddbe0=_0xbddbe0-0x0;var _0x1bb634=_0x2975[_0xbddbe0];return _0x1bb634;};'use strict';var _=require('lodash');var os=require('os');var crypto=require(_0x5297('0x0'));var machine=require(_0x5297('0x1'));var exec=require(_0x5297('0x2'))[_0x5297('0x3')];function getInterfaces(){var _0x115e60=[];var _0x178801=os['networkInterfaces']();var _0x56371f=_['orderBy'](_[_0x5297('0x4')](_0x178801));for(var _0x15d62b=0x0;_0x15d62b<_0x56371f[_0x5297('0x5')];_0x15d62b++){var _0x3da9c6=_0x178801[_0x56371f[_0x15d62b]][_0x5297('0x6')](function(_0x1f6762){return _0x1f6762[_0x5297('0x7')]==='IPv4'&&_0x1f6762[_0x5297('0x8')]===![];});_0x115e60=_0x115e60[_0x5297('0x9')](_0x3da9c6);}return _0x115e60;}function getFirstInterface(){var _0x3f7368=_[_0x5297('0xa')](getInterfaces());return{'macAddress':_0x3f7368&&_0x3f7368[_0x5297('0xb')]?_0x3f7368['mac']:_0x5297('0xc'),'ipAddress':_0x3f7368&&_0x3f7368[_0x5297('0xd')]?_0x3f7368[_0x5297('0xd')]:'127.0.0.1'};}exports[_0x5297('0xe')]=getFirstInterface;function getCPUhash(){var _0x30d068=_[_0x5297('0xf')](os['cpus']()[_0x5297('0x10')](function(_0x21bef8){return _0x21bef8['model'];}))['join'](':');return crypto[_0x5297('0x11')](_0x5297('0x12'))['update'](_0x30d068)[_0x5297('0x13')]('hex');}exports[_0x5297('0x14')]=function(){switch(os[_0x5297('0x15')]()){case'win32':return exec(_0x5297('0x16'),{'encoding':_0x5297('0x17')})[_0x5297('0x18')]('\x0d\x0a','');default:var _0x40afca=getFirstInterface();var _0x1343dd=getCPUhash();var _0x36bc09=_0x1343dd+'|'+os[_0x5297('0x19')]()+'|'+_0x40afca[_0x5297('0x1a')]+'|'+_0x40afca['ipAddress'];var _0x23474a=crypto[_0x5297('0x11')](_0x5297('0x12'))[_0x5297('0x1b')](_0x36bc09)['digest'](_0x5297('0x1c'));return _0x23474a[_0x5297('0x1d')](0x0,0x8)+'-'+_0x23474a['substring'](0x8,0xc)+'-'+_0x23474a[_0x5297('0x1d')](0xc,0x10)+'-'+_0x23474a['substring'](0x10,0x14)+'-'+_0x23474a[_0x5297('0x1d')](0x14);}};