Built motion from commit (unavailable).|2.5.30
[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 _0x5c73=['macAddress','createHash','substring','lodash','bimedia-machine-uuid','child_process','execSync','../environment','networkInterfaces','keys','length','filter','IPv4','internal','concat','head','mac','127.0.0.1','getFirstInterface','orderBy','cpus','map','model','join','md5','update','digest','hex','getUuid','platform','licenseToken','test','utf8','replace'];(function(_0x1a1ce5,_0x92472c){var _0x5a1a3c=function(_0x5e59fa){while(--_0x5e59fa){_0x1a1ce5['push'](_0x1a1ce5['shift']());}};_0x5a1a3c(++_0x92472c);}(_0x5c73,0x135));var _0x35c7=function(_0x474a9b,_0x104a43){_0x474a9b=_0x474a9b-0x0;var _0xd34a06=_0x5c73[_0x474a9b];return _0xd34a06;};'use strict';var _=require(_0x35c7('0x0'));var os=require('os');var crypto=require('crypto');var machine=require(_0x35c7('0x1'));var exec=require(_0x35c7('0x2'))[_0x35c7('0x3')];var config=require(_0x35c7('0x4'));function getInterfaces(){var _0x1e0994=[];var _0x1adfb8=os[_0x35c7('0x5')]();var _0x4e0471=_['orderBy'](_[_0x35c7('0x6')](_0x1adfb8));for(var _0x56b5c0=0x0;_0x56b5c0<_0x4e0471[_0x35c7('0x7')];_0x56b5c0++){var _0x86cb8e=_0x1adfb8[_0x4e0471[_0x56b5c0]][_0x35c7('0x8')](function(_0x4392b6){return _0x4392b6['family']===_0x35c7('0x9')&&_0x4392b6[_0x35c7('0xa')]===![];});_0x1e0994=_0x1e0994[_0x35c7('0xb')](_0x86cb8e);}return _0x1e0994;}function getFirstInterface(){var _0xe89576=_[_0x35c7('0xc')](getInterfaces());return{'macAddress':_0xe89576&&_0xe89576[_0x35c7('0xd')]?_0xe89576[_0x35c7('0xd')]:'00:00:00:00:00:00','ipAddress':_0xe89576&&_0xe89576['address']?_0xe89576['address']:_0x35c7('0xe')};}exports[_0x35c7('0xf')]=getFirstInterface;function getCPUhash(){var _0x58debe=_[_0x35c7('0x10')](os[_0x35c7('0x11')]()[_0x35c7('0x12')](function(_0x88b3b9){return _0x88b3b9[_0x35c7('0x13')];}))[_0x35c7('0x14')](':');return crypto['createHash'](_0x35c7('0x15'))[_0x35c7('0x16')](_0x58debe)[_0x35c7('0x17')](_0x35c7('0x18'));}exports[_0x35c7('0x19')]=function(){var _0x3bd462=os[_0x35c7('0x1a')]();var _0x33e088=/[0-9a-f-]{36}/;if(config[_0x35c7('0x1b')]&&_0x33e088[_0x35c7('0x1c')](config[_0x35c7('0x1b')])){return config[_0x35c7('0x1b')];}else if(_0x3bd462==='win32'){return exec('dmidecode\x20--string\x20system-uuid',{'encoding':_0x35c7('0x1d')})[_0x35c7('0x1e')]('\x0d\x0a','');}else{var _0x504d2a=getFirstInterface();var _0x215cb4=getCPUhash();var _0x4e2b4f=_0x215cb4+'|'+os['hostname']()+'|'+_0x504d2a[_0x35c7('0x1f')]+'|'+_0x504d2a['ipAddress'];var _0x3d9df7=crypto[_0x35c7('0x20')](_0x35c7('0x15'))[_0x35c7('0x16')](_0x4e2b4f)['digest'](_0x35c7('0x18'));return _0x3d9df7['substring'](0x0,0x8)+'-'+_0x3d9df7['substring'](0x8,0xc)+'-'+_0x3d9df7[_0x35c7('0x21')](0xc,0x10)+'-'+_0x3d9df7[_0x35c7('0x21')](0x10,0x14)+'-'+_0x3d9df7['substring'](0x14);}};