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.
Files changed (47) hide show
  1. package/distTs/package.json +1 -1
  2. package/distTs/src/agent/agent.js +28 -56
  3. package/distTs/src/agent/linux.js +22 -23
  4. package/distTs/src/agent/manager.js +12 -105
  5. package/distTs/src/agent/osx.js +22 -27
  6. package/distTs/src/agent/socket/client.js +4 -4
  7. package/distTs/src/agent/system.js +89 -21
  8. package/distTs/src/agent/windows.js +21 -32
  9. package/distTs/src/api/client.js +25 -101
  10. package/distTs/src/command/agent/debug.js +10 -3
  11. package/distTs/src/command/agent/disable.js +6 -6
  12. package/distTs/src/command/agent/enable.js +6 -6
  13. package/distTs/src/command/agent/install.js +106 -27
  14. package/distTs/src/command/agent/restart.js +21 -11
  15. package/distTs/src/command/agent/run.js +1 -1
  16. package/distTs/src/command/agent/standalone/kill.js +22 -0
  17. package/distTs/src/command/agent/standalone.js +136 -0
  18. package/distTs/src/command/agent/start.js +19 -12
  19. package/distTs/src/command/agent/status.js +44 -17
  20. package/distTs/src/command/agent/stop.js +20 -13
  21. package/distTs/src/command/agent/target/disable.js +6 -6
  22. package/distTs/src/command/agent/target/enable.js +6 -6
  23. package/distTs/src/command/agent/target/status.js +6 -6
  24. package/distTs/src/command/agent/tunnel/http.js +6 -6
  25. package/distTs/src/command/agent/tunnel/list.js +6 -6
  26. package/distTs/src/command/agent/tunnel/remove.js +6 -6
  27. package/distTs/src/command/agent/tunnel/start.js +7 -7
  28. package/distTs/src/command/agent/tunnel/status.js +6 -6
  29. package/distTs/src/command/agent/tunnel/tcp.js +6 -6
  30. package/distTs/src/command/agent/tunnel/tls.js +6 -6
  31. package/distTs/src/command/agent/uninstall.js +2 -2
  32. package/distTs/src/command/agent/update.js +19 -17
  33. package/distTs/src/command/agent/version.js +3 -5
  34. package/distTs/src/command/agent.js +0 -4
  35. package/distTs/src/command/pipeline/run.js +3 -3
  36. package/distTs/src/command/pre.js +10 -2
  37. package/distTs/src/command/vt/scrap.js +193 -0
  38. package/distTs/src/index.js +0 -2
  39. package/distTs/src/input.js +1 -24
  40. package/distTs/src/output.js +16 -4
  41. package/distTs/src/texts.js +22 -85
  42. package/distTs/src/tunnel/api/agent.js +0 -9
  43. package/distTs/src/types/tunnel.js +0 -3
  44. package/package.json +1 -1
  45. package/distTs/src/command/package/download.js +0 -259
  46. package/distTs/src/command/package/publish.js +0 -231
  47. 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.disable();
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 commandAgentInstall = (0, utils_1.newCommand)('install', texts_1.DESC_COMMAND_AGENT_INSTALL);
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.enable(id, host, token, port, !!options.start, options.user, options.pass, !!options.debug);
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
- const api = new agent_1.default(port);
124
- await (0, wait_1.default)(api, 15000, () => {
125
- removeAllAndExit(texts_1.ERR_SWW_AGENT_ENABLING, id, host, token);
126
- }, () => {
127
- output_1.default.exitSuccess(texts_1.TXT_AGENT_ENABLED);
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 isEnabled = await manager_1.default.system.isEnabled();
14
- if (!isEnabled) {
15
- output_1.default.exitError(texts_1.ERR_AGENT_NOT_ENABLED);
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
- try {
18
- const json = manager_1.default.system.loadSystemConfig();
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
- catch (err) {
24
- output_1.default.exitError(err);
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), String(options.start) === 'true');
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 isEnabled = await manager_1.default.system.isEnabled();
15
- if (!isEnabled) {
16
- output_1.default.exitError(texts_2.ERR_AGENT_NOT_ENABLED);
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
- try {
19
- const json = manager_1.default.system.loadSystemConfig();
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
- catch (err) {
25
- output_1.default.exitError(err);
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
- commandAgentStatus.action(async () => {
13
- const isEnabled = await manager_1.default.system.isEnabled();
14
- if (!isEnabled) {
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
- if (commandAgentStatus.agentStatus.status === tunnel_1.TUNNEL_AGENT_STATUS.INITIALIZING) {
21
- output_1.default.exitError(texts_1.TXT_AGENT_IS_ENABLED_AND_INITIALIZING);
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
- if (commandAgentStatus.agentStatus.status === tunnel_1.TUNNEL_AGENT_STATUS.FETCH_FAILED) {
24
- output_1.default.exitError(texts_1.TXT_AGENT_IS_ENABLED_AND_HAVE_TROUBLES);
37
+ else {
38
+ output_1.default.error('disabled');
25
39
  }
26
- if (commandAgentStatus.agentStatus.status !== tunnel_1.TUNNEL_AGENT_STATUS.ENABLED) {
27
- output_1.default.exitError(texts_1.TXT_AGENT_IS_DISABLED);
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
- if (commandAgentStatus.agentStatus.started) {
30
- output_1.default.exitSuccess(texts_1.TXT_AGENT_IS_ENABLED_AND_STARTED);
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
- output_1.default.exitError(texts_1.TXT_AGENT_IS_ENABLED_AND_STOPPED);
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 commandAgentStop = (0, utils_1.newCommand)('stop', texts_2.DESC_COMMAND_AGENT_STOP);
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 isEnabled = await manager_1.default.system.isEnabled();
15
- if (!isEnabled) {
16
- output_1.default.exitError(texts_1.ERR_AGENT_NOT_ENABLED);
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
- try {
19
- const json = manager_1.default.system.loadSystemConfig();
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
- catch (err) {
25
- output_1.default.exitError(err);
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
- const isEnabled = await manager_1.default.system.isEnabled();
14
- if (!isEnabled) {
15
- output_1.default.exitError(texts_1.ERR_AGENT_NOT_ENABLED);
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 json = manager_1.default.system.loadSystemConfig();
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
- const isEnabled = await manager_1.default.system.isEnabled();
14
- if (!isEnabled) {
15
- output_1.default.exitError(texts_1.ERR_AGENT_NOT_ENABLED);
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 json = manager_1.default.system.loadSystemConfig();
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
- const isEnabled = await manager_1.default.system.isEnabled();
14
- if (!isEnabled) {
15
- output_1.default.exitError(texts_1.ERR_AGENT_NOT_ENABLED);
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 json = manager_1.default.system.loadSystemConfig();
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
- const isEnabled = await manager_1.default.system.isEnabled();
20
- if (!isEnabled) {
21
- output_1.default.exitError(texts_1.ERR_AGENT_NOT_ENABLED);
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 json = manager_1.default.system.loadSystemConfig();
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);