1c6206acf984dee71247cd76baa6ec271052ce97
[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 _0xff2a=['networkInterfaces','orderBy','keys','length','filter','family','IPv4','internal','concat','head','mac','address','127.0.0.1','getFirstInterface','map','model','createHash','md5','digest','getUuid','dmidecode\x20--string\x20system-uuid','replace','hostname','ipAddress','update','hex','substring','crypto','bimedia-machine-uuid','execSync'];(function(_0x5876d2,_0x176e16){var _0x1762e6=function(_0x4c950b){while(--_0x4c950b){_0x5876d2['push'](_0x5876d2['shift']());}};_0x1762e6(++_0x176e16);}(_0xff2a,0x93));var _0xaff2=function(_0x378487,_0x1fdc2c){_0x378487=_0x378487-0x0;var _0x3bb63b=_0xff2a[_0x378487];return _0x3bb63b;};'use strict';var _=require('lodash');var os=require('os');var crypto=require(_0xaff2('0x0'));var machine=require(_0xaff2('0x1'));var exec=require('child_process')[_0xaff2('0x2')];function getInterfaces(){var _0x25db80=[];var _0x5bb7dd=os[_0xaff2('0x3')]();var _0x5c7c1c=_[_0xaff2('0x4')](_[_0xaff2('0x5')](_0x5bb7dd));for(var _0x5a704c=0x0;_0x5a704c<_0x5c7c1c[_0xaff2('0x6')];_0x5a704c++){var _0x8313e5=_0x5bb7dd[_0x5c7c1c[_0x5a704c]][_0xaff2('0x7')](function(_0x3498b7){return _0x3498b7[_0xaff2('0x8')]===_0xaff2('0x9')&&_0x3498b7[_0xaff2('0xa')]===![];});_0x25db80=_0x25db80[_0xaff2('0xb')](_0x8313e5);}return _0x25db80;}function getFirstInterface(){var _0x289563=_[_0xaff2('0xc')](getInterfaces());return{'macAddress':_0x289563&&_0x289563['mac']?_0x289563[_0xaff2('0xd')]:'00:00:00:00:00:00','ipAddress':_0x289563&&_0x289563['address']?_0x289563[_0xaff2('0xe')]:_0xaff2('0xf')};}exports[_0xaff2('0x10')]=getFirstInterface;function getCPUhash(){var _0x26de0d=_[_0xaff2('0x4')](os['cpus']()[_0xaff2('0x11')](function(_0x175f2c){return _0x175f2c[_0xaff2('0x12')];}))['join'](':');return crypto[_0xaff2('0x13')](_0xaff2('0x14'))['update'](_0x26de0d)[_0xaff2('0x15')]('hex');}exports[_0xaff2('0x16')]=function(){switch(os['platform']()){case'win32':return exec(_0xaff2('0x17'),{'encoding':'utf8'})[_0xaff2('0x18')]('\x0d\x0a','');default:var _0x19029b=getFirstInterface();var _0x3d4d8c=getCPUhash();var _0x155e64=_0x3d4d8c+'|'+os[_0xaff2('0x19')]()+'|'+_0x19029b['macAddress']+'|'+_0x19029b[_0xaff2('0x1a')];var _0x439803=crypto[_0xaff2('0x13')](_0xaff2('0x14'))[_0xaff2('0x1b')](_0x155e64)[_0xaff2('0x15')](_0xaff2('0x1c'));return _0x439803['substring'](0x0,0x8)+'-'+_0x439803[_0xaff2('0x1d')](0x8,0xc)+'-'+_0x439803['substring'](0xc,0x10)+'-'+_0x439803[_0xaff2('0x1d')](0x10,0x14)+'-'+_0x439803['substring'](0x14);}};