bdy 1.12.8-dev → 1.12.8-dev-pipeline-run

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 (156) hide show
  1. package/distTs/package.json +1 -1
  2. package/package.json +1 -1
  3. package/distTs/bin/cli.js +0 -5
  4. package/distTs/src/agent/agent.js +0 -328
  5. package/distTs/src/agent/linux.js +0 -124
  6. package/distTs/src/agent/manager.js +0 -519
  7. package/distTs/src/agent/osx.js +0 -146
  8. package/distTs/src/agent/socket/client.js +0 -178
  9. package/distTs/src/agent/socket/tunnel.js +0 -237
  10. package/distTs/src/agent/socket.js +0 -242
  11. package/distTs/src/agent/system.js +0 -179
  12. package/distTs/src/agent/wait.js +0 -23
  13. package/distTs/src/agent/windows.js +0 -159
  14. package/distTs/src/agent.js +0 -302
  15. package/distTs/src/api/agent.js +0 -99
  16. package/distTs/src/api/buddy.js +0 -139
  17. package/distTs/src/api/socket.js +0 -159
  18. package/distTs/src/cfg.js +0 -234
  19. package/distTs/src/command/agent/disable.js +0 -27
  20. package/distTs/src/command/agent/enable.js +0 -27
  21. package/distTs/src/command/agent/install.js +0 -117
  22. package/distTs/src/command/agent/restart.js +0 -27
  23. package/distTs/src/command/agent/run.js +0 -19
  24. package/distTs/src/command/agent/start.js +0 -28
  25. package/distTs/src/command/agent/status.js +0 -34
  26. package/distTs/src/command/agent/stop.js +0 -28
  27. package/distTs/src/command/agent/target/disable.js +0 -27
  28. package/distTs/src/command/agent/target/enable.js +0 -27
  29. package/distTs/src/command/agent/target/status.js +0 -32
  30. package/distTs/src/command/agent/target.js +0 -15
  31. package/distTs/src/command/agent/tunnel/http.js +0 -43
  32. package/distTs/src/command/agent/tunnel/list.js +0 -27
  33. package/distTs/src/command/agent/tunnel/remove.js +0 -28
  34. package/distTs/src/command/agent/tunnel/start.js +0 -34
  35. package/distTs/src/command/agent/tunnel/status.js +0 -31
  36. package/distTs/src/command/agent/tunnel/tcp.js +0 -43
  37. package/distTs/src/command/agent/tunnel/tls.js +0 -43
  38. package/distTs/src/command/agent/tunnel.js +0 -23
  39. package/distTs/src/command/agent/uninstall.js +0 -44
  40. package/distTs/src/command/agent/update.js +0 -38
  41. package/distTs/src/command/agent/version.js +0 -21
  42. package/distTs/src/command/agent.js +0 -35
  43. package/distTs/src/command/config/add/http.js +0 -25
  44. package/distTs/src/command/config/add/tcp.js +0 -25
  45. package/distTs/src/command/config/add/tls.js +0 -25
  46. package/distTs/src/command/config/add.js +0 -15
  47. package/distTs/src/command/config/get/region.js +0 -15
  48. package/distTs/src/command/config/get/timeout.js +0 -15
  49. package/distTs/src/command/config/get/token.js +0 -15
  50. package/distTs/src/command/config/get/tunnel.js +0 -19
  51. package/distTs/src/command/config/get/tunnels.js +0 -15
  52. package/distTs/src/command/config/get/whitelist.js +0 -15
  53. package/distTs/src/command/config/get.js +0 -21
  54. package/distTs/src/command/config/remove/tunnel.js +0 -19
  55. package/distTs/src/command/config/remove.js +0 -11
  56. package/distTs/src/command/config/set/region.js +0 -17
  57. package/distTs/src/command/config/set/timeout.js +0 -17
  58. package/distTs/src/command/config/set/token.js +0 -16
  59. package/distTs/src/command/config/set/whitelist.js +0 -17
  60. package/distTs/src/command/config/set.js +0 -17
  61. package/distTs/src/command/config.js +0 -17
  62. package/distTs/src/command/http.js +0 -30
  63. package/distTs/src/command/pre.js +0 -49
  64. package/distTs/src/command/start.js +0 -28
  65. package/distTs/src/command/tcp.js +0 -30
  66. package/distTs/src/command/tls.js +0 -30
  67. package/distTs/src/command/tunnel/config.js +0 -17
  68. package/distTs/src/command/tunnel/http.js +0 -31
  69. package/distTs/src/command/tunnel/start.js +0 -28
  70. package/distTs/src/command/tunnel/tcp.js +0 -30
  71. package/distTs/src/command/tunnel/tls.js +0 -30
  72. package/distTs/src/command/tunnel.js +0 -19
  73. package/distTs/src/command/ut/upload.js +0 -108
  74. package/distTs/src/command/ut.js +0 -12
  75. package/distTs/src/command/version.js +0 -13
  76. package/distTs/src/command/vt/close.js +0 -27
  77. package/distTs/src/command/vt/compare/validation.js +0 -173
  78. package/distTs/src/command/vt/compare.js +0 -97
  79. package/distTs/src/command/vt/exec.js +0 -81
  80. package/distTs/src/command/vt/installBrowser.js +0 -20
  81. package/distTs/src/command/vt/scrap.js +0 -193
  82. package/distTs/src/command/vt/storybook.js +0 -92
  83. package/distTs/src/command/vt.js +0 -22
  84. package/distTs/src/format.js +0 -174
  85. package/distTs/src/index.js +0 -34
  86. package/distTs/src/input.js +0 -270
  87. package/distTs/src/logger.js +0 -95
  88. package/distTs/src/output/interactive/tunnel.js +0 -860
  89. package/distTs/src/output/noninteractive/agent/tunnels.js +0 -43
  90. package/distTs/src/output/noninteractive/config/tunnel.js +0 -65
  91. package/distTs/src/output/noninteractive/config/tunnels.js +0 -18
  92. package/distTs/src/output/noninteractive/tunnel.js +0 -59
  93. package/distTs/src/output.js +0 -143
  94. package/distTs/src/server/cert.js +0 -52
  95. package/distTs/src/server/http1.js +0 -75
  96. package/distTs/src/server/http2.js +0 -78
  97. package/distTs/src/server/sftp.js +0 -497
  98. package/distTs/src/server/ssh.js +0 -446
  99. package/distTs/src/server/tls.js +0 -41
  100. package/distTs/src/ssh/client.js +0 -197
  101. package/distTs/src/texts.js +0 -421
  102. package/distTs/src/tunnel/agent.js +0 -103
  103. package/distTs/src/tunnel/api/agent.js +0 -100
  104. package/distTs/src/tunnel/api/buddy.js +0 -141
  105. package/distTs/src/tunnel/cfg.js +0 -243
  106. package/distTs/src/tunnel/compression.js +0 -44
  107. package/distTs/src/tunnel/dns.js +0 -53
  108. package/distTs/src/tunnel/html/503.html +0 -338
  109. package/distTs/src/tunnel/html.js +0 -33
  110. package/distTs/src/tunnel/http/log.js +0 -218
  111. package/distTs/src/tunnel/http/serve.js +0 -133
  112. package/distTs/src/tunnel/http/stream.js +0 -34
  113. package/distTs/src/tunnel/http.js +0 -508
  114. package/distTs/src/tunnel/identification.js +0 -103
  115. package/distTs/src/tunnel/latency.js +0 -83
  116. package/distTs/src/tunnel/output/interactive/tunnel.js +0 -867
  117. package/distTs/src/tunnel/output/noninteractive/agent/tunnels.js +0 -45
  118. package/distTs/src/tunnel/output/noninteractive/config/tunnel.js +0 -67
  119. package/distTs/src/tunnel/output/noninteractive/config/tunnels.js +0 -20
  120. package/distTs/src/tunnel/output/noninteractive/tunnel.js +0 -61
  121. package/distTs/src/tunnel/server/cert.js +0 -54
  122. package/distTs/src/tunnel/server/http1.js +0 -80
  123. package/distTs/src/tunnel/server/http2.js +0 -84
  124. package/distTs/src/tunnel/server/sftp.js +0 -514
  125. package/distTs/src/tunnel/server/ssh.js +0 -464
  126. package/distTs/src/tunnel/server/tls.js +0 -47
  127. package/distTs/src/tunnel/ssh/client.js +0 -211
  128. package/distTs/src/tunnel/tcp.js +0 -113
  129. package/distTs/src/tunnel/tunnel.js +0 -1010
  130. package/distTs/src/tunnel.js +0 -656
  131. package/distTs/src/types/ciInfo.js +0 -10
  132. package/distTs/src/types/options.js +0 -2
  133. package/distTs/src/types/plugin.js +0 -2
  134. package/distTs/src/types/queue.js +0 -2
  135. package/distTs/src/types/requests.js +0 -2
  136. package/distTs/src/types/resources.js +0 -2
  137. package/distTs/src/types/schemas.js +0 -54
  138. package/distTs/src/types/scrape.js +0 -2
  139. package/distTs/src/types/snapshots.js +0 -2
  140. package/distTs/src/types/storybook.js +0 -2
  141. package/distTs/src/types/tunnel.js +0 -141
  142. package/distTs/src/unitTest/ci.js +0 -108
  143. package/distTs/src/unitTest/requests.js +0 -72
  144. package/distTs/src/utils.js +0 -378
  145. package/distTs/src/visualTest/browser.js +0 -39
  146. package/distTs/src/visualTest/ci.js +0 -241
  147. package/distTs/src/visualTest/context.js +0 -52
  148. package/distTs/src/visualTest/exec.js +0 -51
  149. package/distTs/src/visualTest/linkUtils.js +0 -21
  150. package/distTs/src/visualTest/queue.js +0 -43
  151. package/distTs/src/visualTest/requests.js +0 -365
  152. package/distTs/src/visualTest/resources.js +0 -259
  153. package/distTs/src/visualTest/server.js +0 -109
  154. package/distTs/src/visualTest/snapshots.js +0 -129
  155. package/distTs/src/visualTest/utils/parseDom.js +0 -238
  156. package/distTs/src/visualTest/validation.js +0 -18
@@ -1,99 +0,0 @@
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 logger_js_1 = __importDefault(require("../logger.js"));
7
- const texts_js_1 = require("../texts.js");
8
- const ws_1 = require("ws");
9
- const TIMEOUT = 120000;
10
- const openSocket = (port, path) => {
11
- return new Promise((resolve, reject) => {
12
- const ws = new ws_1.WebSocket(`ws://localhost:${port}${path}`);
13
- ws.on('error', () => {
14
- reject(new Error(texts_js_1.ERR_FAILED_TO_CONNECT_TO_AGENT));
15
- });
16
- ws.on('open', () => {
17
- resolve(ws);
18
- });
19
- });
20
- };
21
- const makeRequest = async (port, path, body) => {
22
- const c = new AbortController();
23
- setTimeout(() => {
24
- c.abort();
25
- }, TIMEOUT);
26
- const response = await fetch(`http://localhost:${port}${path}`, {
27
- body: body ? JSON.stringify(body) : null,
28
- headers: { 'Content-Type': 'application/json' },
29
- method: 'POST',
30
- signal: c.signal,
31
- });
32
- if (response.status === 404) {
33
- throw new Error(texts_js_1.ERR_NOT_FOUND);
34
- }
35
- if (response.status === 400) {
36
- const data = await response.json();
37
- throw new Error(data.message);
38
- }
39
- if (response.status !== 200) {
40
- throw new Error(texts_js_1.ERR_SWW);
41
- }
42
- let data;
43
- try {
44
- data = await response.json();
45
- }
46
- catch (err) {
47
- logger_js_1.default.error(texts_js_1.LOG_ERROR);
48
- logger_js_1.default.error(err);
49
- throw new Error(texts_js_1.ERR_FAILED_TO_CONNECT_TO_AGENT);
50
- }
51
- return data;
52
- };
53
- class ApiAgent {
54
- constructor(port) {
55
- this.port = port;
56
- }
57
- async fetchStatus() {
58
- return makeRequest(this.port, '/status');
59
- }
60
- async addTunnel(data) {
61
- return makeRequest(this.port, '/tunnel/add', data);
62
- }
63
- async fetchTunnels() {
64
- return makeRequest(this.port, '/tunnels');
65
- }
66
- async fetchAgentTarget() {
67
- return makeRequest(this.port, '/target');
68
- }
69
- async enableAgentTarget() {
70
- return makeRequest(this.port, '/target/enable');
71
- }
72
- async disableAgentTarget() {
73
- return makeRequest(this.port, '/target/disable');
74
- }
75
- async stopTunnel(id) {
76
- return makeRequest(this.port, '/tunnel/stop', {
77
- id,
78
- });
79
- }
80
- async startAgent() {
81
- return makeRequest(this.port, '/agent/start');
82
- }
83
- async disableAgent() {
84
- return makeRequest(this.port, '/agent/disable');
85
- }
86
- async enableAgent() {
87
- return makeRequest(this.port, '/agent/enable');
88
- }
89
- async restartAgent() {
90
- return makeRequest(this.port, '/agent/restart');
91
- }
92
- async stopAgent() {
93
- return makeRequest(this.port, '/agent/stop');
94
- }
95
- async socketTunnel(id) {
96
- return openSocket(this.port, `/tunnel?id=${encodeURIComponent(id)}`);
97
- }
98
- }
99
- exports.default = ApiAgent;
@@ -1,139 +0,0 @@
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 https_1 = require("https");
7
- const tunnel_js_1 = __importDefault(require("../tunnel.js"));
8
- const logger_js_1 = __importDefault(require("../logger.js"));
9
- const agent_js_1 = __importDefault(require("../agent.js"));
10
- const utils_1 = require("../utils");
11
- const texts_js_1 = require("../texts.js");
12
- const TIMEOUT = 120000;
13
- const nodeFetch = (url, opts) => {
14
- return new Promise((resolve, reject) => {
15
- import('node-fetch')
16
- .then(({ default: fetch }) => {
17
- fetch(url, opts).then(resolve).catch(reject);
18
- })
19
- .catch(reject);
20
- });
21
- };
22
- const makeRequest = async (host, path, body, method = 'POST', respAsJson = true, timeout = TIMEOUT) => {
23
- let data;
24
- try {
25
- const c = new AbortController();
26
- setTimeout(() => {
27
- c.abort();
28
- }, timeout);
29
- const response = await nodeFetch(`${host}${path}`, {
30
- body: body ? JSON.stringify(body) : null,
31
- headers: body ? { 'Content-Type': 'application/json' } : null,
32
- method,
33
- signal: c.signal,
34
- agent: new https_1.Agent({
35
- rejectUnauthorized: false,
36
- }),
37
- });
38
- if (respAsJson)
39
- data = await response.json();
40
- else
41
- data = await response.text();
42
- }
43
- catch {
44
- throw new utils_1.ApiErrorFailedToConnect(host);
45
- }
46
- if (respAsJson) {
47
- if (data.code !== 200) {
48
- throw (0, utils_1.apiErrorCodeToClass)(data.result.code, host);
49
- }
50
- return data.result;
51
- }
52
- else {
53
- return data;
54
- }
55
- };
56
- class ApiBuddyClass {
57
- async register(service, target, host, token, onDefaultRegion) {
58
- const version = (0, utils_1.getVersion)();
59
- const hostname = (0, utils_1.getHostname)();
60
- const platform = (0, utils_1.getPlatform)();
61
- logger_js_1.default.info(texts_js_1.LOG_REGISTERING_AGENT);
62
- const r = await makeRequest(host, '/tunnel/agent/add', {
63
- token,
64
- version,
65
- hostname,
66
- platform,
67
- service,
68
- target,
69
- });
70
- logger_js_1.default.info((0, texts_js_1.LOG_AGENT_REGISTERED)(r.id));
71
- logger_js_1.default.info((0, texts_js_1.LOG_REGION_DETECTED)(r.region));
72
- if (onDefaultRegion)
73
- onDefaultRegion(r.region);
74
- return new agent_js_1.default(r.id, host, r.token, service, target, this, false);
75
- }
76
- async unregister(id, host, token) {
77
- logger_js_1.default.info(texts_js_1.LOG_UNREGISTERING_AGENT);
78
- await makeRequest(host, '/tunnel/agent/remove', {
79
- token,
80
- id,
81
- });
82
- return true;
83
- }
84
- async fetchAgent(id, host, token) {
85
- logger_js_1.default.info(texts_js_1.LOG_GETTING_AGENT);
86
- const r = await makeRequest(host, '/tunnel/agent/fetch', {
87
- token,
88
- id,
89
- });
90
- return new agent_js_1.default(r.id, host, token, !!r.service, !!r.target, this, !!r.disabled);
91
- }
92
- async fetchAgentKeys(id, host, token) {
93
- return await makeRequest(host, '/tunnel/agent/fetch/keys', {
94
- token,
95
- id,
96
- });
97
- }
98
- async disableTarget(agentId, host, token) {
99
- logger_js_1.default.info(texts_js_1.LOG_DISABLING_AGENT_TARGET);
100
- await makeRequest(host, '/tunnel/agent/target/disable', {
101
- agentId,
102
- token,
103
- });
104
- }
105
- async enableTarget(agentId, host, token) {
106
- logger_js_1.default.info(texts_js_1.LOG_ENABLING_AGENT_TARGET);
107
- await makeRequest(host, '/tunnel/agent/target/enable', {
108
- agentId,
109
- token,
110
- });
111
- }
112
- async addTunnel(agentId, host, token, prepared, sshHostKey) {
113
- logger_js_1.default.info(texts_js_1.LOG_REGISTERING_TUNNEL);
114
- const config = await makeRequest(host, '/tunnel/add', {
115
- ...prepared,
116
- token,
117
- agentId,
118
- });
119
- logger_js_1.default.info((0, texts_js_1.LOG_TUNNEL_REGISTERED)(config.id));
120
- return new tunnel_js_1.default({
121
- ...config,
122
- sshHostKey,
123
- agent: { id: agentId, host, token },
124
- });
125
- }
126
- async removeTunnel(agentId, tunnelId, host, token) {
127
- logger_js_1.default.info(texts_js_1.LOG_REMOVING_TUNNEL);
128
- await makeRequest(host, '/tunnel/remove', {
129
- agentId,
130
- tunnelId,
131
- token,
132
- });
133
- }
134
- async fetchMyIp() {
135
- return makeRequest('https://es.buddy.works', '/ip', null, 'GET', false);
136
- }
137
- }
138
- const ApiBuddy = new ApiBuddyClass();
139
- exports.default = ApiBuddy;
@@ -1,159 +0,0 @@
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 https_1 = require("https");
7
- const events_1 = __importDefault(require("events"));
8
- const logger_js_1 = __importDefault(require("../logger.js"));
9
- const texts_1 = require("../texts");
10
- const utils_1 = require("../utils");
11
- const socket_io_client_1 = require("socket.io-client");
12
- const MAX_REQUESTS_SYNC_WINDOW = 30000;
13
- const MAX_REQUESTS_SYNC_IN_WINDOW = 100;
14
- class ApiSocketClass extends events_1.default {
15
- fetch(activate = true, action = null, disabled = null, resetFirstHeard = false, tunnels) {
16
- this.socket.emit('fetchTunnelAgent', {
17
- id: this.id,
18
- token: this.token,
19
- hostname: this.hostname,
20
- platform: this.platform,
21
- version: this.version,
22
- activate,
23
- action,
24
- disabled,
25
- resetFirstHeard,
26
- tunnels,
27
- });
28
- }
29
- update(activate, tunnels, force = false) {
30
- const now = Date.now();
31
- // nie robimy update jak byl mniej niz 5s temu
32
- if (!force && this.lastUpdate && now - this.lastUpdate < 5000)
33
- return;
34
- this.lastUpdate = now;
35
- this.socket.emit('updateTunnelAgent', {
36
- id: this.id,
37
- token: this.token,
38
- hostname: this.hostname,
39
- platform: this.platform,
40
- version: this.version,
41
- activate,
42
- tunnels,
43
- });
44
- }
45
- emitRequest(tunnelId, logRequest) {
46
- this.socket.emit('tunnelRequest', {
47
- id: this.id,
48
- token: this.token,
49
- tunnelId,
50
- request: logRequest.toSocket(),
51
- });
52
- }
53
- request(tunnelId, logRequest) {
54
- if (this.tunnelRequests > MAX_REQUESTS_SYNC_IN_WINDOW)
55
- return;
56
- this.tunnelRequests += 1;
57
- logRequest.once(utils_1.EVENT_TUNNEL_HTTP_NEW_RESPONSE_END, () => {
58
- this.emitRequest(tunnelId, logRequest);
59
- });
60
- this.emitRequest(tunnelId, logRequest);
61
- }
62
- onSyncAgent(data, action) {
63
- this.emit(utils_1.SOCKET_IO_EVENT_AGENT, data, action);
64
- }
65
- onSyncTunnel(data, action) {
66
- this.emit(utils_1.SOCKET_IO_EVENT_TUNNEL, data, action);
67
- }
68
- onSync(data) {
69
- try {
70
- const json = JSON.parse(data);
71
- if (json.payloadType === 'TunnelAgentFront')
72
- this.onSyncAgent(json.payload, json.action);
73
- else if (json.payloadType === 'TunnelFront')
74
- this.onSyncTunnel(json.payload, json.action);
75
- }
76
- catch {
77
- // do nothing
78
- }
79
- }
80
- connect(atOnce) {
81
- logger_js_1.default.debug('socket connect');
82
- if (atOnce && this.socket && !this.socket.connected) {
83
- this.socket.connect();
84
- }
85
- else {
86
- setTimeout(() => {
87
- if (this.socket && !this.socket.connected)
88
- this.socket.connect();
89
- }, 3000);
90
- }
91
- }
92
- destroy() {
93
- if (this.socket) {
94
- this.socket.removeAllListeners();
95
- this.socket.disconnect();
96
- this.socket = null;
97
- }
98
- }
99
- constructor(host, id, token) {
100
- super();
101
- this.id = id;
102
- this.token = token;
103
- this.connected = false;
104
- this.hostname = (0, utils_1.getHostname)();
105
- this.platform = (0, utils_1.getPlatform)();
106
- this.version = (0, utils_1.getVersion)();
107
- this.lastUpdate = null;
108
- this.tunnelRequests = 0;
109
- setInterval(() => {
110
- this.tunnelRequests = 0;
111
- }, MAX_REQUESTS_SYNC_WINDOW);
112
- this.socket = (0, socket_io_client_1.io)(host, {
113
- forceNew: true,
114
- autoConnect: false,
115
- autoUnref: true,
116
- forceBase64: true,
117
- transports: ['websocket'],
118
- reconnection: false,
119
- rejectUnauthorized: false,
120
- agent: new https_1.Agent({
121
- rejectUnauthorized: false,
122
- }),
123
- maxHttpBufferSize: 3e6,
124
- extraHeaders: {
125
- cookie: 'a=b',
126
- },
127
- });
128
- this.socket.on('connect', () => {
129
- this.connected = true;
130
- logger_js_1.default.info(texts_1.LOG_SOCKET_CONNECTED);
131
- this.emit(utils_1.SOCKET_IO_EVENT_CONNECTED);
132
- this.socket.emit('joinTunnelAgent', {
133
- id: this.id,
134
- token: this.token,
135
- });
136
- });
137
- this.socket.on('disconnect', () => {
138
- this.connected = false;
139
- logger_js_1.default.info(texts_1.LOG_SOCKET_DISCONNECTED);
140
- this.emit(utils_1.SOCKET_IO_EVENT_DISCONNECTED);
141
- this.connect();
142
- });
143
- this.socket.on('connect_error', () => {
144
- logger_js_1.default.debug('socket error');
145
- this.connect();
146
- });
147
- this.socket.on('fetchTunnelAgentSuccess', (data) => {
148
- logger_js_1.default.debug('Socket fetch success');
149
- this.emit(utils_1.SOCKET_IO_EVENT_FETCH_SUCCESS, data);
150
- });
151
- this.socket.on('fetchTunnelAgentFailed', (code) => {
152
- logger_js_1.default.debug('Socket fetch failed');
153
- this.emit(utils_1.SOCKET_IO_EVENT_FETCH_FAILED, (0, utils_1.apiErrorCodeToClass)(code, host));
154
- });
155
- this.socket.on('sync', (data) => this.onSync(data));
156
- this.connect(true);
157
- }
158
- }
159
- exports.default = ApiSocketClass;
package/distTs/src/cfg.js DELETED
@@ -1,234 +0,0 @@
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 path_1 = require("path");
7
- const fs_1 = require("fs");
8
- const jsonwebtoken_1 = require("jsonwebtoken");
9
- const utils_js_1 = require("./utils.js");
10
- const input_js_1 = __importDefault(require("./input.js"));
11
- const texts_js_1 = require("./texts.js");
12
- class Cfg {
13
- constructor() {
14
- this.dir = (0, utils_js_1.getHomeDirectory)();
15
- this.file = (0, path_1.resolve)(this.dir, 'cfg.json');
16
- this.json = {};
17
- this.load();
18
- }
19
- createDir() {
20
- try {
21
- (0, fs_1.mkdirSync)(this.dir, {
22
- recursive: true,
23
- });
24
- }
25
- catch {
26
- throw new Error((0, texts_js_1.ERR_CANT_CREATE_DIR_IN_HOME)('.bdy'));
27
- }
28
- try {
29
- (0, fs_1.chmodSync)(this.dir, 0o777);
30
- }
31
- catch {
32
- // do nothing
33
- }
34
- }
35
- createEmptyFile() {
36
- try {
37
- (0, fs_1.writeFileSync)(this.file, '{}', 'utf-8');
38
- }
39
- catch {
40
- throw new Error((0, texts_js_1.ERR_CANT_CREATE_DIR_IN_HOME)('.bdy/cfg.json'));
41
- }
42
- try {
43
- (0, fs_1.chmodSync)(this.file, 0o666);
44
- }
45
- catch {
46
- // do nothing
47
- }
48
- }
49
- ensureDir() {
50
- try {
51
- (0, fs_1.statSync)(this.dir);
52
- }
53
- catch {
54
- this.createDir();
55
- }
56
- }
57
- ensureFile() {
58
- this.ensureDir();
59
- try {
60
- (0, fs_1.statSync)(this.file);
61
- }
62
- catch {
63
- this.createEmptyFile();
64
- }
65
- }
66
- ensureTunnels() {
67
- if (!this.json.tunnels)
68
- this.json.tunnels = {};
69
- }
70
- async prepareTunnel(tunnelType, target, options, useDefaults) {
71
- const type = input_js_1.default.type(tunnelType);
72
- const tunnel = {
73
- type,
74
- target: input_js_1.default.target(target, type),
75
- };
76
- if (options.region !== undefined)
77
- tunnel.region = input_js_1.default.region(options.region);
78
- else if (useDefaults)
79
- tunnel.region = this.getRegion();
80
- if (options.whitelist !== undefined)
81
- tunnel.whitelist = input_js_1.default.whitelist(options.whitelist);
82
- else if (useDefaults)
83
- tunnel.whitelist = this.getWhitelist();
84
- if (options.timeout !== undefined)
85
- tunnel.timeout = input_js_1.default.timeout(options.timeout);
86
- else if (useDefaults)
87
- tunnel.timeout = this.getTimeout();
88
- if (type === utils_js_1.TUNNEL_HTTP) {
89
- if (options.host !== undefined)
90
- tunnel.host = options.host;
91
- if (options.auth !== undefined) {
92
- const { password, login } = input_js_1.default.auth(options.auth);
93
- tunnel.login = login;
94
- tunnel.password = password;
95
- }
96
- if (options.ca !== undefined)
97
- tunnel.ca = input_js_1.default.ca(options.ca);
98
- if (options.serve !== undefined)
99
- tunnel.serve = input_js_1.default.serve(options.serve);
100
- if (options.useragent !== undefined)
101
- tunnel.useragents = input_js_1.default.useragents(options.useragent);
102
- if (options.header !== undefined)
103
- tunnel.headers = input_js_1.default.headers(options.header);
104
- if (options.responseHeader !== undefined)
105
- tunnel.responseHeaders = input_js_1.default.headers(options.responseHeader);
106
- if (options.circuitBreaker !== undefined)
107
- tunnel.circuitBreaker = input_js_1.default.circuitBreaker(options.circuitBreaker);
108
- tunnel.log = !!options.log;
109
- tunnel.verify = !!options.verify;
110
- tunnel.http2 = !!options.http2;
111
- tunnel.compression = !!options.compression;
112
- }
113
- else if (type === utils_js_1.TUNNEL_TLS) {
114
- tunnel.terminate = input_js_1.default.terminate(options.terminate);
115
- if (options.key !== undefined || options.cert !== undefined) {
116
- const { key, cert } = input_js_1.default.keyCert(options.key, options.cert);
117
- tunnel.key = key;
118
- tunnel.cert = cert;
119
- }
120
- if (options.ca !== undefined)
121
- tunnel.ca = input_js_1.default.ca(options.ca);
122
- }
123
- if (options.name !== undefined)
124
- tunnel.name = input_js_1.default.name(options.name);
125
- return tunnel;
126
- }
127
- async addTunnel(name, type, target, options) {
128
- this.ensureTunnels();
129
- this.json.tunnels[name] = await this.prepareTunnel(type, target, {
130
- name,
131
- ...options,
132
- }, false);
133
- this.save();
134
- }
135
- removeTunnel(name) {
136
- this.ensureTunnels();
137
- delete this.json.tunnels[name];
138
- this.save();
139
- }
140
- getTunnels() {
141
- this.ensureTunnels();
142
- return this.json.tunnels;
143
- }
144
- hasTunnel(name) {
145
- this.ensureTunnels();
146
- return !!this.json.tunnels[name];
147
- }
148
- getTunnel(name) {
149
- this.ensureTunnels();
150
- return this.json.tunnels[name];
151
- }
152
- setToken(token) {
153
- if (!token)
154
- delete this.json.token;
155
- else
156
- this.json.token = token;
157
- this.save();
158
- }
159
- setWhitelist(whitelist) {
160
- if (!whitelist || !whitelist.length)
161
- delete this.json.whitelist;
162
- else
163
- this.json.whitelist = whitelist;
164
- this.save();
165
- }
166
- setTimeout(timeout) {
167
- if (!timeout)
168
- delete this.json.timeout;
169
- else
170
- this.json.timeout = timeout;
171
- this.save();
172
- }
173
- getToken() {
174
- return this.json.token || '';
175
- }
176
- getTokenHost() {
177
- const token = this.getToken();
178
- if (!token) {
179
- throw new Error(texts_js_1.ERR_TOKEN_NOT_PROVIDED);
180
- }
181
- const d = (0, jsonwebtoken_1.decode)(token);
182
- if (d === null) {
183
- throw new Error(texts_js_1.ERR_WRONG_TOKEN);
184
- }
185
- if (!d.host) {
186
- throw new Error(texts_js_1.ERR_WRONG_TOKEN);
187
- }
188
- return d.host;
189
- }
190
- getRegion() {
191
- return (this.json.region || '').toUpperCase();
192
- }
193
- getTimeout() {
194
- return this.json.timeout || utils_js_1.DEFAULT_TIMEOUT;
195
- }
196
- getWhitelist() {
197
- return this.json.whitelist || [];
198
- }
199
- setRegion(region) {
200
- this.json.region = region;
201
- this.save();
202
- }
203
- setRegionIfNotSet(region) {
204
- if (!this.json.region && region)
205
- this.json.region = region.toUpperCase();
206
- this.save();
207
- }
208
- load() {
209
- this.ensureFile();
210
- try {
211
- const txt = (0, fs_1.readFileSync)(this.file, 'utf-8');
212
- this.json = JSON.parse(txt);
213
- }
214
- catch {
215
- throw new Error(texts_js_1.ERR_CONFIG_CORRUPTED);
216
- }
217
- }
218
- save() {
219
- this.ensureDir();
220
- try {
221
- (0, fs_1.writeFileSync)(this.file, JSON.stringify(this.json, null, 4), 'utf-8');
222
- }
223
- catch {
224
- throw new Error((0, texts_js_1.ERR_CANT_CREATE_DIR_IN_HOME)('.bdy/cfg.json'));
225
- }
226
- try {
227
- (0, fs_1.chmodSync)(this.file, 0o666);
228
- }
229
- catch {
230
- // do nothing
231
- }
232
- }
233
- }
234
- exports.default = new Cfg();
@@ -1,27 +0,0 @@
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 agent_1 = __importDefault(require("../../tunnel/api/agent"));
11
- const commandAgentDisable = (0, utils_1.newCommand)('disable', texts_1.DESC_COMMAND_AGENT_DISABLE);
12
- commandAgentDisable.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
- try {
18
- const json = manager_1.default.system.loadSystemConfig();
19
- const api = new agent_1.default(json.port);
20
- await api.disableAgent();
21
- output_1.default.exitSuccess(texts_1.TXT_AGENT_STOPPED);
22
- }
23
- catch (err) {
24
- output_1.default.exitError(err);
25
- }
26
- });
27
- exports.default = commandAgentDisable;
@@ -1,27 +0,0 @@
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 agent_1 = __importDefault(require("../../tunnel/api/agent"));
11
- const commandAgentEnable = (0, utils_1.newCommand)('enable', texts_1.DESC_COMMAND_AGENT_ENABLE);
12
- commandAgentEnable.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
- try {
18
- const json = manager_1.default.system.loadSystemConfig();
19
- const api = new agent_1.default(json.port);
20
- await api.enableAgent();
21
- output_1.default.exitSuccess(texts_1.TXT_AGENT_STARTED);
22
- }
23
- catch (err) {
24
- output_1.default.exitError(err);
25
- }
26
- });
27
- exports.default = commandAgentEnable;