bdy 1.15.7-dev-package → 1.16.0-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/distTs/package.json +1 -1
- package/distTs/src/agent/agent.js +28 -56
- package/distTs/src/agent/linux.js +22 -23
- package/distTs/src/agent/manager.js +12 -105
- package/distTs/src/agent/osx.js +22 -27
- package/distTs/src/agent/socket/client.js +4 -4
- package/distTs/src/agent/system.js +89 -21
- package/distTs/src/agent/windows.js +21 -32
- package/distTs/src/api/client.js +25 -101
- package/distTs/src/command/agent/debug.js +10 -3
- package/distTs/src/command/agent/disable.js +6 -6
- package/distTs/src/command/agent/enable.js +6 -6
- package/distTs/src/command/agent/install.js +106 -27
- package/distTs/src/command/agent/restart.js +21 -11
- package/distTs/src/command/agent/run.js +1 -1
- package/distTs/src/command/agent/standalone/kill.js +22 -0
- package/distTs/src/command/agent/standalone.js +136 -0
- package/distTs/src/command/agent/start.js +19 -12
- package/distTs/src/command/agent/status.js +44 -17
- package/distTs/src/command/agent/stop.js +20 -13
- package/distTs/src/command/agent/target/disable.js +6 -6
- package/distTs/src/command/agent/target/enable.js +6 -6
- package/distTs/src/command/agent/target/status.js +6 -6
- package/distTs/src/command/agent/tunnel/http.js +6 -6
- package/distTs/src/command/agent/tunnel/list.js +6 -6
- package/distTs/src/command/agent/tunnel/remove.js +6 -6
- package/distTs/src/command/agent/tunnel/start.js +7 -7
- package/distTs/src/command/agent/tunnel/status.js +6 -6
- package/distTs/src/command/agent/tunnel/tcp.js +6 -6
- package/distTs/src/command/agent/tunnel/tls.js +6 -6
- package/distTs/src/command/agent/uninstall.js +2 -2
- package/distTs/src/command/agent/update.js +19 -17
- package/distTs/src/command/agent/version.js +3 -5
- package/distTs/src/command/agent.js +0 -4
- package/distTs/src/command/pipeline/run.js +3 -3
- package/distTs/src/command/pre.js +10 -2
- package/distTs/src/command/vt/scrap.js +193 -0
- package/distTs/src/index.js +0 -2
- package/distTs/src/input.js +1 -24
- package/distTs/src/output.js +16 -4
- package/distTs/src/texts.js +22 -85
- package/distTs/src/tunnel/api/agent.js +0 -9
- package/distTs/src/types/tunnel.js +0 -3
- package/package.json +1 -1
- package/distTs/src/command/package/download.js +0 -259
- package/distTs/src/command/package/publish.js +0 -231
- package/distTs/src/command/package.js +0 -14
|
@@ -12,9 +12,10 @@ const buddy_1 = __importDefault(require("../../tunnel/api/buddy"));
|
|
|
12
12
|
const agent_1 = __importDefault(require("../../tunnel/api/agent"));
|
|
13
13
|
const wait_1 = __importDefault(require("../../agent/wait"));
|
|
14
14
|
const utils_1 = require("../../utils");
|
|
15
|
+
const logger_1 = __importDefault(require("../../logger"));
|
|
15
16
|
const removeAllAndExit = async (txt, id, host, token) => {
|
|
16
17
|
try {
|
|
17
|
-
await manager_1.default.system.
|
|
18
|
+
await manager_1.default.system.uninstall();
|
|
18
19
|
}
|
|
19
20
|
catch {
|
|
20
21
|
// do nothing
|
|
@@ -45,28 +46,11 @@ const removeAllAndExit = async (txt, id, host, token) => {
|
|
|
45
46
|
}
|
|
46
47
|
output_1.default.exitError(txt);
|
|
47
48
|
};
|
|
48
|
-
const
|
|
49
|
-
commandAgentInstall.option('-s, --start', texts_1.OPTION_AGENT_START);
|
|
50
|
-
commandAgentInstall.option('-i, --id <id>', texts_1.OPTION_AGENT_ID);
|
|
51
|
-
commandAgentInstall.option('-t, --token <token>', texts_1.OPTION_AGENT_TOKEN);
|
|
52
|
-
commandAgentInstall.option('-p, --port <port>', texts_1.OPTION_AGENT_PORT, '7456');
|
|
53
|
-
commandAgentInstall.option('-u, --user <user>', texts_1.OPTION_USER);
|
|
54
|
-
commandAgentInstall.option('--pass <password>', texts_1.OPTION_PASS);
|
|
55
|
-
commandAgentInstall.option('--target', texts_1.OPTION_AGENT_TARGET);
|
|
56
|
-
commandAgentInstall.option('-d, --debug', texts_1.OPTION_AGENT_DEBUG);
|
|
57
|
-
commandAgentInstall.action(async (options) => {
|
|
58
|
-
const hasAdminRights = await manager_1.default.system.hasAdminRights();
|
|
59
|
-
if (!hasAdminRights) {
|
|
60
|
-
output_1.default.exitError(texts_1.ERR_AGENT_ADMIN_RIGHTS);
|
|
61
|
-
}
|
|
49
|
+
const installService = async (options) => {
|
|
62
50
|
const isSupported = await manager_1.default.system.isSupported();
|
|
63
51
|
if (!isSupported) {
|
|
64
52
|
output_1.default.exitError(texts_1.ERR_AGENT_NOT_SUPPORTED);
|
|
65
53
|
}
|
|
66
|
-
const isEnabled = await manager_1.default.system.isEnabled();
|
|
67
|
-
if (isEnabled) {
|
|
68
|
-
output_1.default.exitSuccess(texts_1.TXT_AGENT_ALREADY_ENABLED);
|
|
69
|
-
}
|
|
70
54
|
let id = '';
|
|
71
55
|
let token = '';
|
|
72
56
|
let agent;
|
|
@@ -97,7 +81,7 @@ commandAgentInstall.action(async (options) => {
|
|
|
97
81
|
agent.destroy();
|
|
98
82
|
agent = null;
|
|
99
83
|
}
|
|
100
|
-
const saved = manager_1.default.system.saveSystemConfig(id, host, token, port);
|
|
84
|
+
const saved = manager_1.default.system.saveSystemConfig(id, host, token, port, false, !!options.debug);
|
|
101
85
|
if (!saved) {
|
|
102
86
|
await removeAllAndExit(texts_1.ERR_SWW_AGENT_ENABLING, id, host, token);
|
|
103
87
|
}
|
|
@@ -115,16 +99,111 @@ commandAgentInstall.action(async (options) => {
|
|
|
115
99
|
}
|
|
116
100
|
await output_1.default.spinner(texts_1.TXT_ENABLING_AGENT);
|
|
117
101
|
try {
|
|
118
|
-
await manager_1.default.system.
|
|
102
|
+
await manager_1.default.system.install(id, host, token, port, !!options.start, options.user, options.pass, !!options.debug);
|
|
119
103
|
}
|
|
120
104
|
catch {
|
|
121
105
|
await removeAllAndExit(texts_1.ERR_SWW_AGENT_ENABLING, id, host, token);
|
|
122
106
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
107
|
+
if (options.start) {
|
|
108
|
+
const api = new agent_1.default(port);
|
|
109
|
+
await (0, wait_1.default)(api, 15000, () => {
|
|
110
|
+
removeAllAndExit(texts_1.ERR_SWW_AGENT_ENABLING, id, host, token);
|
|
111
|
+
}, () => {
|
|
112
|
+
output_1.default.exitSuccess(texts_1.TXT_AGENT_INSTALLED);
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
const installApp = async (options) => {
|
|
117
|
+
if (options.debug) {
|
|
118
|
+
logger_1.default.setDebug(true);
|
|
119
|
+
}
|
|
120
|
+
let id;
|
|
121
|
+
let host;
|
|
122
|
+
let token;
|
|
123
|
+
const port = input_1.default.port(options.port);
|
|
124
|
+
if (options.id) {
|
|
125
|
+
id = options.id;
|
|
126
|
+
}
|
|
127
|
+
if (!token) {
|
|
128
|
+
token = options.token;
|
|
129
|
+
}
|
|
130
|
+
if (!id) {
|
|
131
|
+
if (token)
|
|
132
|
+
cfg_1.default.setToken(token);
|
|
133
|
+
host = cfg_1.default.getTokenHost();
|
|
134
|
+
try {
|
|
135
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_REGISTERING, false);
|
|
136
|
+
const agent = await buddy_1.default.register(true, !!options.target, host, cfg_1.default.getToken(), (region) => {
|
|
137
|
+
cfg_1.default.setRegionIfNotSet(region);
|
|
138
|
+
});
|
|
139
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_AGENT_REGISTERED);
|
|
140
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_REGISTERED);
|
|
141
|
+
id = agent.id;
|
|
142
|
+
token = agent.token;
|
|
143
|
+
agent.destroy();
|
|
144
|
+
}
|
|
145
|
+
catch (err) {
|
|
146
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_AGENT_REGISTER_ERROR);
|
|
147
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_REGISTER_ERROR);
|
|
148
|
+
logger_1.default.error(err);
|
|
149
|
+
output_1.default.exitError(err);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
if (!host) {
|
|
154
|
+
host = cfg_1.default.getTokenHost();
|
|
155
|
+
}
|
|
156
|
+
try {
|
|
157
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCHING);
|
|
158
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCHING, false);
|
|
159
|
+
const agent = await buddy_1.default.fetchAgent(id, host, token);
|
|
160
|
+
agent.destroy();
|
|
161
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCHED);
|
|
162
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCHED);
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCH_ERROR);
|
|
166
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCH_ERROR);
|
|
167
|
+
logger_1.default.error(err);
|
|
168
|
+
output_1.default.exitError(err);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
const saved = manager_1.default.system.saveSystemConfig(id, host, token, port, true, !!options.debug);
|
|
172
|
+
if (!saved) {
|
|
173
|
+
output_1.default.exitError(texts_1.ERR_SWW_AGENT_ENABLING);
|
|
174
|
+
}
|
|
175
|
+
if (options.start) {
|
|
176
|
+
manager_1.default.system.startStandaloneProc();
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
output_1.default.exitSuccess(texts_1.TXT_AGENT_INSTALLED);
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
const commandAgentInstall = (0, utils_1.newCommand)('install', texts_1.DESC_COMMAND_AGENT_INSTALL);
|
|
183
|
+
commandAgentInstall.option('-s, --start [true|false]', texts_1.OPTION_AGENT_START, 'true');
|
|
184
|
+
commandAgentInstall.option('-i, --id <id>', texts_1.OPTION_AGENT_ID);
|
|
185
|
+
commandAgentInstall.option('-t, --token <token>', texts_1.OPTION_AGENT_TOKEN);
|
|
186
|
+
commandAgentInstall.option('-p, --port <port>', texts_1.OPTION_AGENT_PORT, '7456');
|
|
187
|
+
commandAgentInstall.option('-u, --user <user>', texts_1.OPTION_USER);
|
|
188
|
+
commandAgentInstall.option('-a,--app', texts_1.OPTION_APP);
|
|
189
|
+
commandAgentInstall.option('--pass <password>', texts_1.OPTION_PASS);
|
|
190
|
+
commandAgentInstall.option('--target', texts_1.OPTION_AGENT_TARGET);
|
|
191
|
+
commandAgentInstall.option('-d, --debug', texts_1.OPTION_AGENT_DEBUG);
|
|
192
|
+
commandAgentInstall.action(async (options) => {
|
|
193
|
+
options.start = options.start === 'true';
|
|
194
|
+
const hasAdminRights = await manager_1.default.system.hasAdminRights();
|
|
195
|
+
if (!hasAdminRights) {
|
|
196
|
+
output_1.default.exitError(texts_1.ERR_AGENT_ADMIN_RIGHTS);
|
|
197
|
+
}
|
|
198
|
+
const hasSystemConfig = manager_1.default.system.hasSystemConfig();
|
|
199
|
+
if (hasSystemConfig) {
|
|
200
|
+
output_1.default.exitError(texts_1.TXT_AGENT_ALREADY_INSTALLED);
|
|
201
|
+
}
|
|
202
|
+
if (options.app) {
|
|
203
|
+
await installApp(options);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
await installService(options);
|
|
207
|
+
}
|
|
129
208
|
});
|
|
130
209
|
exports.default = commandAgentInstall;
|
|
@@ -5,23 +5,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const output_1 = __importDefault(require("../../output"));
|
|
7
7
|
const texts_1 = require("../../texts");
|
|
8
|
-
const agent_1 = __importDefault(require("../../tunnel/api/agent"));
|
|
9
8
|
const manager_1 = __importDefault(require("../../agent/manager"));
|
|
10
9
|
const utils_1 = require("../../utils");
|
|
10
|
+
const logger_1 = __importDefault(require("../../logger"));
|
|
11
11
|
const commandAgentRestart = (0, utils_1.newCommand)('restart', texts_1.DESC_COMMAND_AGENT_RESTART);
|
|
12
12
|
commandAgentRestart.action(async () => {
|
|
13
|
-
const
|
|
14
|
-
if (!
|
|
15
|
-
output_1.default.exitError(texts_1.
|
|
13
|
+
const hasAdminRights = await manager_1.default.system.hasAdminRights();
|
|
14
|
+
if (!hasAdminRights) {
|
|
15
|
+
output_1.default.exitError(texts_1.ERR_AGENT_ADMIN_RIGHTS);
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const api = new agent_1.default(json.port);
|
|
20
|
-
await api.restartAgent();
|
|
21
|
-
output_1.default.exitSuccess(texts_1.TXT_AGENT_RESTARTED);
|
|
17
|
+
if (!commandAgentRestart.agentInstalled) {
|
|
18
|
+
output_1.default.exitError(texts_1.ERR_AGENT_NOT_INSTALLED);
|
|
22
19
|
}
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
if (commandAgentRestart.agentStandalone) {
|
|
21
|
+
await manager_1.default.system.killStandaloneProc();
|
|
22
|
+
manager_1.default.system.startStandaloneProc();
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
try {
|
|
26
|
+
await manager_1.default.system.stop();
|
|
27
|
+
output_1.default.normal(texts_1.TXT_AGENT_STOPPED);
|
|
28
|
+
await manager_1.default.system.start();
|
|
29
|
+
output_1.default.exitSuccess(texts_1.TXT_AGENT_RESTARTED);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
logger_1.default.error(err);
|
|
33
|
+
output_1.default.exitError(err);
|
|
34
|
+
}
|
|
25
35
|
}
|
|
26
36
|
});
|
|
27
37
|
exports.default = commandAgentRestart;
|
|
@@ -14,6 +14,6 @@ commandAgentRun.option('--port <port>');
|
|
|
14
14
|
commandAgentRun.option('--start <start>');
|
|
15
15
|
commandAgentRun.action(async (options) => {
|
|
16
16
|
logger_1.default.changeRootPath(manager_1.default.system.getNewAgentConfigDir());
|
|
17
|
-
manager_1.default.start(options.id, options.host, options.token, parseInt(options.port, 10)
|
|
17
|
+
manager_1.default.start(options.id, options.host, options.token, parseInt(options.port, 10));
|
|
18
18
|
});
|
|
19
19
|
exports.default = commandAgentRun;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
const texts_1 = require("../../../texts");
|
|
8
|
+
const manager_1 = __importDefault(require("../../../agent/manager"));
|
|
9
|
+
const output_1 = __importDefault(require("../../../output"));
|
|
10
|
+
const commandAgentStandaloneKill = (0, utils_1.newCommand)('kill', texts_1.DESC_COMMAND_AGENT_STANDALONE_KILL);
|
|
11
|
+
commandAgentStandaloneKill.action(async () => {
|
|
12
|
+
const hasAdminRights = await manager_1.default.system.hasAdminRights();
|
|
13
|
+
if (!hasAdminRights) {
|
|
14
|
+
output_1.default.exitError(texts_1.ERR_AGENT_ADMIN_RIGHTS);
|
|
15
|
+
}
|
|
16
|
+
if (!manager_1.default.system.isStandaloneProcRunning()) {
|
|
17
|
+
output_1.default.exitError(texts_1.ERR_AGENT_NOT_RUNNING);
|
|
18
|
+
}
|
|
19
|
+
manager_1.default.system.killStandaloneProc();
|
|
20
|
+
output_1.default.exitSuccess(texts_1.TXT_AGENT_STANDALONE_STOPPED);
|
|
21
|
+
});
|
|
22
|
+
exports.default = commandAgentStandaloneKill;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const utils_1 = require("../../utils");
|
|
7
|
+
const texts_1 = require("../../texts");
|
|
8
|
+
const manager_1 = __importDefault(require("../../agent/manager"));
|
|
9
|
+
const output_1 = __importDefault(require("../../output"));
|
|
10
|
+
const buddy_1 = __importDefault(require("../../tunnel/api/buddy"));
|
|
11
|
+
const logger_1 = __importDefault(require("../../logger"));
|
|
12
|
+
const cfg_1 = __importDefault(require("../../tunnel/cfg"));
|
|
13
|
+
const input_1 = __importDefault(require("../../input"));
|
|
14
|
+
const kill_1 = __importDefault(require("./standalone/kill"));
|
|
15
|
+
const commandAgentStandalone = (0, utils_1.newCommand)('standalone', texts_1.DESC_COMMAND_AGENT_STANDALONE);
|
|
16
|
+
commandAgentStandalone.option('-i, --id <id>', texts_1.OPTION_AGENT_ID);
|
|
17
|
+
commandAgentStandalone.option('-t, --token <token>', texts_1.OPTION_AGENT_TOKEN);
|
|
18
|
+
commandAgentStandalone.option('-p, --port <port>', texts_1.OPTION_AGENT_PORT, '7456');
|
|
19
|
+
commandAgentStandalone.option('--target', texts_1.OPTION_AGENT_TARGET);
|
|
20
|
+
commandAgentStandalone.addCommand(kill_1.default);
|
|
21
|
+
commandAgentStandalone.action(async (options) => {
|
|
22
|
+
const hasAdminRights = await manager_1.default.system.hasAdminRights();
|
|
23
|
+
if (!hasAdminRights) {
|
|
24
|
+
output_1.default.exitError(texts_1.ERR_AGENT_ADMIN_RIGHTS);
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_PROC_CHECKING);
|
|
28
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_PROC_CHECKING, false);
|
|
29
|
+
manager_1.default.system.killStandaloneProc();
|
|
30
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_PROC_CHECKED);
|
|
31
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_PROC_CHECKED);
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_PROC_ERROR);
|
|
35
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_PROC_ERROR);
|
|
36
|
+
logger_1.default.error(err);
|
|
37
|
+
output_1.default.exitError(err);
|
|
38
|
+
}
|
|
39
|
+
const isEnabled = await manager_1.default.system.isEnabled();
|
|
40
|
+
if (isEnabled) {
|
|
41
|
+
output_1.default.exitError(texts_1.ERR_AGENT_STANDALONE_SERVICE_INSTALLED);
|
|
42
|
+
}
|
|
43
|
+
let id;
|
|
44
|
+
let host;
|
|
45
|
+
let token;
|
|
46
|
+
let port;
|
|
47
|
+
try {
|
|
48
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_CONFIG_CHECKING);
|
|
49
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_CONFIG_CHECKING, false);
|
|
50
|
+
const json = manager_1.default.system.loadSystemConfig();
|
|
51
|
+
id = json.id;
|
|
52
|
+
host = json.host;
|
|
53
|
+
token = json.token;
|
|
54
|
+
port = json.port;
|
|
55
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_CONFIG_FOUND);
|
|
56
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_CONFIG_FOUND);
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_CONFIG_NOT_FOUND);
|
|
60
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_CONFIG_NOT_FOUND);
|
|
61
|
+
}
|
|
62
|
+
if (!port) {
|
|
63
|
+
port = input_1.default.port(options.port);
|
|
64
|
+
}
|
|
65
|
+
if (!id && options.id) {
|
|
66
|
+
id = options.id;
|
|
67
|
+
logger_1.default.info((0, texts_1.TXT_AGENT_STANDALONE_USING_AGENT)(id));
|
|
68
|
+
output_1.default.normal((0, texts_1.TXT_AGENT_STANDALONE_USING_AGENT)(id));
|
|
69
|
+
}
|
|
70
|
+
if (!token) {
|
|
71
|
+
token = options.token;
|
|
72
|
+
}
|
|
73
|
+
if (!id) {
|
|
74
|
+
if (token)
|
|
75
|
+
cfg_1.default.setToken(token);
|
|
76
|
+
host = cfg_1.default.getTokenHost();
|
|
77
|
+
try {
|
|
78
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_REGISTERING, false);
|
|
79
|
+
const agent = await buddy_1.default.register(true, !!options.target, host, cfg_1.default.getToken(), (region) => {
|
|
80
|
+
cfg_1.default.setRegionIfNotSet(region);
|
|
81
|
+
});
|
|
82
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_AGENT_REGISTERED);
|
|
83
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_REGISTERED);
|
|
84
|
+
id = agent.id;
|
|
85
|
+
token = agent.token;
|
|
86
|
+
agent.destroy();
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_AGENT_REGISTER_ERROR);
|
|
90
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_REGISTER_ERROR);
|
|
91
|
+
logger_1.default.error(err);
|
|
92
|
+
output_1.default.exitError(err);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
if (!host) {
|
|
97
|
+
host = cfg_1.default.getTokenHost();
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCHING);
|
|
101
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCHING, false);
|
|
102
|
+
const agent = await buddy_1.default.fetchAgent(id, host, token);
|
|
103
|
+
agent.destroy();
|
|
104
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCHED);
|
|
105
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCHED);
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCH_ERROR);
|
|
109
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCH_ERROR);
|
|
110
|
+
logger_1.default.error(err);
|
|
111
|
+
output_1.default.exitError(err);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
let saved = manager_1.default.system.saveSystemConfig(id, host, token, port);
|
|
115
|
+
if (!saved) {
|
|
116
|
+
output_1.default.exitError(texts_1.ERR_SWW_AGENT_ENABLING);
|
|
117
|
+
}
|
|
118
|
+
saved = manager_1.default.system.saveStandaloneProcConfig();
|
|
119
|
+
if (!saved) {
|
|
120
|
+
output_1.default.exitError(texts_1.ERR_SWW_AGENT_ENABLING);
|
|
121
|
+
}
|
|
122
|
+
logger_1.default.changeRootPath(manager_1.default.system.getNewAgentConfigDir());
|
|
123
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_STARTED);
|
|
124
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_STARTED);
|
|
125
|
+
process.on('SIGINT', onExit);
|
|
126
|
+
process.on('SIGTERM', onExit);
|
|
127
|
+
process.on('SIGQUIT', onExit);
|
|
128
|
+
manager_1.default.start(id, host, token, port, true, true);
|
|
129
|
+
});
|
|
130
|
+
const onExit = () => {
|
|
131
|
+
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_EXITING);
|
|
132
|
+
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_EXITING);
|
|
133
|
+
manager_1.default.system.clearStandaloneProcConfig();
|
|
134
|
+
process.exit(0);
|
|
135
|
+
};
|
|
136
|
+
exports.default = commandAgentStandalone;
|
|
@@ -5,24 +5,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const output_1 = __importDefault(require("../../output"));
|
|
7
7
|
const texts_1 = require("../../texts");
|
|
8
|
-
const agent_1 = __importDefault(require("../../tunnel/api/agent"));
|
|
9
|
-
const texts_2 = require("../../texts");
|
|
10
8
|
const manager_1 = __importDefault(require("../../agent/manager"));
|
|
11
9
|
const utils_1 = require("../../utils");
|
|
10
|
+
const logger_1 = __importDefault(require("../../logger"));
|
|
12
11
|
const commandAgentStart = (0, utils_1.newCommand)('start', texts_1.DESC_COMMAND_AGENT_START);
|
|
13
12
|
commandAgentStart.action(async () => {
|
|
14
|
-
const
|
|
15
|
-
if (!
|
|
16
|
-
output_1.default.exitError(
|
|
13
|
+
const hasAdminRights = await manager_1.default.system.hasAdminRights();
|
|
14
|
+
if (!hasAdminRights) {
|
|
15
|
+
output_1.default.exitError(texts_1.ERR_AGENT_ADMIN_RIGHTS);
|
|
17
16
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const api = new agent_1.default(json.port);
|
|
21
|
-
await api.startAgent();
|
|
22
|
-
output_1.default.exitSuccess(texts_1.TXT_AGENT_STARTED);
|
|
17
|
+
if (!commandAgentStart.agentInstalled) {
|
|
18
|
+
output_1.default.exitError(texts_1.ERR_AGENT_NOT_INSTALLED);
|
|
23
19
|
}
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
if (commandAgentStart.agentStandalone) {
|
|
21
|
+
await manager_1.default.system.killStandaloneProc();
|
|
22
|
+
manager_1.default.system.startStandaloneProc();
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
try {
|
|
26
|
+
await manager_1.default.system.start();
|
|
27
|
+
output_1.default.exitSuccess(texts_1.TXT_AGENT_STARTED);
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
logger_1.default.error(err);
|
|
31
|
+
output_1.default.exitError(err);
|
|
32
|
+
}
|
|
26
33
|
}
|
|
27
34
|
});
|
|
28
35
|
exports.default = commandAgentStart;
|
|
@@ -6,29 +6,56 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const output_1 = __importDefault(require("../../output"));
|
|
7
7
|
const texts_1 = require("../../texts");
|
|
8
8
|
const utils_1 = require("../../utils");
|
|
9
|
-
const manager_1 = __importDefault(require("../../agent/manager"));
|
|
10
9
|
const tunnel_1 = require("../../types/tunnel");
|
|
11
10
|
const commandAgentStatus = (0, utils_1.newCommand)('status', texts_1.DESC_COMMAND_AGENT_STATUS);
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
output_1.default.exitError(texts_1.ERR_AGENT_NOT_ENABLED);
|
|
16
|
-
}
|
|
17
|
-
if (!commandAgentStatus.agentStatus) {
|
|
18
|
-
output_1.default.exitError(texts_1.ERR_AGENT_NOT_RUNNING);
|
|
11
|
+
const outputStatus = (installed, standalone, version, id, running, enabled, target, status) => {
|
|
12
|
+
if (!installed) {
|
|
13
|
+
output_1.default.exitError(texts_1.ERR_AGENT_NOT_INSTALLED);
|
|
19
14
|
}
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
let txt = 'Installation: ';
|
|
16
|
+
if (standalone)
|
|
17
|
+
txt += 'App @ ';
|
|
18
|
+
else
|
|
19
|
+
txt += 'Service @ ';
|
|
20
|
+
if (version)
|
|
21
|
+
txt += `${version} / `;
|
|
22
|
+
txt += `${id}`;
|
|
23
|
+
output_1.default.normal(txt);
|
|
24
|
+
output_1.default.normal('Status: ', false);
|
|
25
|
+
if (running)
|
|
26
|
+
output_1.default.green('Running', false);
|
|
27
|
+
else
|
|
28
|
+
output_1.default.error('Stopped', false);
|
|
29
|
+
output_1.default.normal(', ', false);
|
|
30
|
+
if (enabled) {
|
|
31
|
+
output_1.default.green('enabled');
|
|
32
|
+
let msg = 'Enabled: Tunnels';
|
|
33
|
+
if (target)
|
|
34
|
+
msg += ', Target, Proxy for targets';
|
|
35
|
+
output_1.default.normal(msg);
|
|
22
36
|
}
|
|
23
|
-
|
|
24
|
-
output_1.default.
|
|
37
|
+
else {
|
|
38
|
+
output_1.default.error('disabled');
|
|
25
39
|
}
|
|
26
|
-
if (
|
|
27
|
-
output_1.default.
|
|
40
|
+
if (status === tunnel_1.TUNNEL_AGENT_STATUS.FETCH_FAILED) {
|
|
41
|
+
output_1.default.normal('Problems: ');
|
|
42
|
+
output_1.default.error(status);
|
|
28
43
|
}
|
|
29
|
-
|
|
30
|
-
|
|
44
|
+
process.exit(0);
|
|
45
|
+
};
|
|
46
|
+
commandAgentStatus.action(async () => {
|
|
47
|
+
let version = '';
|
|
48
|
+
const id = commandAgentStatus.agentId;
|
|
49
|
+
const running = !!commandAgentStatus.agentStatus;
|
|
50
|
+
let enabled = true;
|
|
51
|
+
let target = false;
|
|
52
|
+
let status = tunnel_1.TUNNEL_AGENT_STATUS.DISABLED;
|
|
53
|
+
if (commandAgentStatus.agentStatus) {
|
|
54
|
+
version = commandAgentStatus.agentStatus.version;
|
|
55
|
+
enabled = commandAgentStatus.agentStatus.enabled;
|
|
56
|
+
status = commandAgentStatus.agentStatus.status;
|
|
57
|
+
target = commandAgentStatus.agentStatus.target;
|
|
31
58
|
}
|
|
32
|
-
|
|
59
|
+
outputStatus(!!commandAgentStatus.agentInstalled, !!commandAgentStatus.agentStandalone, version, id, running, enabled, target, status);
|
|
33
60
|
});
|
|
34
61
|
exports.default = commandAgentStatus;
|
|
@@ -6,23 +6,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const utils_1 = require("../../utils");
|
|
7
7
|
const texts_1 = require("../../texts");
|
|
8
8
|
const manager_1 = __importDefault(require("../../agent/manager"));
|
|
9
|
-
const agent_1 = __importDefault(require("../../tunnel/api/agent"));
|
|
10
|
-
const texts_2 = require("../../texts");
|
|
11
9
|
const output_1 = __importDefault(require("../../output"));
|
|
12
|
-
const
|
|
10
|
+
const logger_1 = __importDefault(require("../../logger"));
|
|
11
|
+
const commandAgentStop = (0, utils_1.newCommand)('stop', texts_1.DESC_COMMAND_AGENT_STOP);
|
|
13
12
|
commandAgentStop.action(async () => {
|
|
14
|
-
const
|
|
15
|
-
if (!
|
|
16
|
-
output_1.default.exitError(texts_1.
|
|
13
|
+
const hasAdminRights = await manager_1.default.system.hasAdminRights();
|
|
14
|
+
if (!hasAdminRights) {
|
|
15
|
+
output_1.default.exitError(texts_1.ERR_AGENT_ADMIN_RIGHTS);
|
|
17
16
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const api = new agent_1.default(json.port);
|
|
21
|
-
await api.stopAgent();
|
|
22
|
-
output_1.default.exitSuccess(texts_2.TXT_AGENT_STOPPED);
|
|
17
|
+
if (!commandAgentStop.agentInstalled) {
|
|
18
|
+
output_1.default.exitError(texts_1.ERR_AGENT_NOT_INSTALLED);
|
|
23
19
|
}
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
if (commandAgentStop.agentStandalone) {
|
|
21
|
+
await manager_1.default.system.killStandaloneProc();
|
|
22
|
+
output_1.default.exitSuccess(texts_1.TXT_AGENT_STOPPED);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
try {
|
|
26
|
+
await manager_1.default.system.stop();
|
|
27
|
+
output_1.default.exitSuccess(texts_1.TXT_AGENT_STOPPED);
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
logger_1.default.error(err);
|
|
31
|
+
output_1.default.exitError(err);
|
|
32
|
+
}
|
|
26
33
|
}
|
|
27
34
|
});
|
|
28
35
|
exports.default = commandAgentStop;
|
|
@@ -5,18 +5,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const utils_1 = require("../../../utils");
|
|
7
7
|
const texts_1 = require("../../../texts");
|
|
8
|
-
const manager_1 = __importDefault(require("../../../agent/manager"));
|
|
9
8
|
const output_1 = __importDefault(require("../../../output"));
|
|
10
9
|
const agent_1 = __importDefault(require("../../../tunnel/api/agent"));
|
|
11
10
|
const commandAgentTargetDisable = (0, utils_1.newCommand)('disable', texts_1.DESC_COMMAND_AGENT_TARGET_DISABLE);
|
|
12
11
|
commandAgentTargetDisable.action(async () => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
if (!commandAgentTargetDisable.agentInstalled) {
|
|
13
|
+
output_1.default.exitError(texts_1.ERR_AGENT_NOT_INSTALLED);
|
|
14
|
+
}
|
|
15
|
+
if (!commandAgentTargetDisable.agentStatus) {
|
|
16
|
+
output_1.default.exitError(texts_1.ERR_AGENT_NOT_RUNNING);
|
|
16
17
|
}
|
|
17
18
|
try {
|
|
18
|
-
const
|
|
19
|
-
const api = new agent_1.default(json.port);
|
|
19
|
+
const api = new agent_1.default(commandAgentTargetDisable.agentPort || 0);
|
|
20
20
|
await api.disableAgentTarget();
|
|
21
21
|
output_1.default.exitSuccess(texts_1.TXT_AGENT_TARGET_DISABLED);
|
|
22
22
|
}
|
|
@@ -5,18 +5,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const utils_1 = require("../../../utils");
|
|
7
7
|
const texts_1 = require("../../../texts");
|
|
8
|
-
const manager_1 = __importDefault(require("../../../agent/manager"));
|
|
9
8
|
const output_1 = __importDefault(require("../../../output"));
|
|
10
9
|
const agent_1 = __importDefault(require("../../../tunnel/api/agent"));
|
|
11
10
|
const commandAgentTargetEnable = (0, utils_1.newCommand)('enable', texts_1.DESC_COMMAND_AGENT_TARGET_ENABLE);
|
|
12
11
|
commandAgentTargetEnable.action(async () => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
if (!commandAgentTargetEnable.agentInstalled) {
|
|
13
|
+
output_1.default.exitError(texts_1.ERR_AGENT_NOT_INSTALLED);
|
|
14
|
+
}
|
|
15
|
+
if (!commandAgentTargetEnable.agentStatus) {
|
|
16
|
+
output_1.default.exitError(texts_1.ERR_AGENT_NOT_RUNNING);
|
|
16
17
|
}
|
|
17
18
|
try {
|
|
18
|
-
const
|
|
19
|
-
const api = new agent_1.default(json.port);
|
|
19
|
+
const api = new agent_1.default(commandAgentTargetEnable.agentPort || 0);
|
|
20
20
|
await api.enableAgentTarget();
|
|
21
21
|
output_1.default.exitSuccess(texts_1.TXT_AGENT_TARGET_ENABLED);
|
|
22
22
|
}
|
|
@@ -5,18 +5,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const utils_1 = require("../../../utils");
|
|
7
7
|
const texts_1 = require("../../../texts");
|
|
8
|
-
const manager_1 = __importDefault(require("../../../agent/manager"));
|
|
9
8
|
const output_1 = __importDefault(require("../../../output"));
|
|
10
9
|
const agent_1 = __importDefault(require("../../../tunnel/api/agent"));
|
|
11
10
|
const commandAgentTargetStatus = (0, utils_1.newCommand)('status', texts_1.DESC_COMMAND_AGENT_TARGET_STATUS);
|
|
12
11
|
commandAgentTargetStatus.action(async () => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
if (!commandAgentTargetStatus.agentInstalled) {
|
|
13
|
+
output_1.default.exitError(texts_1.ERR_AGENT_NOT_INSTALLED);
|
|
14
|
+
}
|
|
15
|
+
if (!commandAgentTargetStatus.agentStatus) {
|
|
16
|
+
output_1.default.exitError(texts_1.ERR_AGENT_NOT_RUNNING);
|
|
16
17
|
}
|
|
17
18
|
try {
|
|
18
|
-
const
|
|
19
|
-
const api = new agent_1.default(json.port);
|
|
19
|
+
const api = new agent_1.default(commandAgentTargetStatus.agentPort || 0);
|
|
20
20
|
const data = await api.fetchAgentTarget();
|
|
21
21
|
if (data.target) {
|
|
22
22
|
output_1.default.exitSuccess(texts_1.TXT_AGENT_TARGET_ENABLED);
|
|
@@ -8,7 +8,6 @@ const output_1 = __importDefault(require("../../../output"));
|
|
|
8
8
|
const cfg_1 = __importDefault(require("../../../tunnel/cfg"));
|
|
9
9
|
const texts_1 = require("../../../texts");
|
|
10
10
|
const tunnel_1 = __importDefault(require("../../../agent/socket/tunnel"));
|
|
11
|
-
const manager_1 = __importDefault(require("../../../agent/manager"));
|
|
12
11
|
const agent_1 = __importDefault(require("../../../tunnel/api/agent"));
|
|
13
12
|
const tunnel_2 = require("../../../types/tunnel");
|
|
14
13
|
const commandAgentTunnelHttp = (0, utils_1.getBasicCommandHttp)();
|
|
@@ -16,15 +15,16 @@ commandAgentTunnelHttp.description(texts_1.DESC_COMMAND_HTTP);
|
|
|
16
15
|
commandAgentTunnelHttp.option('-f, --follow', texts_1.OPTION_FOLLOW);
|
|
17
16
|
commandAgentTunnelHttp.argument('[protocol://host:port]', texts_1.OPTION_TARGET);
|
|
18
17
|
commandAgentTunnelHttp.action(async (target, options) => {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
if (!commandAgentTunnelHttp.agentInstalled) {
|
|
19
|
+
output_1.default.exitError(texts_1.ERR_AGENT_NOT_INSTALLED);
|
|
20
|
+
}
|
|
21
|
+
if (!commandAgentTunnelHttp.agentStatus) {
|
|
22
|
+
output_1.default.exitError(texts_1.ERR_AGENT_NOT_RUNNING);
|
|
22
23
|
}
|
|
23
24
|
const prepared = await cfg_1.default.prepareTunnel(tunnel_2.TUNNEL_TYPE.HTTP, target, options, true);
|
|
24
25
|
try {
|
|
25
26
|
await output_1.default.spinner(texts_1.TXT_OPENING_TUNNEL);
|
|
26
|
-
const
|
|
27
|
-
const api = new agent_1.default(json.port);
|
|
27
|
+
const api = new agent_1.default(commandAgentTunnelHttp.agentPort || 0);
|
|
28
28
|
const data = await api.addTunnel(prepared);
|
|
29
29
|
if (options.follow) {
|
|
30
30
|
const ws = await api.socketTunnel(data.id);
|