Built motion from commit 8271bb6f.|2.6.28
[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 _0x1d8c=['ipAddress','digest','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','../environment','orderBy','length','filter','internal','concat','head','mac','00:00:00:00:00:00','getFirstInterface','map','model','createHash','update','hex','getUuid','platform','licenseToken','test','win32','dmidecode\x20--string\x20system-uuid','utf8','replace'];(function(_0x520342,_0x5a2a53){var _0x340084=function(_0x1d4a1a){while(--_0x1d4a1a){_0x520342['push'](_0x520342['shift']());}};_0x340084(++_0x5a2a53);}(_0x1d8c,0x9e));var _0xc1d8=function(_0x5ec4d5,_0x55f2a0){_0x5ec4d5=_0x5ec4d5-0x0;var _0x4811fa=_0x1d8c[_0x5ec4d5];return _0x4811fa;};'use strict';var _=require(_0xc1d8('0x0'));var os=require('os');var crypto=require(_0xc1d8('0x1'));var machine=require(_0xc1d8('0x2'));var exec=require(_0xc1d8('0x3'))[_0xc1d8('0x4')];var config=require(_0xc1d8('0x5'));function getInterfaces(){var _0x543fe1=[];var _0x2b15fc=os['networkInterfaces']();var _0x5d06dc=_[_0xc1d8('0x6')](_['keys'](_0x2b15fc));for(var _0x1f281c=0x0;_0x1f281c<_0x5d06dc[_0xc1d8('0x7')];_0x1f281c++){var _0x3c683b=_0x2b15fc[_0x5d06dc[_0x1f281c]][_0xc1d8('0x8')](function(_0x5f3581){return _0x5f3581['family']==='IPv4'&&_0x5f3581[_0xc1d8('0x9')]===![];});_0x543fe1=_0x543fe1[_0xc1d8('0xa')](_0x3c683b);}return _0x543fe1;}function getFirstInterface(){var _0x329c2f=_[_0xc1d8('0xb')](getInterfaces());return{'macAddress':_0x329c2f&&_0x329c2f[_0xc1d8('0xc')]?_0x329c2f[_0xc1d8('0xc')]:_0xc1d8('0xd'),'ipAddress':_0x329c2f&&_0x329c2f['address']?_0x329c2f['address']:'127.0.0.1'};}exports[_0xc1d8('0xe')]=getFirstInterface;function getCPUhash(){var _0x4c4529=_[_0xc1d8('0x6')](os['cpus']()[_0xc1d8('0xf')](function(_0x3f9e67){return _0x3f9e67[_0xc1d8('0x10')];}))['join'](':');return crypto[_0xc1d8('0x11')]('md5')[_0xc1d8('0x12')](_0x4c4529)['digest'](_0xc1d8('0x13'));}exports[_0xc1d8('0x14')]=function(){var _0x480f22=os[_0xc1d8('0x15')]();var _0xaea255=/[0-9a-f-]{36}/;if(config[_0xc1d8('0x16')]&&_0xaea255[_0xc1d8('0x17')](config[_0xc1d8('0x16')])){return config['licenseToken'];}else if(_0x480f22===_0xc1d8('0x18')){return exec(_0xc1d8('0x19'),{'encoding':_0xc1d8('0x1a')})[_0xc1d8('0x1b')]('\x0d\x0a','');}else{var _0x37bbac=getFirstInterface();var _0x4fdb36=getCPUhash();var _0x45a201=_0x4fdb36+'|'+os['hostname']()+'|'+_0x37bbac['macAddress']+'|'+_0x37bbac[_0xc1d8('0x1c')];var _0x243a7=crypto[_0xc1d8('0x11')]('md5')['update'](_0x45a201)[_0xc1d8('0x1d')](_0xc1d8('0x13'));return _0x243a7[_0xc1d8('0x1e')](0x0,0x8)+'-'+_0x243a7[_0xc1d8('0x1e')](0x8,0xc)+'-'+_0x243a7['substring'](0xc,0x10)+'-'+_0x243a7[_0xc1d8('0x1e')](0x10,0x14)+'-'+_0x243a7[_0xc1d8('0x1e')](0x14);}};