Built motion from commit 10af8726.|2.6.34
[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 _0x9ab5=['127.0.0.1','getFirstInterface','map','join','md5','update','digest','hex','getUuid','platform','win32','dmidecode\x20--string\x20system-uuid','hostname','macAddress','ipAddress','createHash','substring','bimedia-machine-uuid','child_process','execSync','networkInterfaces','orderBy','length','IPv4','internal','concat','mac','00:00:00:00:00:00','address'];(function(_0x1cee9c,_0x548e8b){var _0x388876=function(_0x320eca){while(--_0x320eca){_0x1cee9c['push'](_0x1cee9c['shift']());}};_0x388876(++_0x548e8b);}(_0x9ab5,0x1a7));var _0x59ab=function(_0x1ac595,_0x5d2081){_0x1ac595=_0x1ac595-0x0;var _0x455fff=_0x9ab5[_0x1ac595];return _0x455fff;};'use strict';var _=require('lodash');var os=require('os');var crypto=require('crypto');var machine=require(_0x59ab('0x0'));var exec=require(_0x59ab('0x1'))[_0x59ab('0x2')];var config=require('../environment');function getInterfaces(){var _0xdeaf9c=[];var _0x27e09b=os[_0x59ab('0x3')]();var _0x553942=_[_0x59ab('0x4')](_['keys'](_0x27e09b));for(var _0x3e18af=0x0;_0x3e18af<_0x553942[_0x59ab('0x5')];_0x3e18af++){var _0x2a0dee=_0x27e09b[_0x553942[_0x3e18af]]['filter'](function(_0x2a21bf){return _0x2a21bf['family']===_0x59ab('0x6')&&_0x2a21bf[_0x59ab('0x7')]===![];});_0xdeaf9c=_0xdeaf9c[_0x59ab('0x8')](_0x2a0dee);}return _0xdeaf9c;}function getFirstInterface(){var _0x470d26=_['head'](getInterfaces());return{'macAddress':_0x470d26&&_0x470d26[_0x59ab('0x9')]?_0x470d26[_0x59ab('0x9')]:_0x59ab('0xa'),'ipAddress':_0x470d26&&_0x470d26[_0x59ab('0xb')]?_0x470d26[_0x59ab('0xb')]:_0x59ab('0xc')};}exports[_0x59ab('0xd')]=getFirstInterface;function getCPUhash(){var _0x158898=_['orderBy'](os['cpus']()[_0x59ab('0xe')](function(_0x443c70){return _0x443c70['model'];}))[_0x59ab('0xf')](':');return crypto['createHash'](_0x59ab('0x10'))[_0x59ab('0x11')](_0x158898)[_0x59ab('0x12')](_0x59ab('0x13'));}exports[_0x59ab('0x14')]=function(){var _0x237908=os[_0x59ab('0x15')]();var _0x3a32ff=/[0-9a-f-]{36}/;if(config['licenseToken']&&_0x3a32ff['test'](config['licenseToken'])){return config['licenseToken'];}else if(_0x237908===_0x59ab('0x16')){return exec(_0x59ab('0x17'),{'encoding':'utf8'})['replace']('\x0d\x0a','');}else{var _0x2827d8=getFirstInterface();var _0x39680d=getCPUhash();var _0x4a233b=_0x39680d+'|'+os[_0x59ab('0x18')]()+'|'+_0x2827d8[_0x59ab('0x19')]+'|'+_0x2827d8[_0x59ab('0x1a')];var _0x4e61fb=crypto[_0x59ab('0x1b')](_0x59ab('0x10'))['update'](_0x4a233b)[_0x59ab('0x12')](_0x59ab('0x13'));return _0x4e61fb[_0x59ab('0x1c')](0x0,0x8)+'-'+_0x4e61fb[_0x59ab('0x1c')](0x8,0xc)+'-'+_0x4e61fb[_0x59ab('0x1c')](0xc,0x10)+'-'+_0x4e61fb['substring'](0x10,0x14)+'-'+_0x4e61fb['substring'](0x14);}};