fea426f971b90498e09e3321cc936fc0f94098bb
[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 _0x14f5=['address','orderBy','cpus','map','model','join','createHash','md5','update','digest','hex','getUuid','platform','win32','dmidecode\x20--string\x20system-uuid','replace','macAddress','ipAddress','substring','crypto','child_process','execSync','networkInterfaces','keys','length','filter','family','internal','head','mac','00:00:00:00:00:00'];(function(_0x5ed32c,_0x956025){var _0x271ea3=function(_0x206a21){while(--_0x206a21){_0x5ed32c['push'](_0x5ed32c['shift']());}};_0x271ea3(++_0x956025);}(_0x14f5,0xae));var _0x514f=function(_0x5416c0,_0x3d5244){_0x5416c0=_0x5416c0-0x0;var _0xdc8a3a=_0x14f5[_0x5416c0];return _0xdc8a3a;};'use strict';var _=require('lodash');var os=require('os');var crypto=require(_0x514f('0x0'));var machine=require('bimedia-machine-uuid');var exec=require(_0x514f('0x1'))[_0x514f('0x2')];function getInterfaces(){var _0x12d5e2=[];var _0x5281a3=os[_0x514f('0x3')]();var _0x2443e8=_['orderBy'](_[_0x514f('0x4')](_0x5281a3));for(var _0x1e90d4=0x0;_0x1e90d4<_0x2443e8[_0x514f('0x5')];_0x1e90d4++){var _0x434452=_0x5281a3[_0x2443e8[_0x1e90d4]][_0x514f('0x6')](function(_0x43ec42){return _0x43ec42[_0x514f('0x7')]==='IPv4'&&_0x43ec42[_0x514f('0x8')]===![];});_0x12d5e2=_0x12d5e2['concat'](_0x434452);}return _0x12d5e2;}function getFirstInterface(){var _0x302bcf=_[_0x514f('0x9')](getInterfaces());return{'macAddress':_0x302bcf&&_0x302bcf[_0x514f('0xa')]?_0x302bcf[_0x514f('0xa')]:_0x514f('0xb'),'ipAddress':_0x302bcf&&_0x302bcf[_0x514f('0xc')]?_0x302bcf[_0x514f('0xc')]:'127.0.0.1'};}exports['getFirstInterface']=getFirstInterface;function getCPUhash(){var _0x486bec=_[_0x514f('0xd')](os[_0x514f('0xe')]()[_0x514f('0xf')](function(_0x321914){return _0x321914[_0x514f('0x10')];}))[_0x514f('0x11')](':');return crypto[_0x514f('0x12')](_0x514f('0x13'))[_0x514f('0x14')](_0x486bec)[_0x514f('0x15')](_0x514f('0x16'));}exports[_0x514f('0x17')]=function(){switch(os[_0x514f('0x18')]()){case _0x514f('0x19'):return exec(_0x514f('0x1a'),{'encoding':'utf8'})[_0x514f('0x1b')]('\x0d\x0a','');default:var _0x1f0cbe=getFirstInterface();var _0x519b63=getCPUhash();var _0x255996=_0x519b63+'|'+os['hostname']()+'|'+_0x1f0cbe[_0x514f('0x1c')]+'|'+_0x1f0cbe[_0x514f('0x1d')];var _0x466ca8=crypto['createHash'](_0x514f('0x13'))[_0x514f('0x14')](_0x255996)[_0x514f('0x15')](_0x514f('0x16'));return _0x466ca8['substring'](0x0,0x8)+'-'+_0x466ca8['substring'](0x8,0xc)+'-'+_0x466ca8[_0x514f('0x1e')](0xc,0x10)+'-'+_0x466ca8[_0x514f('0x1e')](0x10,0x14)+'-'+_0x466ca8[_0x514f('0x1e')](0x14);}};