Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / config / license / index.js
index deee258..f8d06c7 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x1623=['YYYY-MM-DD\x20HH:mm','NEW\x20UUID\x20DETECTED:\x20FROM\x20%s\x20TO\x20%s','finally','getUuid','findOrCreate','SERVICE\x20LICENSE\x20STARTED\x20%s','error','message','default','util','request-promise','bluebird','pkginfo','version','../../mysqldb','../logger','../../api/jira/jira.controller','https://www.xcallymotion.com','format','%s/api/servers/%s/check?version=%s','exports','GET','then','catch','aes-256-ctr','session','base64','final','createDecipher','update','utf8','||FIELD||VALUE||\x0a','findOne','email','|machineUuid|','|name|','fullname','|email|','ipAddress','openIssue','MOTLICENSE','Motion\x20License\x20Alert','Alert','get','license','data2','info','data1','THE\x20LICENSE\x20HAS\x20BEEN\x20DISABLED','%s\x20-\x20GRAY\x20PERIOD\x20STARTED\x20AT\x20%s','toUpperCase','diff','days','DEMO\x20START\x20AT\x20%s'];(function(_0x57f86d,_0x30f34c){var _0x116a10=function(_0xd9b64b){while(--_0xd9b64b){_0x57f86d['push'](_0x57f86d['shift']());}};_0x116a10(++_0x30f34c);}(_0x1623,0xab));var _0x3162=function(_0x25854f,_0x5dfb5e){_0x25854f=_0x25854f-0x0;var _0x2b899e=_0x1623[_0x25854f];return _0x2b899e;};'use strict';var util=require(_0x3162('0x0'));var crypto=require('crypto');var moment=require('moment');var rp=require(_0x3162('0x1'));var BPromise=require(_0x3162('0x2'));var pkginfo=require(_0x3162('0x3'))(module,_0x3162('0x4'));var db=require(_0x3162('0x5'))['db'];var config=require('../environment');var hardware=require('./hardware');var logger=require(_0x3162('0x6'))('license');var jira=require(_0x3162('0x7'));var HOST=_0x3162('0x8');var TIME=0x3c*0x1388;var DAYS=0x7;var GRAY_PERIOD_REASON;var ADMIN;var oldToken;function httpRequest(_0x53260d){return new BPromise(function(_0xffe9b6,_0x2dc07e){var _0x26ee32=util[_0x3162('0x9')](_0x3162('0xa'),HOST,_0x53260d,module[_0x3162('0xb')][_0x3162('0x4')]);if(oldToken){_0x26ee32=util[_0x3162('0x9')]('%s/api/servers/%s/check?version=%s&oldtoken=%s',HOST,_0x53260d,module['exports'][_0x3162('0x4')],oldToken);}var _0x3106d5={'uri':_0x26ee32,'method':_0x3162('0xc'),'timeout':0xea60,'json':!![]};return rp(_0x3106d5)[_0x3162('0xd')](function(_0x813d62){_0xffe9b6(_0x813d62);})[_0x3162('0xe')](function(_0x458a05){_0x2dc07e(_0x458a05);});});}function encryptDate(_0x38da60){var _0x157ab8=crypto['createCipher'](_0x3162('0xf'),config['secrets'][_0x3162('0x10')]);var _0x143c5a=_0x157ab8['update'](_0x38da60,'utf8',_0x3162('0x11'));_0x143c5a+=_0x157ab8[_0x3162('0x12')](_0x3162('0x11'));return _0x143c5a;}function decryptDate(_0x4b8a3b){var _0x15e348=crypto[_0x3162('0x13')](_0x3162('0xf'),config['secrets'][_0x3162('0x10')]);var _0x42cf7d=_0x15e348[_0x3162('0x14')](_0x4b8a3b,_0x3162('0x11'),_0x3162('0x15'));_0x42cf7d+=_0x15e348[_0x3162('0x12')](_0x3162('0x15'));return _0x42cf7d;}function sendJiraAlert(_0x4b2bf3,_0x42f283,_0x1e3d75){var _0x460b7b=_0x3162('0x16');return db['User'][_0x3162('0x17')]({'where':{'role':'admin'},'attributes':['fullname',_0x3162('0x18')],'raw':!![]})[_0x3162('0xd')](function(_0x31946d){ADMIN=_0x31946d;_0x460b7b+='|reason|'+_0x1e3d75+'|\x0a';_0x460b7b+='|uuid|'+_0x4b2bf3+'|\x0a';_0x460b7b+=_0x3162('0x19')+_0x42f283+'|\x0a';_0x460b7b+=_0x3162('0x1a')+ADMIN[_0x3162('0x1b')]+'|\x0a';_0x460b7b+=_0x3162('0x1c')+ADMIN[_0x3162('0x18')]+'|\x0a';return _0x460b7b;})[_0x3162('0xd')](function(_0x52ae25){var _0x1b2713=hardware['getFirstInterface']()[_0x3162('0x1d')];return jira[_0x3162('0x1e')]({'key':_0x3162('0x1f'),'summary':_0x3162('0x20'),'description':_0x52ae25,'issuetype':_0x3162('0x21'),'oldToken':_0x4b2bf3,'newToken':_0x42f283,'email':ADMIN[_0x3162('0x18')],'name':ADMIN[_0x3162('0x1b')],'reason':GRAY_PERIOD_REASON,'ip':_0x1b2713});});}function manageLicense(_0x5f8f7,_0x2a09ad){var _0x356c5d=_0x2a09ad[_0x3162('0x22')]({'plain':!![]});httpRequest(_0x5f8f7)[_0x3162('0xd')](function(_0x1c03a4){if(oldToken){oldToken=undefined;}if(_0x1c03a4['active']){if(!_0x356c5d[_0x3162('0x23')]&&_0x356c5d['license']!=_0x1c03a4[_0x3162('0x23')]||_0x356c5d[_0x3162('0x23')]&&_0x356c5d[_0x3162('0x24')]){logger['info']('THE\x20LICENSE\x20HAS\x20BEEN\x20ENABLED');}if(_0x356c5d[_0x3162('0x23')]&&!_0x356c5d[_0x3162('0x24')]&&_0x356c5d[_0x3162('0x23')]!=_0x1c03a4[_0x3162('0x23')]){logger[_0x3162('0x25')]('THE\x20LICENSE\x20HAS\x20BEEN\x20UPDATED');}if(_0x356c5d[_0x3162('0x23')]&&!_0x356c5d['data2']&&_0x356c5d[_0x3162('0x23')]==_0x1c03a4[_0x3162('0x23')]){return _0x2a09ad;}return _0x2a09ad[_0x3162('0x14')]({'data1':_0x5f8f7,'data2':null,'license':_0x1c03a4[_0x3162('0x23')]});}else{if(_0x1c03a4[_0x3162('0x23')]||_0x356c5d[_0x3162('0x23')]){if(!_0x356c5d[_0x3162('0x24')]){if(_0x356c5d[_0x3162('0x26')]==_0x5f8f7){GRAY_PERIOD_REASON='Disabled';logger[_0x3162('0x25')](_0x3162('0x27'));}else{GRAY_PERIOD_REASON='Changed';oldToken=_0x356c5d[_0x3162('0x26')];logger[_0x3162('0x25')]('NEW\x20UUID\x20DETECTED:\x20FROM\x20%s\x20TO\x20%s',_0x356c5d['data1'],_0x5f8f7);}sendJiraAlert(_0x356c5d[_0x3162('0x26')],_0x1c03a4['uuid'],GRAY_PERIOD_REASON);logger[_0x3162('0x25')](_0x3162('0x28'),GRAY_PERIOD_REASON[_0x3162('0x29')](),moment()['format']('YYYY-MM-DD\x20HH:mm'));return _0x2a09ad[_0x3162('0x14')]({'data2':encryptDate(moment()[_0x3162('0x9')]('YYYY-MM-DD\x20HH:mm'))});}else{if(moment()[_0x3162('0x2a')](decryptDate(_0x356c5d['data2']),_0x3162('0x2b'))>DAYS){logger[_0x3162('0x25')](_0x3162('0x2c'),moment()[_0x3162('0x9')](_0x3162('0x2d')));return _0x2a09ad[_0x3162('0x14')]({'data1':_0x5f8f7,'data2':null,'license':null});}}}else{if(_0x356c5d[_0x3162('0x26')]!=_0x5f8f7){logger[_0x3162('0x25')](_0x3162('0x2e'),_0x356c5d[_0x3162('0x26')],_0x5f8f7);return _0x2a09ad[_0x3162('0x14')]({'data1':_0x5f8f7,'data2':null,'license':null});}}}return _0x2a09ad;})['then'](function(_0x149571){_0x2a09ad=_0x149571;})[_0x3162('0xe')](function(_0x41d93b){logger['error'](_0x41d93b['message']);})[_0x3162('0x2f')](function(){setTimeout(function(){manageLicense(hardware[_0x3162('0x30')](),_0x2a09ad);},TIME);});}function defaultLicense(){var _0x2e1ab5=hardware[_0x3162('0x30')]();if(_0x2e1ab5){return db['License'][_0x3162('0x31')]({'where':{'id':0x1},'defaults':{'data1':_0x2e1ab5}})['spread'](function(_0x59e049,_0x5dee49){logger[_0x3162('0x25')](_0x3162('0x32'),_0x2e1ab5);manageLicense(_0x2e1ab5,_0x59e049);})[_0x3162('0xe')](function(_0x49829f){logger[_0x3162('0x33')](_0x49829f[_0x3162('0x34')]);});}}exports[_0x3162('0x35')]=defaultLicense;
\ No newline at end of file
+var _0x82d8=['ipAddress','openIssue','MOTLICENSE','Motion\x20License\x20Alert','Alert','info','THE\x20LICENSE\x20HAS\x20BEEN\x20ENABLED','data2','data1','Changed','uuid','%s\x20-\x20GRAY\x20PERIOD\x20STARTED\x20AT\x20%s','YYYY-MM-DD\x20HH:mm','diff','days','NEW\x20UUID\x20DETECTED:\x20FROM\x20%s\x20TO\x20%s','error','message','finally','getUuid','findOrCreate','spread','default','util','moment','pkginfo','../../mysqldb','../logger','license','../../api/jira/jira.controller','https://www.xcallymotion.com','format','%s/api/servers/%s/check?version=%s','exports','%s/api/servers/%s/check?version=%s&oldtoken=%s','version','GET','catch','createCipher','aes-256-ctr','update','utf8','base64','final','createDecipher','secrets','session','||FIELD||VALUE||\x0a','User','admin','fullname','email','|reason|','|uuid|','|machineUuid|','|name|','|email|','then'];(function(_0x4afa79,_0x22c6a4){var _0x274a72=function(_0x59956c){while(--_0x59956c){_0x4afa79['push'](_0x4afa79['shift']());}};_0x274a72(++_0x22c6a4);}(_0x82d8,0xff));var _0x882d=function(_0x431501,_0x46a38c){_0x431501=_0x431501-0x0;var _0x29ac6c=_0x82d8[_0x431501];return _0x29ac6c;};'use strict';var util=require(_0x882d('0x0'));var crypto=require('crypto');var moment=require(_0x882d('0x1'));var rp=require('request-promise');var BPromise=require('bluebird');var pkginfo=require(_0x882d('0x2'))(module,'version');var db=require(_0x882d('0x3'))['db'];var config=require('../environment');var hardware=require('./hardware');var logger=require(_0x882d('0x4'))(_0x882d('0x5'));var jira=require(_0x882d('0x6'));var HOST=_0x882d('0x7');var TIME=0x3c*0x1388;var DAYS=0x7;var GRAY_PERIOD_REASON;var ADMIN;var oldToken;function httpRequest(_0xb7539b){return new BPromise(function(_0x3c8b67,_0x4067a9){var _0x4ea710=util[_0x882d('0x8')](_0x882d('0x9'),HOST,_0xb7539b,module[_0x882d('0xa')]['version']);if(oldToken){_0x4ea710=util[_0x882d('0x8')](_0x882d('0xb'),HOST,_0xb7539b,module['exports'][_0x882d('0xc')],oldToken);}var _0xa2ca7f={'uri':_0x4ea710,'method':_0x882d('0xd'),'timeout':0xea60,'json':!![]};return rp(_0xa2ca7f)['then'](function(_0x287672){_0x3c8b67(_0x287672);})[_0x882d('0xe')](function(_0x18ce3e){_0x4067a9(_0x18ce3e);});});}function encryptDate(_0x3fffe0){var _0x3bd4d9=crypto[_0x882d('0xf')](_0x882d('0x10'),config['secrets']['session']);var _0x2a7091=_0x3bd4d9[_0x882d('0x11')](_0x3fffe0,_0x882d('0x12'),_0x882d('0x13'));_0x2a7091+=_0x3bd4d9[_0x882d('0x14')]('base64');return _0x2a7091;}function decryptDate(_0x3ce2b0){var _0x2d88e5=crypto[_0x882d('0x15')](_0x882d('0x10'),config[_0x882d('0x16')][_0x882d('0x17')]);var _0x46cfcc=_0x2d88e5[_0x882d('0x11')](_0x3ce2b0,_0x882d('0x13'),'utf8');_0x46cfcc+=_0x2d88e5['final'](_0x882d('0x12'));return _0x46cfcc;}function sendJiraAlert(_0x59aaec,_0x3e4cf5,_0x47d6a0){var _0x36ecd0=_0x882d('0x18');return db[_0x882d('0x19')]['findOne']({'where':{'role':_0x882d('0x1a')},'attributes':[_0x882d('0x1b'),_0x882d('0x1c')],'raw':!![]})['then'](function(_0x3420cd){ADMIN=_0x3420cd;_0x36ecd0+=_0x882d('0x1d')+_0x47d6a0+'|\x0a';_0x36ecd0+=_0x882d('0x1e')+_0x59aaec+'|\x0a';_0x36ecd0+=_0x882d('0x1f')+_0x3e4cf5+'|\x0a';_0x36ecd0+=_0x882d('0x20')+ADMIN[_0x882d('0x1b')]+'|\x0a';_0x36ecd0+=_0x882d('0x21')+ADMIN[_0x882d('0x1c')]+'|\x0a';return _0x36ecd0;})[_0x882d('0x22')](function(_0x57f1d4){var _0x37e6fa=hardware['getFirstInterface']()[_0x882d('0x23')];return jira[_0x882d('0x24')]({'key':_0x882d('0x25'),'summary':_0x882d('0x26'),'description':_0x57f1d4,'issuetype':_0x882d('0x27'),'oldToken':_0x59aaec,'newToken':_0x3e4cf5,'email':ADMIN['email'],'name':ADMIN[_0x882d('0x1b')],'reason':GRAY_PERIOD_REASON,'ip':_0x37e6fa});});}function manageLicense(_0x58ddb2,_0xb49a3c){var _0x3cb1e2=_0xb49a3c['get']({'plain':!![]});httpRequest(_0x58ddb2)['then'](function(_0x508003){if(oldToken){oldToken=undefined;}if(_0x508003['active']){if(!_0x3cb1e2[_0x882d('0x5')]&&_0x3cb1e2[_0x882d('0x5')]!=_0x508003[_0x882d('0x5')]||_0x3cb1e2[_0x882d('0x5')]&&_0x3cb1e2['data2']){logger[_0x882d('0x28')](_0x882d('0x29'));}if(_0x3cb1e2[_0x882d('0x5')]&&!_0x3cb1e2[_0x882d('0x2a')]&&_0x3cb1e2[_0x882d('0x5')]!=_0x508003['license']){logger['info']('THE\x20LICENSE\x20HAS\x20BEEN\x20UPDATED');}if(_0x3cb1e2[_0x882d('0x5')]&&!_0x3cb1e2[_0x882d('0x2a')]&&_0x3cb1e2[_0x882d('0x5')]==_0x508003['license']){return _0xb49a3c;}return _0xb49a3c[_0x882d('0x11')]({'data1':_0x58ddb2,'data2':null,'license':_0x508003[_0x882d('0x5')]});}else{if(_0x508003[_0x882d('0x5')]||_0x3cb1e2[_0x882d('0x5')]){if(!_0x3cb1e2[_0x882d('0x2a')]){if(_0x3cb1e2[_0x882d('0x2b')]==_0x58ddb2){GRAY_PERIOD_REASON='Disabled';logger[_0x882d('0x28')]('THE\x20LICENSE\x20HAS\x20BEEN\x20DISABLED');}else{GRAY_PERIOD_REASON=_0x882d('0x2c');oldToken=_0x3cb1e2['data1'];logger[_0x882d('0x28')]('NEW\x20UUID\x20DETECTED:\x20FROM\x20%s\x20TO\x20%s',_0x3cb1e2[_0x882d('0x2b')],_0x58ddb2);}sendJiraAlert(_0x3cb1e2[_0x882d('0x2b')],_0x508003[_0x882d('0x2d')],GRAY_PERIOD_REASON);logger[_0x882d('0x28')](_0x882d('0x2e'),GRAY_PERIOD_REASON['toUpperCase'](),moment()[_0x882d('0x8')]('YYYY-MM-DD\x20HH:mm'));return _0xb49a3c[_0x882d('0x11')]({'data2':encryptDate(moment()[_0x882d('0x8')](_0x882d('0x2f')))});}else{if(moment()[_0x882d('0x30')](decryptDate(_0x3cb1e2[_0x882d('0x2a')]),_0x882d('0x31'))>DAYS){logger['info']('DEMO\x20START\x20AT\x20%s',moment()['format'](_0x882d('0x2f')));return _0xb49a3c[_0x882d('0x11')]({'data1':_0x58ddb2,'data2':null,'license':null});}}}else{if(_0x3cb1e2[_0x882d('0x2b')]!=_0x58ddb2){logger[_0x882d('0x28')](_0x882d('0x32'),_0x3cb1e2['data1'],_0x58ddb2);return _0xb49a3c[_0x882d('0x11')]({'data1':_0x58ddb2,'data2':null,'license':null});}}}return _0xb49a3c;})[_0x882d('0x22')](function(_0xc412ec){_0xb49a3c=_0xc412ec;})[_0x882d('0xe')](function(_0x335dc0){logger[_0x882d('0x33')](_0x335dc0[_0x882d('0x34')]);})[_0x882d('0x35')](function(){setTimeout(function(){manageLicense(hardware[_0x882d('0x36')](),_0xb49a3c);},TIME);});}function defaultLicense(){var _0x56b3fa=hardware['getUuid']();if(_0x56b3fa){return db['License'][_0x882d('0x37')]({'where':{'id':0x1},'defaults':{'data1':_0x56b3fa}})[_0x882d('0x38')](function(_0x1aec6f,_0x6d04f){logger['info']('SERVICE\x20LICENSE\x20STARTED\x20%s',_0x56b3fa);manageLicense(_0x56b3fa,_0x1aec6f);})[_0x882d('0xe')](function(_0x21dd0e){logger[_0x882d('0x33')](_0x21dd0e['message']);});}}exports[_0x882d('0x39')]=defaultLicense;
\ No newline at end of file