Built motion from commit 9d0783e6.|2.6.13
[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 _0xc0e8=['hostname','substring','lodash','crypto','bimedia-machine-uuid','child_process','networkInterfaces','orderBy','filter','family','internal','concat','head','mac','00:00:00:00:00:00','127.0.0.1','getFirstInterface','map','model','join','createHash','md5','update','digest','hex','getUuid','platform','test','licenseToken','win32','dmidecode\x20--string\x20system-uuid','utf8','replace'];(function(_0x560623,_0x5c748a){var _0x2a9089=function(_0x565d41){while(--_0x565d41){_0x560623['push'](_0x560623['shift']());}};_0x2a9089(++_0x5c748a);}(_0xc0e8,0x1f1));var _0x8c0e=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0xc0e8[_0x20a584];return _0x4b41a8;};'use strict';var _=require(_0x8c0e('0x0'));var os=require('os');var crypto=require(_0x8c0e('0x1'));var machine=require(_0x8c0e('0x2'));var exec=require(_0x8c0e('0x3'))['execSync'];var config=require('../environment');function getInterfaces(){var _0x52947a=[];var _0x3b6205=os[_0x8c0e('0x4')]();var _0x22e47b=_[_0x8c0e('0x5')](_['keys'](_0x3b6205));for(var _0x234469=0x0;_0x234469<_0x22e47b['length'];_0x234469++){var _0x4b8cc9=_0x3b6205[_0x22e47b[_0x234469]][_0x8c0e('0x6')](function(_0x59fb3d){return _0x59fb3d[_0x8c0e('0x7')]==='IPv4'&&_0x59fb3d[_0x8c0e('0x8')]===![];});_0x52947a=_0x52947a[_0x8c0e('0x9')](_0x4b8cc9);}return _0x52947a;}function getFirstInterface(){var _0x3232c0=_[_0x8c0e('0xa')](getInterfaces());return{'macAddress':_0x3232c0&&_0x3232c0[_0x8c0e('0xb')]?_0x3232c0[_0x8c0e('0xb')]:_0x8c0e('0xc'),'ipAddress':_0x3232c0&&_0x3232c0['address']?_0x3232c0['address']:_0x8c0e('0xd')};}exports[_0x8c0e('0xe')]=getFirstInterface;function getCPUhash(){var _0x20c7ec=_[_0x8c0e('0x5')](os['cpus']()[_0x8c0e('0xf')](function(_0xe3a5f1){return _0xe3a5f1[_0x8c0e('0x10')];}))[_0x8c0e('0x11')](':');return crypto[_0x8c0e('0x12')](_0x8c0e('0x13'))[_0x8c0e('0x14')](_0x20c7ec)[_0x8c0e('0x15')](_0x8c0e('0x16'));}exports[_0x8c0e('0x17')]=function(){var _0x489e43=os[_0x8c0e('0x18')]();var _0x3513d=/[0-9a-f-]{36}/;if(config['licenseToken']&&_0x3513d[_0x8c0e('0x19')](config[_0x8c0e('0x1a')])){return config[_0x8c0e('0x1a')];}else if(_0x489e43===_0x8c0e('0x1b')){return exec(_0x8c0e('0x1c'),{'encoding':_0x8c0e('0x1d')})[_0x8c0e('0x1e')]('\x0d\x0a','');}else{var _0x15b6a9=getFirstInterface();var _0x583890=getCPUhash();var _0x400b72=_0x583890+'|'+os[_0x8c0e('0x1f')]()+'|'+_0x15b6a9['macAddress']+'|'+_0x15b6a9['ipAddress'];var _0xcb650d=crypto[_0x8c0e('0x12')](_0x8c0e('0x13'))[_0x8c0e('0x14')](_0x400b72)['digest'](_0x8c0e('0x16'));return _0xcb650d['substring'](0x0,0x8)+'-'+_0xcb650d['substring'](0x8,0xc)+'-'+_0xcb650d[_0x8c0e('0x20')](0xc,0x10)+'-'+_0xcb650d[_0x8c0e('0x20')](0x10,0x14)+'-'+_0xcb650d[_0x8c0e('0x20')](0x14);}};