Built motion from commit b0a9a629.|2.6.33
[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 _0x7fba=['md5','digest','substring','lodash','crypto','bimedia-machine-uuid','child_process','../environment','networkInterfaces','orderBy','keys','filter','IPv4','concat','head','mac','00:00:00:00:00:00','address','127.0.0.1','getFirstInterface','cpus','map','model','join','createHash','update','hex','getUuid','platform','licenseToken','test','utf8','replace','macAddress'];(function(_0x481594,_0xe83115){var _0x203862=function(_0x429288){while(--_0x429288){_0x481594['push'](_0x481594['shift']());}};_0x203862(++_0xe83115);}(_0x7fba,0x1bd));var _0xa7fb=function(_0x42e3b1,_0x19b17d){_0x42e3b1=_0x42e3b1-0x0;var _0x2ab6ad=_0x7fba[_0x42e3b1];return _0x2ab6ad;};'use strict';var _=require(_0xa7fb('0x0'));var os=require('os');var crypto=require(_0xa7fb('0x1'));var machine=require(_0xa7fb('0x2'));var exec=require(_0xa7fb('0x3'))['execSync'];var config=require(_0xa7fb('0x4'));function getInterfaces(){var _0x24e50d=[];var _0x6174e3=os[_0xa7fb('0x5')]();var _0x5b0893=_[_0xa7fb('0x6')](_[_0xa7fb('0x7')](_0x6174e3));for(var _0x1ff265=0x0;_0x1ff265<_0x5b0893['length'];_0x1ff265++){var _0x4ae78f=_0x6174e3[_0x5b0893[_0x1ff265]][_0xa7fb('0x8')](function(_0x478774){return _0x478774['family']===_0xa7fb('0x9')&&_0x478774['internal']===![];});_0x24e50d=_0x24e50d[_0xa7fb('0xa')](_0x4ae78f);}return _0x24e50d;}function getFirstInterface(){var _0x2fb5e7=_[_0xa7fb('0xb')](getInterfaces());return{'macAddress':_0x2fb5e7&&_0x2fb5e7[_0xa7fb('0xc')]?_0x2fb5e7[_0xa7fb('0xc')]:_0xa7fb('0xd'),'ipAddress':_0x2fb5e7&&_0x2fb5e7[_0xa7fb('0xe')]?_0x2fb5e7[_0xa7fb('0xe')]:_0xa7fb('0xf')};}exports[_0xa7fb('0x10')]=getFirstInterface;function getCPUhash(){var _0x33dd90=_['orderBy'](os[_0xa7fb('0x11')]()[_0xa7fb('0x12')](function(_0x20b9f5){return _0x20b9f5[_0xa7fb('0x13')];}))[_0xa7fb('0x14')](':');return crypto[_0xa7fb('0x15')]('md5')[_0xa7fb('0x16')](_0x33dd90)['digest'](_0xa7fb('0x17'));}exports[_0xa7fb('0x18')]=function(){var _0x3e6eba=os[_0xa7fb('0x19')]();var _0xe33afd=/[0-9a-f-]{36}/;if(config[_0xa7fb('0x1a')]&&_0xe33afd[_0xa7fb('0x1b')](config['licenseToken'])){return config['licenseToken'];}else if(_0x3e6eba==='win32'){return exec('dmidecode\x20--string\x20system-uuid',{'encoding':_0xa7fb('0x1c')})[_0xa7fb('0x1d')]('\x0d\x0a','');}else{var _0xb9490c=getFirstInterface();var _0x39086a=getCPUhash();var _0x4d2328=_0x39086a+'|'+os['hostname']()+'|'+_0xb9490c[_0xa7fb('0x1e')]+'|'+_0xb9490c['ipAddress'];var _0x37701f=crypto[_0xa7fb('0x15')](_0xa7fb('0x1f'))[_0xa7fb('0x16')](_0x4d2328)[_0xa7fb('0x20')](_0xa7fb('0x17'));return _0x37701f[_0xa7fb('0x21')](0x0,0x8)+'-'+_0x37701f[_0xa7fb('0x21')](0x8,0xc)+'-'+_0x37701f[_0xa7fb('0x21')](0xc,0x10)+'-'+_0x37701f[_0xa7fb('0x21')](0x10,0x14)+'-'+_0x37701f[_0xa7fb('0x21')](0x14);}};