Built motion from commit (unavailable).|2.5.29
[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 _0xdc84=['head','mac','00:00:00:00:00:00','address','getFirstInterface','cpus','map','model','join','createHash','md5','update','digest','hex','getUuid','platform','licenseToken','test','win32','dmidecode\x20--string\x20system-uuid','utf8','replace','hostname','ipAddress','substring','lodash','crypto','bimedia-machine-uuid','child_process','execSync','networkInterfaces','orderBy','keys','length','filter','family','concat'];(function(_0x272277,_0x4ed260){var _0x189b89=function(_0xc982db){while(--_0xc982db){_0x272277['push'](_0x272277['shift']());}};_0x189b89(++_0x4ed260);}(_0xdc84,0x1d5));var _0x4dc8=function(_0x13594e,_0x6f0ed0){_0x13594e=_0x13594e-0x0;var _0x1a4f42=_0xdc84[_0x13594e];return _0x1a4f42;};'use strict';var _=require(_0x4dc8('0x0'));var os=require('os');var crypto=require(_0x4dc8('0x1'));var machine=require(_0x4dc8('0x2'));var exec=require(_0x4dc8('0x3'))[_0x4dc8('0x4')];var config=require('../environment');function getInterfaces(){var _0xc9c36a=[];var _0x36cf2b=os[_0x4dc8('0x5')]();var _0x1a8b94=_[_0x4dc8('0x6')](_[_0x4dc8('0x7')](_0x36cf2b));for(var _0x31e8d5=0x0;_0x31e8d5<_0x1a8b94[_0x4dc8('0x8')];_0x31e8d5++){var _0x146438=_0x36cf2b[_0x1a8b94[_0x31e8d5]][_0x4dc8('0x9')](function(_0x10602a){return _0x10602a[_0x4dc8('0xa')]==='IPv4'&&_0x10602a['internal']===![];});_0xc9c36a=_0xc9c36a[_0x4dc8('0xb')](_0x146438);}return _0xc9c36a;}function getFirstInterface(){var _0x30148d=_[_0x4dc8('0xc')](getInterfaces());return{'macAddress':_0x30148d&&_0x30148d[_0x4dc8('0xd')]?_0x30148d[_0x4dc8('0xd')]:_0x4dc8('0xe'),'ipAddress':_0x30148d&&_0x30148d[_0x4dc8('0xf')]?_0x30148d[_0x4dc8('0xf')]:'127.0.0.1'};}exports[_0x4dc8('0x10')]=getFirstInterface;function getCPUhash(){var _0x1c2f1e=_[_0x4dc8('0x6')](os[_0x4dc8('0x11')]()[_0x4dc8('0x12')](function(_0x13b539){return _0x13b539[_0x4dc8('0x13')];}))[_0x4dc8('0x14')](':');return crypto[_0x4dc8('0x15')](_0x4dc8('0x16'))[_0x4dc8('0x17')](_0x1c2f1e)[_0x4dc8('0x18')](_0x4dc8('0x19'));}exports[_0x4dc8('0x1a')]=function(){var _0x216c02=os[_0x4dc8('0x1b')]();var _0x175749=/[0-9a-f-]{36}/;if(config[_0x4dc8('0x1c')]&&_0x175749[_0x4dc8('0x1d')](config[_0x4dc8('0x1c')])){return config[_0x4dc8('0x1c')];}else if(_0x216c02===_0x4dc8('0x1e')){return exec(_0x4dc8('0x1f'),{'encoding':_0x4dc8('0x20')})[_0x4dc8('0x21')]('\x0d\x0a','');}else{var _0x503608=getFirstInterface();var _0x1fa504=getCPUhash();var _0xda10aa=_0x1fa504+'|'+os[_0x4dc8('0x22')]()+'|'+_0x503608['macAddress']+'|'+_0x503608[_0x4dc8('0x23')];var _0x569cfc=crypto['createHash'](_0x4dc8('0x16'))['update'](_0xda10aa)['digest'](_0x4dc8('0x19'));return _0x569cfc[_0x4dc8('0x24')](0x0,0x8)+'-'+_0x569cfc[_0x4dc8('0x24')](0x8,0xc)+'-'+_0x569cfc['substring'](0xc,0x10)+'-'+_0x569cfc[_0x4dc8('0x24')](0x10,0x14)+'-'+_0x569cfc[_0x4dc8('0x24')](0x14);}};