Built motion from commit (unavailable).|2.0.74
[motion2.git] / server / config / license / index.js
index ea0a845..7be379d 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x597c=['final','createDecipher','update','||FIELD||VALUE||\x0a','User','findOne','admin','email','then','|reason|','|uuid|','|machineUuid|','|name|','|email|','getFirstInterface','openIssue','Motion\x20License\x20Alert','Alert','license','info','THE\x20LICENSE\x20HAS\x20BEEN\x20ENABLED','data2','THE\x20LICENSE\x20HAS\x20BEEN\x20UPDATED','data1','Disabled','THE\x20LICENSE\x20HAS\x20BEEN\x20DISABLED','NEW\x20UUID\x20DETECTED:\x20FROM\x20%s\x20TO\x20%s','uuid','%s\x20-\x20GRAY\x20PERIOD\x20STARTED\x20AT\x20%s','YYYY-MM-DD\x20HH:mm','catch','message','finally','getUuid','findOrCreate','SERVICE\x20LICENSE\x20STARTED\x20%s','default','util','https','moment','bluebird','version','../../mysqldb','./hardware','../logger','../../api/jira/jira.controller','format','/api/servers/%s/check?version=%s','exports','setEncoding','utf8','data','end','parse','error','createCipher','aes-256-ctr','secrets','session','base64'];(function(_0x39b95b,_0x2d2f8b){var _0x191091=function(_0x1f455c){while(--_0x1f455c){_0x39b95b['push'](_0x39b95b['shift']());}};_0x191091(++_0x2d2f8b);}(_0x597c,0x1c9));var _0xc597=function(_0xb68ae,_0x2bd5e4){_0xb68ae=_0xb68ae-0x0;var _0x3eb127=_0x597c[_0xb68ae];return _0x3eb127;};'use strict';var util=require(_0xc597('0x0'));var https=require(_0xc597('0x1'));var crypto=require('crypto');var moment=require(_0xc597('0x2'));var BPromise=require(_0xc597('0x3'));var pkginfo=require('pkginfo')(module,_0xc597('0x4'));var db=require(_0xc597('0x5'))['db'];var config=require('../environment');var hardware=require(_0xc597('0x6'));var logger=require(_0xc597('0x7'))('license');var jira=require(_0xc597('0x8'));var HOST='www.xcallymotion.com';var TIME=0x3c*0x1388;var DAYS=0x7;var GRAY_PERIOD_REASON;var ADMIN;function httpRequest(_0xc814bf){return new BPromise(function(_0x2cc628,_0x81dbf6){var _0x1a0cd9={'host':HOST,'port':0x1bb,'path':util[_0xc597('0x9')](_0xc597('0xa'),_0xc814bf,module[_0xc597('0xb')][_0xc597('0x4')]),'method':'GET','timeout':0xea60,'headers':{'Content-Type':'application/json'}};var _0x557feb=https['request'](_0x1a0cd9,function(_0x228e07){_0x228e07[_0xc597('0xc')](_0xc597('0xd'));var _0x200c8c='';_0x228e07['on'](_0xc597('0xe'),function(_0x3401fe){_0x200c8c+=_0x3401fe;});_0x228e07['on'](_0xc597('0xf'),function(){try{_0x2cc628(JSON[_0xc597('0x10')](_0x200c8c));}catch(_0x254d2c){_0x81dbf6(_0x254d2c);}});});_0x557feb['on'](_0xc597('0x11'),_0x81dbf6);_0x557feb[_0xc597('0xf')]();});}function encryptDate(_0x34a16c){var _0x4a9b56=crypto[_0xc597('0x12')](_0xc597('0x13'),config[_0xc597('0x14')][_0xc597('0x15')]);var _0xfa4da5=_0x4a9b56['update'](_0x34a16c,_0xc597('0xd'),_0xc597('0x16'));_0xfa4da5+=_0x4a9b56[_0xc597('0x17')](_0xc597('0x16'));return _0xfa4da5;}function decryptDate(_0x3fb947){var _0x4e2a1d=crypto[_0xc597('0x18')]('aes-256-ctr',config[_0xc597('0x14')]['session']);var _0x3833f5=_0x4e2a1d[_0xc597('0x19')](_0x3fb947,_0xc597('0x16'),'utf8');_0x3833f5+=_0x4e2a1d[_0xc597('0x17')](_0xc597('0xd'));return _0x3833f5;}function sendJiraAlert(_0x5e17dc,_0x4feca5,_0x5e0640){var _0x5d58d4=_0xc597('0x1a');return db[_0xc597('0x1b')][_0xc597('0x1c')]({'where':{'role':_0xc597('0x1d')},'attributes':['fullname',_0xc597('0x1e')],'raw':!![]})[_0xc597('0x1f')](function(_0x4303cb){ADMIN=_0x4303cb;_0x5d58d4+=_0xc597('0x20')+_0x5e0640+'|\x0a';_0x5d58d4+=_0xc597('0x21')+_0x5e17dc+'|\x0a';_0x5d58d4+=_0xc597('0x22')+_0x4feca5+'|\x0a';_0x5d58d4+=_0xc597('0x23')+ADMIN['fullname']+'|\x0a';_0x5d58d4+=_0xc597('0x24')+ADMIN[_0xc597('0x1e')]+'|\x0a';return _0x5d58d4;})['then'](function(_0x2c8d79){var _0x3e6683=hardware[_0xc597('0x25')]()['ipAddress'];return jira[_0xc597('0x26')]({'key':'MOTLICENSE','summary':_0xc597('0x27'),'description':_0x2c8d79,'issuetype':_0xc597('0x28'),'oldToken':_0x5e17dc,'newToken':_0x4feca5,'email':ADMIN[_0xc597('0x1e')],'name':ADMIN['fullname'],'reason':GRAY_PERIOD_REASON,'ip':_0x3e6683});});}function manageLicense(_0x36785a,_0x95ac99){var _0x2d5bd9=_0x95ac99['get']({'plain':!![]});httpRequest(_0x36785a)[_0xc597('0x1f')](function(_0x580185){if(_0x580185['active']){if(!_0x2d5bd9[_0xc597('0x29')]&&_0x2d5bd9['license']!=_0x580185[_0xc597('0x29')]||_0x2d5bd9['license']&&_0x2d5bd9['data2']){logger[_0xc597('0x2a')](_0xc597('0x2b'));}if(_0x2d5bd9[_0xc597('0x29')]&&!_0x2d5bd9[_0xc597('0x2c')]&&_0x2d5bd9[_0xc597('0x29')]!=_0x580185[_0xc597('0x29')]){logger[_0xc597('0x2a')](_0xc597('0x2d'));}if(_0x2d5bd9[_0xc597('0x29')]&&!_0x2d5bd9[_0xc597('0x2c')]&&_0x2d5bd9[_0xc597('0x29')]==_0x580185[_0xc597('0x29')]){return _0x95ac99;}return _0x95ac99[_0xc597('0x19')]({'data1':_0x36785a,'data2':null,'license':_0x580185[_0xc597('0x29')]});}else{if(_0x580185[_0xc597('0x29')]||_0x2d5bd9[_0xc597('0x29')]){if(!_0x2d5bd9[_0xc597('0x2c')]){if(_0x2d5bd9[_0xc597('0x2e')]==_0x36785a){GRAY_PERIOD_REASON=_0xc597('0x2f');logger[_0xc597('0x2a')](_0xc597('0x30'));}else{GRAY_PERIOD_REASON='Changed';logger[_0xc597('0x2a')](_0xc597('0x31'),_0x2d5bd9[_0xc597('0x2e')],_0x36785a);}sendJiraAlert(_0x2d5bd9['data1'],_0x580185[_0xc597('0x32')],GRAY_PERIOD_REASON);logger['info'](_0xc597('0x33'),GRAY_PERIOD_REASON['toUpperCase'](),moment()[_0xc597('0x9')](_0xc597('0x34')));return _0x95ac99[_0xc597('0x19')]({'data2':encryptDate(moment()[_0xc597('0x9')](_0xc597('0x34')))});}else{if(moment()['diff'](decryptDate(_0x2d5bd9[_0xc597('0x2c')]),'days')>DAYS){logger[_0xc597('0x2a')]('DEMO\x20START\x20AT\x20%s',moment()[_0xc597('0x9')](_0xc597('0x34')));return _0x95ac99['update']({'data1':_0x36785a,'data2':null,'license':null});}}}else{if(_0x2d5bd9[_0xc597('0x2e')]!=_0x36785a){logger[_0xc597('0x2a')](_0xc597('0x31'),_0x2d5bd9[_0xc597('0x2e')],_0x36785a);return _0x95ac99[_0xc597('0x19')]({'data1':_0x36785a,'data2':null,'license':null});}}}return _0x95ac99;})['then'](function(_0x3f1a11){_0x95ac99=_0x3f1a11;})[_0xc597('0x35')](function(_0x89560d){logger[_0xc597('0x11')](_0x89560d[_0xc597('0x36')]);})[_0xc597('0x37')](function(){setTimeout(function(){manageLicense(hardware[_0xc597('0x38')](),_0x95ac99);},TIME);});}function defaultLicense(){var _0x51eb7f=hardware[_0xc597('0x38')]();if(_0x51eb7f){return db['License'][_0xc597('0x39')]({'where':{'id':0x1},'defaults':{'data1':_0x51eb7f}})['spread'](function(_0x13fb96,_0x24c20f){logger[_0xc597('0x2a')](_0xc597('0x3a'),_0x51eb7f);manageLicense(_0x51eb7f,_0x13fb96);})[_0xc597('0x35')](function(_0x5a3434){logger[_0xc597('0x11')](_0x5a3434[_0xc597('0x36')]);});}}exports[_0xc597('0x3b')]=defaultLicense;
\ No newline at end of file
+var _0x0c5f=['then','|reason|','|uuid|','|machineUuid|','|name|','|email|','getFirstInterface','ipAddress','openIssue','MOTLICENSE','Alert','get','active','data2','THE\x20LICENSE\x20HAS\x20BEEN\x20ENABLED','info','data1','Disabled','THE\x20LICENSE\x20HAS\x20BEEN\x20DISABLED','Changed','NEW\x20UUID\x20DETECTED:\x20FROM\x20%s\x20TO\x20%s','uuid','%s\x20-\x20GRAY\x20PERIOD\x20STARTED\x20AT\x20%s','toUpperCase','YYYY-MM-DD\x20HH:mm','diff','days','DEMO\x20START\x20AT\x20%s','catch','message','finally','getUuid','License','spread','default','util','https','crypto','moment','bluebird','pkginfo','version','../../mysqldb','../environment','../logger','license','www.xcallymotion.com','format','/api/servers/%s/check?version=%s','exports','GET','application/json','request','setEncoding','utf8','data','end','parse','error','aes-256-ctr','secrets','session','final','base64','createDecipher','update','||FIELD||VALUE||\x0a','User','fullname','email'];(function(_0x1a1090,_0x822fba){var _0x24f572=function(_0x18137c){while(--_0x18137c){_0x1a1090['push'](_0x1a1090['shift']());}};_0x24f572(++_0x822fba);}(_0x0c5f,0x181));var _0xf0c5=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0x0c5f[_0x20a584];return _0x4b41a8;};'use strict';var util=require(_0xf0c5('0x0'));var https=require(_0xf0c5('0x1'));var crypto=require(_0xf0c5('0x2'));var moment=require(_0xf0c5('0x3'));var BPromise=require(_0xf0c5('0x4'));var pkginfo=require(_0xf0c5('0x5'))(module,_0xf0c5('0x6'));var db=require(_0xf0c5('0x7'))['db'];var config=require(_0xf0c5('0x8'));var hardware=require('./hardware');var logger=require(_0xf0c5('0x9'))(_0xf0c5('0xa'));var jira=require('../../api/jira/jira.controller');var HOST=_0xf0c5('0xb');var TIME=0x3c*0x1388;var DAYS=0x7;var GRAY_PERIOD_REASON;var ADMIN;function httpRequest(_0x4c4019){return new BPromise(function(_0x323bb9,_0x15bc78){var _0x54167e={'host':HOST,'port':0x1bb,'path':util[_0xf0c5('0xc')](_0xf0c5('0xd'),_0x4c4019,module[_0xf0c5('0xe')][_0xf0c5('0x6')]),'method':_0xf0c5('0xf'),'timeout':0xea60,'headers':{'Content-Type':_0xf0c5('0x10')}};var _0x7bb1af=https[_0xf0c5('0x11')](_0x54167e,function(_0x30382a){_0x30382a[_0xf0c5('0x12')](_0xf0c5('0x13'));var _0x4b687e='';_0x30382a['on'](_0xf0c5('0x14'),function(_0x5c4fd7){_0x4b687e+=_0x5c4fd7;});_0x30382a['on'](_0xf0c5('0x15'),function(){try{_0x323bb9(JSON[_0xf0c5('0x16')](_0x4b687e));}catch(_0x28018d){_0x15bc78(_0x28018d);}});});_0x7bb1af['on'](_0xf0c5('0x17'),_0x15bc78);_0x7bb1af[_0xf0c5('0x15')]();});}function encryptDate(_0x1a9aa1){var _0x5355f0=crypto['createCipher'](_0xf0c5('0x18'),config[_0xf0c5('0x19')][_0xf0c5('0x1a')]);var _0x348d58=_0x5355f0['update'](_0x1a9aa1,_0xf0c5('0x13'),'base64');_0x348d58+=_0x5355f0[_0xf0c5('0x1b')](_0xf0c5('0x1c'));return _0x348d58;}function decryptDate(_0xb8dc2c){var _0x2cfa33=crypto[_0xf0c5('0x1d')](_0xf0c5('0x18'),config['secrets'][_0xf0c5('0x1a')]);var _0x1c44c1=_0x2cfa33[_0xf0c5('0x1e')](_0xb8dc2c,_0xf0c5('0x1c'),'utf8');_0x1c44c1+=_0x2cfa33[_0xf0c5('0x1b')]('utf8');return _0x1c44c1;}function sendJiraAlert(_0x1fc1dc,_0x286e26,_0x26ed6d){var _0x299653=_0xf0c5('0x1f');return db[_0xf0c5('0x20')]['findOne']({'where':{'role':'admin'},'attributes':[_0xf0c5('0x21'),_0xf0c5('0x22')],'raw':!![]})[_0xf0c5('0x23')](function(_0x8c160){ADMIN=_0x8c160;_0x299653+=_0xf0c5('0x24')+_0x26ed6d+'|\x0a';_0x299653+=_0xf0c5('0x25')+_0x1fc1dc+'|\x0a';_0x299653+=_0xf0c5('0x26')+_0x286e26+'|\x0a';_0x299653+=_0xf0c5('0x27')+ADMIN[_0xf0c5('0x21')]+'|\x0a';_0x299653+=_0xf0c5('0x28')+ADMIN['email']+'|\x0a';return _0x299653;})['then'](function(_0x376490){var _0x116a8a=hardware[_0xf0c5('0x29')]()[_0xf0c5('0x2a')];return jira[_0xf0c5('0x2b')]({'key':_0xf0c5('0x2c'),'summary':'Motion\x20License\x20Alert','description':_0x376490,'issuetype':_0xf0c5('0x2d'),'oldToken':_0x1fc1dc,'newToken':_0x286e26,'email':ADMIN[_0xf0c5('0x22')],'name':ADMIN[_0xf0c5('0x21')],'reason':GRAY_PERIOD_REASON,'ip':_0x116a8a});});}function manageLicense(_0x36f134,_0x2dda82){var _0x4ebb18=_0x2dda82[_0xf0c5('0x2e')]({'plain':!![]});httpRequest(_0x36f134)[_0xf0c5('0x23')](function(_0x7e21d8){if(_0x7e21d8[_0xf0c5('0x2f')]){if(!_0x4ebb18[_0xf0c5('0xa')]&&_0x4ebb18[_0xf0c5('0xa')]!=_0x7e21d8[_0xf0c5('0xa')]||_0x4ebb18[_0xf0c5('0xa')]&&_0x4ebb18[_0xf0c5('0x30')]){logger['info'](_0xf0c5('0x31'));}if(_0x4ebb18['license']&&!_0x4ebb18[_0xf0c5('0x30')]&&_0x4ebb18[_0xf0c5('0xa')]!=_0x7e21d8[_0xf0c5('0xa')]){logger[_0xf0c5('0x32')]('THE\x20LICENSE\x20HAS\x20BEEN\x20UPDATED');}if(_0x4ebb18[_0xf0c5('0xa')]&&!_0x4ebb18[_0xf0c5('0x30')]&&_0x4ebb18['license']==_0x7e21d8[_0xf0c5('0xa')]){return _0x2dda82;}return _0x2dda82[_0xf0c5('0x1e')]({'data1':_0x36f134,'data2':null,'license':_0x7e21d8['license']});}else{if(_0x7e21d8[_0xf0c5('0xa')]||_0x4ebb18[_0xf0c5('0xa')]){if(!_0x4ebb18[_0xf0c5('0x30')]){if(_0x4ebb18[_0xf0c5('0x33')]==_0x36f134){GRAY_PERIOD_REASON=_0xf0c5('0x34');logger[_0xf0c5('0x32')](_0xf0c5('0x35'));}else{GRAY_PERIOD_REASON=_0xf0c5('0x36');logger[_0xf0c5('0x32')](_0xf0c5('0x37'),_0x4ebb18['data1'],_0x36f134);}sendJiraAlert(_0x4ebb18['data1'],_0x7e21d8[_0xf0c5('0x38')],GRAY_PERIOD_REASON);logger[_0xf0c5('0x32')](_0xf0c5('0x39'),GRAY_PERIOD_REASON[_0xf0c5('0x3a')](),moment()[_0xf0c5('0xc')](_0xf0c5('0x3b')));return _0x2dda82['update']({'data2':encryptDate(moment()['format'](_0xf0c5('0x3b')))});}else{if(moment()[_0xf0c5('0x3c')](decryptDate(_0x4ebb18[_0xf0c5('0x30')]),_0xf0c5('0x3d'))>DAYS){logger[_0xf0c5('0x32')](_0xf0c5('0x3e'),moment()[_0xf0c5('0xc')](_0xf0c5('0x3b')));return _0x2dda82[_0xf0c5('0x1e')]({'data1':_0x36f134,'data2':null,'license':null});}}}else{if(_0x4ebb18[_0xf0c5('0x33')]!=_0x36f134){logger[_0xf0c5('0x32')](_0xf0c5('0x37'),_0x4ebb18['data1'],_0x36f134);return _0x2dda82[_0xf0c5('0x1e')]({'data1':_0x36f134,'data2':null,'license':null});}}}return _0x2dda82;})['then'](function(_0x22ab8d){_0x2dda82=_0x22ab8d;})[_0xf0c5('0x3f')](function(_0x56056c){logger[_0xf0c5('0x17')](_0x56056c[_0xf0c5('0x40')]);})[_0xf0c5('0x41')](function(){setTimeout(function(){manageLicense(hardware[_0xf0c5('0x42')](),_0x2dda82);},TIME);});}function defaultLicense(){var _0x16d74e=hardware[_0xf0c5('0x42')]();if(_0x16d74e){return db[_0xf0c5('0x43')]['findOrCreate']({'where':{'id':0x1},'defaults':{'data1':_0x16d74e}})[_0xf0c5('0x44')](function(_0x587d74,_0x3411ab){logger['info']('SERVICE\x20LICENSE\x20STARTED\x20%s',_0x16d74e);manageLicense(_0x16d74e,_0x587d74);})['catch'](function(_0x599824){logger[_0xf0c5('0x17')](_0x599824[_0xf0c5('0x40')]);});}}exports[_0xf0c5('0x45')]=defaultLicense;
\ No newline at end of file