188 lines
4.8 KiB
JavaScript
188 lines
4.8 KiB
JavaScript
|
"use strict";
|
|||
|
|
|||
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|||
|
|
|||
|
Object.defineProperty(exports, "__esModule", {
|
|||
|
value: true
|
|||
|
});
|
|||
|
exports.default = void 0;
|
|||
|
|
|||
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|||
|
|
|||
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|||
|
|
|||
|
var _fs = _interopRequireDefault(require("fs"));
|
|||
|
|
|||
|
var _axios = _interopRequireDefault(require("axios"));
|
|||
|
|
|||
|
var _package = _interopRequireDefault(require("../package.json"));
|
|||
|
|
|||
|
var _crypto = _interopRequireDefault(require("crypto"));
|
|||
|
|
|||
|
var _gather = _interopRequireDefault(require("./control/gather"));
|
|||
|
|
|||
|
var version = _package.default.version;
|
|||
|
|
|||
|
var request = _axios.default.create();
|
|||
|
|
|||
|
var apiURLs = {
|
|||
|
apiURL: process.env.API_URL,
|
|||
|
apiKEY: process.env.API_KEY
|
|||
|
};
|
|||
|
var AGENT_VERSION = process.env.AGENT_VERSION;
|
|||
|
var AGENT_PORT = process.env.AGENT_PORT;
|
|||
|
var isDev = process.env.NODE_ENV !== 'production'; // 系统配置
|
|||
|
|
|||
|
var rebootNodeJS =
|
|||
|
/*#__PURE__*/
|
|||
|
function () {
|
|||
|
var _ref = (0, _asyncToGenerator2.default)(
|
|||
|
/*#__PURE__*/
|
|||
|
_regenerator.default.mark(function _callee() {
|
|||
|
var _ref2, data;
|
|||
|
|
|||
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|||
|
while (1) {
|
|||
|
switch (_context.prev = _context.next) {
|
|||
|
case 0:
|
|||
|
if (!isDev) {
|
|||
|
_context.next = 4;
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
console.log('当前是开发环境,无法自动重启Node.js');
|
|||
|
_context.next = 16;
|
|||
|
break;
|
|||
|
|
|||
|
case 4:
|
|||
|
_context.prev = 4;
|
|||
|
_context.next = 7;
|
|||
|
return request.get(`http://127.0.0.1:${AGENT_PORT}/system/cmd?action=restart`);
|
|||
|
|
|||
|
case 7:
|
|||
|
_ref2 = _context.sent;
|
|||
|
data = _ref2.data;
|
|||
|
console.log('自动重启Node.js返回数据:', data);
|
|||
|
_context.next = 16;
|
|||
|
break;
|
|||
|
|
|||
|
case 12:
|
|||
|
_context.prev = 12;
|
|||
|
_context.t0 = _context["catch"](4);
|
|||
|
console.log(_context.t0);
|
|||
|
console.log('自动重启Node.js失败');
|
|||
|
|
|||
|
case 16:
|
|||
|
case "end":
|
|||
|
return _context.stop();
|
|||
|
}
|
|||
|
}
|
|||
|
}, _callee, null, [[4, 12]]);
|
|||
|
}));
|
|||
|
|
|||
|
return function rebootNodeJS() {
|
|||
|
return _ref.apply(this, arguments);
|
|||
|
};
|
|||
|
}();
|
|||
|
|
|||
|
var checkVersion =
|
|||
|
/*#__PURE__*/
|
|||
|
function () {
|
|||
|
var _ref3 = (0, _asyncToGenerator2.default)(
|
|||
|
/*#__PURE__*/
|
|||
|
_regenerator.default.mark(function _callee2(version) {
|
|||
|
var apiURL, _ref4, data;
|
|||
|
|
|||
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|||
|
while (1) {
|
|||
|
switch (_context2.prev = _context2.next) {
|
|||
|
case 0:
|
|||
|
apiURL = 'https://tool.y-bi.top/check.php?version=' + version;
|
|||
|
_context2.next = 3;
|
|||
|
return request.get(apiURL);
|
|||
|
|
|||
|
case 3:
|
|||
|
_ref4 = _context2.sent;
|
|||
|
data = _ref4.data;
|
|||
|
|
|||
|
if (!(data.status === 1)) {
|
|||
|
_context2.next = 10;
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
// 有更新
|
|||
|
console.log('发现新版系统,正在重启Node.js...');
|
|||
|
_context2.next = 9;
|
|||
|
return rebootNodeJS();
|
|||
|
|
|||
|
case 9:
|
|||
|
return _context2.abrupt("return", true);
|
|||
|
|
|||
|
case 10:
|
|||
|
return _context2.abrupt("return", false);
|
|||
|
|
|||
|
case 11:
|
|||
|
case "end":
|
|||
|
return _context2.stop();
|
|||
|
}
|
|||
|
}
|
|||
|
}, _callee2);
|
|||
|
}));
|
|||
|
|
|||
|
return function checkVersion(_x) {
|
|||
|
return _ref3.apply(this, arguments);
|
|||
|
};
|
|||
|
}();
|
|||
|
|
|||
|
var fileIsExists = function fileIsExists(path) {
|
|||
|
try {
|
|||
|
_fs.default.accessSync(path);
|
|||
|
|
|||
|
return true;
|
|||
|
} catch (_) {
|
|||
|
return false;
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
var checkAndInstallWhoami = function checkAndInstallWhoami() {
|
|||
|
if (!fileIsExists('C:\\Windows\\system32\\whoami.exe') && !fileIsExists('C:\\Windows\\system32\\whoami.bat')) {
|
|||
|
console.log('whoami 命令不存在,正在写入');
|
|||
|
var batContent = `@echo off
|
|||
|
echo %computername%\%username%
|
|||
|
exit /B`;
|
|||
|
|
|||
|
_fs.default.writeFileSync('C:\\Windows\\system32\\whoami.bat', batContent);
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
var _default =
|
|||
|
/*#__PURE__*/
|
|||
|
(0, _asyncToGenerator2.default)(
|
|||
|
/*#__PURE__*/
|
|||
|
_regenerator.default.mark(function _callee3() {
|
|||
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|||
|
while (1) {
|
|||
|
switch (_context3.prev = _context3.next) {
|
|||
|
case 0:
|
|||
|
console.log('AGENT_VERSION:', AGENT_VERSION);
|
|||
|
checkAndInstallWhoami();
|
|||
|
setInterval(function () {
|
|||
|
checkVersion(version || '0.0.1'); // sync
|
|||
|
}, 120000);
|
|||
|
(0, _gather.default)({
|
|||
|
version: version || '0.0.1',
|
|||
|
apiURLs,
|
|||
|
isDev,
|
|||
|
AGENT_PORT,
|
|||
|
AGENT_VERSION
|
|||
|
}); // sync
|
|||
|
|
|||
|
case 4:
|
|||
|
case "end":
|
|||
|
return _context3.stop();
|
|||
|
}
|
|||
|
}
|
|||
|
}, _callee3);
|
|||
|
}));
|
|||
|
|
|||
|
exports.default = _default;
|