"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;