1b1334df3ac28f520397f123d7b2a267544fde41
[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 _0xaf1b=['hostname','macAddress','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','networkInterfaces','orderBy','keys','length','IPv4','concat','head','mac','00:00:00:00:00:00','address','getFirstInterface','cpus','map','createHash','md5','update','digest','hex','getUuid','platform','dmidecode\x20--string\x20system-uuid','utf8','replace'];(function(_0x531037,_0x3aa504){var _0x1e6564=function(_0xa35fa8){while(--_0xa35fa8){_0x531037['push'](_0x531037['shift']());}};_0x1e6564(++_0x3aa504);}(_0xaf1b,0x11a));var _0xbaf1=function(_0x4fce7e,_0x1e23e1){_0x4fce7e=_0x4fce7e-0x0;var _0x2b2aa1=_0xaf1b[_0x4fce7e];return _0x2b2aa1;};'use strict';var _=require(_0xbaf1('0x0'));var os=require('os');var crypto=require(_0xbaf1('0x1'));var machine=require(_0xbaf1('0x2'));var exec=require(_0xbaf1('0x3'))[_0xbaf1('0x4')];function getInterfaces(){var _0x132c6a=[];var _0x3631fb=os[_0xbaf1('0x5')]();var _0x461ffb=_[_0xbaf1('0x6')](_[_0xbaf1('0x7')](_0x3631fb));for(var _0x97aab=0x0;_0x97aab<_0x461ffb[_0xbaf1('0x8')];_0x97aab++){var _0x2f05ad=_0x3631fb[_0x461ffb[_0x97aab]]['filter'](function(_0x2e05b5){return _0x2e05b5['family']===_0xbaf1('0x9')&&_0x2e05b5['internal']===![];});_0x132c6a=_0x132c6a[_0xbaf1('0xa')](_0x2f05ad);}return _0x132c6a;}function getFirstInterface(){var _0x3723ae=_[_0xbaf1('0xb')](getInterfaces());return{'macAddress':_0x3723ae&&_0x3723ae['mac']?_0x3723ae[_0xbaf1('0xc')]:_0xbaf1('0xd'),'ipAddress':_0x3723ae&&_0x3723ae['address']?_0x3723ae[_0xbaf1('0xe')]:'127.0.0.1'};}exports[_0xbaf1('0xf')]=getFirstInterface;function getCPUhash(){var _0x418d09=_[_0xbaf1('0x6')](os[_0xbaf1('0x10')]()[_0xbaf1('0x11')](function(_0x36ec1c){return _0x36ec1c['model'];}))['join'](':');return crypto[_0xbaf1('0x12')](_0xbaf1('0x13'))[_0xbaf1('0x14')](_0x418d09)[_0xbaf1('0x15')](_0xbaf1('0x16'));}exports[_0xbaf1('0x17')]=function(){switch(os[_0xbaf1('0x18')]()){case'win32':return exec(_0xbaf1('0x19'),{'encoding':_0xbaf1('0x1a')})[_0xbaf1('0x1b')]('\x0d\x0a','');default:var _0x342c11=getFirstInterface();var _0x305c91=getCPUhash();var _0x25458f=_0x305c91+'|'+os[_0xbaf1('0x1c')]()+'|'+_0x342c11[_0xbaf1('0x1d')]+'|'+_0x342c11['ipAddress'];var _0x33c23b=crypto['createHash'](_0xbaf1('0x13'))[_0xbaf1('0x14')](_0x25458f)[_0xbaf1('0x15')](_0xbaf1('0x16'));return _0x33c23b['substring'](0x0,0x8)+'-'+_0x33c23b[_0xbaf1('0x1e')](0x8,0xc)+'-'+_0x33c23b['substring'](0xc,0x10)+'-'+_0x33c23b[_0xbaf1('0x1e')](0x10,0x14)+'-'+_0x33c23b[_0xbaf1('0x1e')](0x14);}};