bdy 1.13.0-stage → 1.14.1-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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bdy",
|
|
3
3
|
"preferGlobal": false,
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.14.1-dev",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"scripts": {
|
|
@@ -52,7 +52,8 @@
|
|
|
52
52
|
"uuid": "10.0.0",
|
|
53
53
|
"which": "4.0.0",
|
|
54
54
|
"ws": "8.18.0",
|
|
55
|
-
"zod": "3.24.2"
|
|
55
|
+
"zod": "3.24.2",
|
|
56
|
+
"fflate": "0.8.2"
|
|
56
57
|
},
|
|
57
58
|
"devDependencies": {
|
|
58
59
|
"@eslint/js": "9.13.0",
|
|
@@ -23,7 +23,7 @@ class AgentSocketClient extends events_1.default {
|
|
|
23
23
|
lastUpdate;
|
|
24
24
|
tunnelRequests;
|
|
25
25
|
fetch(activate = true, action = null, disabled = null, resetFirstHeard = false, tunnels) {
|
|
26
|
-
if (!this.socket)
|
|
26
|
+
if (!this.socket || !this.connected)
|
|
27
27
|
return;
|
|
28
28
|
this.socket.emit('fetchTunnelAgent', {
|
|
29
29
|
id: this.id,
|
|
@@ -39,7 +39,7 @@ class AgentSocketClient extends events_1.default {
|
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
update(activate, tunnels, force = false) {
|
|
42
|
-
if (!this.socket)
|
|
42
|
+
if (!this.socket || !this.connected)
|
|
43
43
|
return;
|
|
44
44
|
const now = Date.now();
|
|
45
45
|
// nie robimy update jak byl mniej niz 5s temu
|
|
@@ -57,7 +57,7 @@ class AgentSocketClient extends events_1.default {
|
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
emitRequest(tunnelId, logRequest) {
|
|
60
|
-
if (!this.socket)
|
|
60
|
+
if (!this.socket || !this.connected)
|
|
61
61
|
return;
|
|
62
62
|
this.socket.emit('tunnelRequest', {
|
|
63
63
|
id: this.id,
|
|
@@ -12,6 +12,7 @@ const snapshots_1 = require("../../visualTest/snapshots");
|
|
|
12
12
|
const context_1 = require("../../visualTest/context");
|
|
13
13
|
const node_fs_1 = require("node:fs");
|
|
14
14
|
const node_path_1 = __importDefault(require("node:path"));
|
|
15
|
+
const fflate_1 = require("fflate");
|
|
15
16
|
const ci_info_1 = require("@buddy-works/ci-info");
|
|
16
17
|
const commandVtStorybook = (0, utils_1.newCommand)('storybook', texts_1.DESC_COMMAND_VT_STORYBOOK);
|
|
17
18
|
commandVtStorybook.action(async () => {
|
|
@@ -33,8 +34,9 @@ commandVtStorybook.action(async () => {
|
|
|
33
34
|
});
|
|
34
35
|
(0, context_1.setCiAndCommitInfo)(ciAndGitInfo);
|
|
35
36
|
output_1.default.normal((0, ci_info_1.formattedCiInfo)(ciAndGitInfo));
|
|
37
|
+
const compressedStorybookDirectory = await createCompressedStorybookDirectory(currentDirectoryFiles);
|
|
36
38
|
try {
|
|
37
|
-
const { message } = await (0, requests_1.sendStorybook)(storybookSnapshots,
|
|
39
|
+
const { message } = await (0, requests_1.sendStorybook)(storybookSnapshots, compressedStorybookDirectory);
|
|
38
40
|
output_1.default.exitSuccess(message);
|
|
39
41
|
}
|
|
40
42
|
catch (error) {
|
|
@@ -53,6 +55,40 @@ function getCurrentDirectoryFiles() {
|
|
|
53
55
|
return stats.isFile();
|
|
54
56
|
});
|
|
55
57
|
}
|
|
58
|
+
async function createCompressedStorybookDirectory(files) {
|
|
59
|
+
const cwd = process.cwd();
|
|
60
|
+
const chunks = [];
|
|
61
|
+
return new Promise((resolve, reject) => {
|
|
62
|
+
const zipper = new fflate_1.Zip((err, data, final) => {
|
|
63
|
+
if (err) {
|
|
64
|
+
reject(err);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (data) {
|
|
68
|
+
chunks.push(data);
|
|
69
|
+
}
|
|
70
|
+
if (final) {
|
|
71
|
+
resolve(Buffer.concat(chunks));
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
for (const file of files) {
|
|
75
|
+
const filePath = node_path_1.default.join(cwd, file);
|
|
76
|
+
const zipFile = new fflate_1.AsyncZipDeflate(file, { level: 9 });
|
|
77
|
+
zipper.add(zipFile);
|
|
78
|
+
const fileStream = (0, node_fs_1.createReadStream)(filePath);
|
|
79
|
+
fileStream.on('data', (chunk) => {
|
|
80
|
+
zipFile.push(chunk, false);
|
|
81
|
+
});
|
|
82
|
+
fileStream.on('end', () => {
|
|
83
|
+
zipFile.push(new Uint8Array(0), true);
|
|
84
|
+
});
|
|
85
|
+
fileStream.on('error', (err) => {
|
|
86
|
+
reject(err);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
zipper.end();
|
|
90
|
+
});
|
|
91
|
+
}
|
|
56
92
|
function isStorybookDirectory(files) {
|
|
57
93
|
return (files.length > 0 &&
|
|
58
94
|
files.includes('index.html') &&
|
|
@@ -53,6 +53,7 @@ const log_1 = __importDefault(require("./http/log"));
|
|
|
53
53
|
const format_1 = __importDefault(require("../format"));
|
|
54
54
|
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
55
55
|
const cookie = __importStar(require("cookie"));
|
|
56
|
+
const uuid_1 = require("uuid");
|
|
56
57
|
const jsonwebtoken_1 = require("jsonwebtoken");
|
|
57
58
|
const undici_1 = require("undici");
|
|
58
59
|
const texts_1 = require("../texts");
|
|
@@ -62,6 +63,204 @@ const cfg_1 = __importDefault(require("./cfg"));
|
|
|
62
63
|
const CIPHER_ALG = 'aes-256-cbc';
|
|
63
64
|
const CIPHER_IV = Buffer.alloc(16).fill(0);
|
|
64
65
|
const COOKIE_NAME = 'jwt_token';
|
|
66
|
+
const ISSUERS = {
|
|
67
|
+
'https://stage-oidc.buddyusercontent.com': `-----BEGIN CERTIFICATE-----
|
|
68
|
+
MIIEwDCCAqgCFBDp9Im/iI4hjQTeypaLQbZZZs45MA0GCSqGSIb3DQEBCwUAMBYx
|
|
69
|
+
FDASBgNVBAMMC2J1ZGR5LndvcmtzMCAXDTIzMDIxNjA4MTMyOFoYDzIwNTMwMjA4
|
|
70
|
+
MDgxMzI4WjAhMR8wHQYDVQQDDBYqLmJ1ZGR5dXNlcmNvbnRlbnQuY29tMIICIjAN
|
|
71
|
+
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvMDTFG4ha//vRxUb/AJpnubUi4Er
|
|
72
|
+
z2TLxCNZBdHPwIqWvygvMHUmTySxMU+a05D/6yHnQiaqnXI0y7nh/ZYmkTqHs985
|
|
73
|
+
3hr5gN/kLmcujo3YtUIm93ZbPHsmaBSlvBSzS1sI8GFE2pqePTo3e/qSWtV6aQBI
|
|
74
|
+
0MTEAMKo3JokOft/9cMbdv212eo1Z7vkHvzO0IyAJ15fm4pX/to+2Xap2aG0M78K
|
|
75
|
+
zVgtYdbJAmhstsGBaYxSr15PeDE0OkirevjRXPcGfyjV501tubGk18CH/hUBO3CB
|
|
76
|
+
QOiAH2q1w8Istxus5xibpWYFHoPJiuZ1BryHHV4vnzkDS2RJ3tE+dXHAfIHIN2q0
|
|
77
|
+
AjyDir0KZPOHLxOr17JsZuAfboVgLcZpmFWnm7hfZ6GfRt77ih9IFNi0doMbHmPx
|
|
78
|
+
9B436oaFTXXQdDdMiFSDel1DyKqe+BBiGyqfg9Dvw6Qk+pS0b6q+e/XZYwG9q8K6
|
|
79
|
+
6r1A+TribcAp0bl6O5XxFRdllEwbY9vbyoRX/bB0aKzhAkoP3Cuh4oss0ueiSwZC
|
|
80
|
+
5NUIGSdHMioGjhIGLNj7hv4pZfwr5cxkwPwO43Vv25qVej+AJJwdlRNXS2MSjTQg
|
|
81
|
+
Z/sVVOXsgJHTDyP7ke388rqsgXjdoacoJkTXUdl0652wkRPl9UQ4InVfyNw24MVc
|
|
82
|
+
9ksePMYUIyW7rI8CAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAa8I0iJ8155ihutvw
|
|
83
|
+
1HEqhWbQokANxCdJ3zfdu6guTjrG9HxD7kuloB3ZyVVQsLdZlZoFfZnpMKtnFK1v
|
|
84
|
+
deDtEoayPiUI6DHURtxFHWOYM/VWJd41s3nIoilApBdESpNI6RQvb7JIXuXCDndc
|
|
85
|
+
pvuZ6U0zMnWTVFK7MVrbxqRDMO/mCTJUKIqNLmGo+6YYfhWy8y3HHdnC86CFUy+T
|
|
86
|
+
IaMuDEuqd3HvpqljgXM8o5cTCYawnQA2PKA36XiJoc+9A00EuVQw0ILQbw3aYaIX
|
|
87
|
+
/PNiq3CCyt1YIjal+zSNMxNnmNEW7H5+arxbT+I8oWDZUR+KyeZJYRjuZGzqfRGt
|
|
88
|
+
hAzRj7HKN0bU4Y97a7GyWaxzMtbunWnl8U+1TsM/9cfNgjKZxMopZCb1n/TfUDMo
|
|
89
|
+
/67xEjDS2B/LcGOWDUEExLXaxCoLtVwk7co+Z4FXmiMDmoJmrE6lbGcMD1Ys+6Td
|
|
90
|
+
el3K5ll/6obgUFZsUMPP6xV2+nFz+LThueWphs1+7s0eD3xanVijSHXS8HF87yvE
|
|
91
|
+
eiq+rBRq7FE0Eqen6spTWFpjrmdBxY5Ti0z14KKXHGJStrpC5KquegwBIj0w/wNY
|
|
92
|
+
O6+HPN73rzfhtkO+A0tAG7el3XtqI0fOXiD1xot84neFJV6/qxyvnRUamJjKCgK2
|
|
93
|
+
X1wqKx71Z3gigILDphu5m3d0RRU=
|
|
94
|
+
-----END CERTIFICATE-----`,
|
|
95
|
+
'https://stageeu-oidc.buddyusercontent.com': `-----BEGIN CERTIFICATE-----
|
|
96
|
+
MIIEwDCCAqgCFBDp9Im/iI4hjQTeypaLQbZZZs45MA0GCSqGSIb3DQEBCwUAMBYx
|
|
97
|
+
FDASBgNVBAMMC2J1ZGR5LndvcmtzMCAXDTIzMDIxNjA4MTMyOFoYDzIwNTMwMjA4
|
|
98
|
+
MDgxMzI4WjAhMR8wHQYDVQQDDBYqLmJ1ZGR5dXNlcmNvbnRlbnQuY29tMIICIjAN
|
|
99
|
+
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvMDTFG4ha//vRxUb/AJpnubUi4Er
|
|
100
|
+
z2TLxCNZBdHPwIqWvygvMHUmTySxMU+a05D/6yHnQiaqnXI0y7nh/ZYmkTqHs985
|
|
101
|
+
3hr5gN/kLmcujo3YtUIm93ZbPHsmaBSlvBSzS1sI8GFE2pqePTo3e/qSWtV6aQBI
|
|
102
|
+
0MTEAMKo3JokOft/9cMbdv212eo1Z7vkHvzO0IyAJ15fm4pX/to+2Xap2aG0M78K
|
|
103
|
+
zVgtYdbJAmhstsGBaYxSr15PeDE0OkirevjRXPcGfyjV501tubGk18CH/hUBO3CB
|
|
104
|
+
QOiAH2q1w8Istxus5xibpWYFHoPJiuZ1BryHHV4vnzkDS2RJ3tE+dXHAfIHIN2q0
|
|
105
|
+
AjyDir0KZPOHLxOr17JsZuAfboVgLcZpmFWnm7hfZ6GfRt77ih9IFNi0doMbHmPx
|
|
106
|
+
9B436oaFTXXQdDdMiFSDel1DyKqe+BBiGyqfg9Dvw6Qk+pS0b6q+e/XZYwG9q8K6
|
|
107
|
+
6r1A+TribcAp0bl6O5XxFRdllEwbY9vbyoRX/bB0aKzhAkoP3Cuh4oss0ueiSwZC
|
|
108
|
+
5NUIGSdHMioGjhIGLNj7hv4pZfwr5cxkwPwO43Vv25qVej+AJJwdlRNXS2MSjTQg
|
|
109
|
+
Z/sVVOXsgJHTDyP7ke388rqsgXjdoacoJkTXUdl0652wkRPl9UQ4InVfyNw24MVc
|
|
110
|
+
9ksePMYUIyW7rI8CAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAa8I0iJ8155ihutvw
|
|
111
|
+
1HEqhWbQokANxCdJ3zfdu6guTjrG9HxD7kuloB3ZyVVQsLdZlZoFfZnpMKtnFK1v
|
|
112
|
+
deDtEoayPiUI6DHURtxFHWOYM/VWJd41s3nIoilApBdESpNI6RQvb7JIXuXCDndc
|
|
113
|
+
pvuZ6U0zMnWTVFK7MVrbxqRDMO/mCTJUKIqNLmGo+6YYfhWy8y3HHdnC86CFUy+T
|
|
114
|
+
IaMuDEuqd3HvpqljgXM8o5cTCYawnQA2PKA36XiJoc+9A00EuVQw0ILQbw3aYaIX
|
|
115
|
+
/PNiq3CCyt1YIjal+zSNMxNnmNEW7H5+arxbT+I8oWDZUR+KyeZJYRjuZGzqfRGt
|
|
116
|
+
hAzRj7HKN0bU4Y97a7GyWaxzMtbunWnl8U+1TsM/9cfNgjKZxMopZCb1n/TfUDMo
|
|
117
|
+
/67xEjDS2B/LcGOWDUEExLXaxCoLtVwk7co+Z4FXmiMDmoJmrE6lbGcMD1Ys+6Td
|
|
118
|
+
el3K5ll/6obgUFZsUMPP6xV2+nFz+LThueWphs1+7s0eD3xanVijSHXS8HF87yvE
|
|
119
|
+
eiq+rBRq7FE0Eqen6spTWFpjrmdBxY5Ti0z14KKXHGJStrpC5KquegwBIj0w/wNY
|
|
120
|
+
O6+HPN73rzfhtkO+A0tAG7el3XtqI0fOXiD1xot84neFJV6/qxyvnRUamJjKCgK2
|
|
121
|
+
X1wqKx71Z3gigILDphu5m3d0RRU=
|
|
122
|
+
-----END CERTIFICATE-----`,
|
|
123
|
+
'https://oidc.buddyusercontent.com': `-----BEGIN CERTIFICATE-----
|
|
124
|
+
MIIEwDCCAqgCFCIRhplNpTZLH9WdAbZus4xHHjPXMA0GCSqGSIb3DQEBCwUAMBYx
|
|
125
|
+
FDASBgNVBAMMC2J1ZGR5LndvcmtzMCAXDTIzMDIxNjA4MTM1M1oYDzIwNTMwMjA4
|
|
126
|
+
MDgxMzUzWjAhMR8wHQYDVQQDDBYqLmJ1ZGR5dXNlcmNvbnRlbnQuY29tMIICIjAN
|
|
127
|
+
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuA5ulo8uVKsxLcgIDn3DtnoMdyJv
|
|
128
|
+
BHHl68b1p+SAb4OEN4SlEdl33jy2LMNwr0SS6Mh7VT9tkCUAxDpmImTdsd59qhqu
|
|
129
|
+
5oxCnE5slx5/RmV0/RgCZRjy0phmPIImsMAvBsFY6+c+fPZfxJGs+uWtXXRS1IgI
|
|
130
|
+
LO0BXSqIF2UIst+R787vynmI6UFPaD7bKaJkM79RPanjqvma+y8VvJU2isqz3bjS
|
|
131
|
+
T32842iGlwnkwzz4SfOIiVgKT8HhnZsD5YmtTMPYYghgWj1HtMxOTJ/qEuXiLWfg
|
|
132
|
+
TzqPI6Z2usnUb2lJl/EtEHILLyU4hfYr113nO3VIG6iLZahRttbelqujfWbQXS0w
|
|
133
|
+
nAGn0e4RD5OzG+bu/y4yYBoQ2kRGtFpIH4nXOw43PhKo0rALAllrpQi4p26KYqWk
|
|
134
|
+
r27BuOoZWmB2nkVm2v7vnDa6e2CpwXMaLpIFDANeSoK8Tr+RaHCp1JNMI7zYVejN
|
|
135
|
+
C9bOKL35/Q0gsxWW3BdLL/EtTrwZKGlJtovkBQdFkEmiNnK8tc4BLKDmtYFsf8HZ
|
|
136
|
+
I0jYHwVD90DP9lMJG/VFZl2xUBHKq7UjX/CLgRPc1S5QiqeHFh0kWVilcrVauaTT
|
|
137
|
+
nAX2cG41lxGSH/60zxtOAYqKIdEvvQdHVl3S1AHemENl/ngh9kt2oU5+1Csb/+jG
|
|
138
|
+
zrE5dI3ipDCUNHMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAuZCIfMcexrKHEcQM
|
|
139
|
+
otb6PXrCEOdiVq+vQuVAQCMfC9MyGcufxLY9+QhuPSVhsyZ1ffZufF6oT+HlQY4z
|
|
140
|
+
5E5CE7kTw1q9Gpu4RHEtlg7ALvpAy+Hfi2sAJy6r6Tqa5hEoi/8qQFgqTn5ooFr2
|
|
141
|
+
SkjK72dx3YkgRsV9P7O9TlteLgwd6POLmrbibvcGB9CiPSL/SmItT2vpASUxow0a
|
|
142
|
+
JiyrbBgPQFaKPocfJJ917Zur1bigdUoCK+S0vq5tOFWrm3HXDIiz5+aB5/cW9/3W
|
|
143
|
+
AXghWYdAStJH9xTIWA7dk8V4SPJjjQWhyG+GxM+oE999K4iPTOpGMjLfG/ZiLKLg
|
|
144
|
+
1Z3gO3wNP2BrhotrAxVRcynvm6552nzDos9ybiq1VPbiz8qLYThNTu/tlw2JbCXw
|
|
145
|
+
PWaM1jh8B2v5Q4NhRKnl3Zz03RtNHwAUYzZLahe47/ADb5/XC86H46NRLHZB3QIO
|
|
146
|
+
wXYcTFrCskkdoGEZwiiqUchYjvWKb9++WHkPGGBaLhAlaCZNTgGXyt8OYJSRwIfT
|
|
147
|
+
YbGYXuZMGUV3U63WZm3fOpHflQPkC9bzmK9MgFshhUlB0xk1vC1dkC2I5jOGJqa0
|
|
148
|
+
3yZghw2R+f5zGZd7TusSmm7Kk8i6mCssRG8B3R8p+6a6GQFeWtqQcUV/dcJVs9sx
|
|
149
|
+
ZbFKWzfs9+m8Y04W4PmzZM2ZAN8=
|
|
150
|
+
-----END CERTIFICATE-----`,
|
|
151
|
+
'https://eu-oidc.buddyusercontent.com': `-----BEGIN CERTIFICATE-----
|
|
152
|
+
MIIEwDCCAqgCFCIRhplNpTZLH9WdAbZus4xHHjPXMA0GCSqGSIb3DQEBCwUAMBYx
|
|
153
|
+
FDASBgNVBAMMC2J1ZGR5LndvcmtzMCAXDTIzMDIxNjA4MTM1M1oYDzIwNTMwMjA4
|
|
154
|
+
MDgxMzUzWjAhMR8wHQYDVQQDDBYqLmJ1ZGR5dXNlcmNvbnRlbnQuY29tMIICIjAN
|
|
155
|
+
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuA5ulo8uVKsxLcgIDn3DtnoMdyJv
|
|
156
|
+
BHHl68b1p+SAb4OEN4SlEdl33jy2LMNwr0SS6Mh7VT9tkCUAxDpmImTdsd59qhqu
|
|
157
|
+
5oxCnE5slx5/RmV0/RgCZRjy0phmPIImsMAvBsFY6+c+fPZfxJGs+uWtXXRS1IgI
|
|
158
|
+
LO0BXSqIF2UIst+R787vynmI6UFPaD7bKaJkM79RPanjqvma+y8VvJU2isqz3bjS
|
|
159
|
+
T32842iGlwnkwzz4SfOIiVgKT8HhnZsD5YmtTMPYYghgWj1HtMxOTJ/qEuXiLWfg
|
|
160
|
+
TzqPI6Z2usnUb2lJl/EtEHILLyU4hfYr113nO3VIG6iLZahRttbelqujfWbQXS0w
|
|
161
|
+
nAGn0e4RD5OzG+bu/y4yYBoQ2kRGtFpIH4nXOw43PhKo0rALAllrpQi4p26KYqWk
|
|
162
|
+
r27BuOoZWmB2nkVm2v7vnDa6e2CpwXMaLpIFDANeSoK8Tr+RaHCp1JNMI7zYVejN
|
|
163
|
+
C9bOKL35/Q0gsxWW3BdLL/EtTrwZKGlJtovkBQdFkEmiNnK8tc4BLKDmtYFsf8HZ
|
|
164
|
+
I0jYHwVD90DP9lMJG/VFZl2xUBHKq7UjX/CLgRPc1S5QiqeHFh0kWVilcrVauaTT
|
|
165
|
+
nAX2cG41lxGSH/60zxtOAYqKIdEvvQdHVl3S1AHemENl/ngh9kt2oU5+1Csb/+jG
|
|
166
|
+
zrE5dI3ipDCUNHMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAuZCIfMcexrKHEcQM
|
|
167
|
+
otb6PXrCEOdiVq+vQuVAQCMfC9MyGcufxLY9+QhuPSVhsyZ1ffZufF6oT+HlQY4z
|
|
168
|
+
5E5CE7kTw1q9Gpu4RHEtlg7ALvpAy+Hfi2sAJy6r6Tqa5hEoi/8qQFgqTn5ooFr2
|
|
169
|
+
SkjK72dx3YkgRsV9P7O9TlteLgwd6POLmrbibvcGB9CiPSL/SmItT2vpASUxow0a
|
|
170
|
+
JiyrbBgPQFaKPocfJJ917Zur1bigdUoCK+S0vq5tOFWrm3HXDIiz5+aB5/cW9/3W
|
|
171
|
+
AXghWYdAStJH9xTIWA7dk8V4SPJjjQWhyG+GxM+oE999K4iPTOpGMjLfG/ZiLKLg
|
|
172
|
+
1Z3gO3wNP2BrhotrAxVRcynvm6552nzDos9ybiq1VPbiz8qLYThNTu/tlw2JbCXw
|
|
173
|
+
PWaM1jh8B2v5Q4NhRKnl3Zz03RtNHwAUYzZLahe47/ADb5/XC86H46NRLHZB3QIO
|
|
174
|
+
wXYcTFrCskkdoGEZwiiqUchYjvWKb9++WHkPGGBaLhAlaCZNTgGXyt8OYJSRwIfT
|
|
175
|
+
YbGYXuZMGUV3U63WZm3fOpHflQPkC9bzmK9MgFshhUlB0xk1vC1dkC2I5jOGJqa0
|
|
176
|
+
3yZghw2R+f5zGZd7TusSmm7Kk8i6mCssRG8B3R8p+6a6GQFeWtqQcUV/dcJVs9sx
|
|
177
|
+
ZbFKWzfs9+m8Y04W4PmzZM2ZAN8=
|
|
178
|
+
-----END CERTIFICATE-----`,
|
|
179
|
+
'https://master-oidc.buddyusercontent.com': `-----BEGIN CERTIFICATE-----
|
|
180
|
+
MIIEwDCCAqgCFBDp9Im/iI4hjQTeypaLQbZZZs47MA0GCSqGSIb3DQEBCwUAMBYx
|
|
181
|
+
FDASBgNVBAMMC2J1ZGR5LndvcmtzMCAXDTIzMDIxNjA4MTM0NVoYDzIwNTMwMjA4
|
|
182
|
+
MDgxMzQ1WjAhMR8wHQYDVQQDDBYqLmJ1ZGR5dXNlcmNvbnRlbnQuY29tMIICIjAN
|
|
183
|
+
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyHdEa5QrqJVIAESbgkIMw/pPAJ1R
|
|
184
|
+
kIlin/BQBn43YmcIpw/uFSPol9M5S9WkVMESWhM+wk3V+byiAULOm7FQ5N1AqRMa
|
|
185
|
+
msxmuFenDJQEtEZ/Ca/HQXSOqwUG0TTIE5OZxuJy0SlEIjNPE56cJhp/ojOkvhXn
|
|
186
|
+
mdPtjPI8sslF4CXAHW8qTa/N9L66ro5WMEVba/XGzdySOSN3z8ycr1583ZVXPK7x
|
|
187
|
+
nvo/LrskdbPIjNz8firGp2OBsM0qeINmTUBLFVkWRj4PGgcCGRd1bV4C085obtep
|
|
188
|
+
0Cg/xZen3TQmoAFFsGVSO/3FP/lNv598HrzyHQKN/d2pl1d06NUl7mM7SLdHCbvi
|
|
189
|
+
3zVe1Ntr01QJuQGo3Uv9v4D6j1urzN25ghSfjOzjmTJjpGIwHfKJlVy674laq7mT
|
|
190
|
+
KBnkpwmOgvbPSaaYQ8ik72PuLb73IWkxIaQ4Hr0pqUw00CDLO9p1gcz/biktxhxj
|
|
191
|
+
d48SzS0tQXQMTSKZYWWzfh+Q5rCwVKozzyHPHSJuLxetrtxEcnt5OQFqKu3bcCwI
|
|
192
|
+
xoFLpl5BQjBTrvigOO2ElQxGz2+N7W9zu5VLOl0nCw5MQwN9KXyVHVEYYbC3Mmnq
|
|
193
|
+
RSuudH/25SuYMaEkIUoQa7vgJmwPJ4uWVSExO9fnOmA0L0GM+1WbU3BgEp3FUVSw
|
|
194
|
+
x4QPC1swwlhkVkkCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEApZEjwNCxWHxuAMwE
|
|
195
|
+
jvlEouPs+yZsaxxIC44kKuwNacvk5pV4lC4w59pDTlZghgQwGvT7YlU0GfNrZbJi
|
|
196
|
+
2mREXH2DQt2GPv0roFYJGfT+tranbmmozJXdohSqllcM6Ev2f5I5Y7AkZePX3vAE
|
|
197
|
+
aY0CJzBq9WTnfEjZCOcrkuI4hSccZ53R2DMm3IU2SBfwJlY5HwFLOokwUOgbVMCN
|
|
198
|
+
O5szeNqGgdJjeNGwzCN3u0GwnKNhbvz02FsL+LSe2Mj9K5y5B950DIK6Nuj79nbj
|
|
199
|
+
48uYcplsLBB7g1977QlTBnUVASy859Uajydla6RREw6ZPESVkZHXXJ7+2ek+vnnt
|
|
200
|
+
5RHcbfnR+79MaKfUyVrtHmqtr5osvjhPQ9m9cmQG9UzoidKbxbYm6b6HbNRL5v79
|
|
201
|
+
YNO/12X5pH5h5lc5iFc/0S5NQuOq1OT7lzZNcE0H87rvIvThW0U/X4KVqYj7XY90
|
|
202
|
+
z2U1X+SDiq8ldzXtUYIJnl9J4v+I+u9iyJqYHYBBjj3Wn1NTzuE3ZDEBiwguuVUN
|
|
203
|
+
aKEbQvoT3Eh8nNw3v/BVThjTpa+pMWlI6XpMi9rcN8/edLgaCbMaO059KJTwx4hq
|
|
204
|
+
gUkjwZKhdE4s4pAn1BF644kkVdx2FXzdtmTfYWx1Rnsp1T0sxlzgMWltMd8wAuzS
|
|
205
|
+
5cMq3aQmM1PRT/Q2XYwq7FhiiUg=
|
|
206
|
+
-----END CERTIFICATE-----`,
|
|
207
|
+
'https://sls-oidc.buddyusercontent.com': `-----BEGIN CERTIFICATE-----
|
|
208
|
+
MIIEwDCCAqgCFBDp9Im/iI4hjQTeypaLQbZZZs45MA0GCSqGSIb3DQEBCwUAMBYx
|
|
209
|
+
FDASBgNVBAMMC2J1ZGR5LndvcmtzMCAXDTIzMDIxNjA4MTMyOFoYDzIwNTMwMjA4
|
|
210
|
+
MDgxMzI4WjAhMR8wHQYDVQQDDBYqLmJ1ZGR5dXNlcmNvbnRlbnQuY29tMIICIjAN
|
|
211
|
+
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvMDTFG4ha//vRxUb/AJpnubUi4Er
|
|
212
|
+
z2TLxCNZBdHPwIqWvygvMHUmTySxMU+a05D/6yHnQiaqnXI0y7nh/ZYmkTqHs985
|
|
213
|
+
3hr5gN/kLmcujo3YtUIm93ZbPHsmaBSlvBSzS1sI8GFE2pqePTo3e/qSWtV6aQBI
|
|
214
|
+
0MTEAMKo3JokOft/9cMbdv212eo1Z7vkHvzO0IyAJ15fm4pX/to+2Xap2aG0M78K
|
|
215
|
+
zVgtYdbJAmhstsGBaYxSr15PeDE0OkirevjRXPcGfyjV501tubGk18CH/hUBO3CB
|
|
216
|
+
QOiAH2q1w8Istxus5xibpWYFHoPJiuZ1BryHHV4vnzkDS2RJ3tE+dXHAfIHIN2q0
|
|
217
|
+
AjyDir0KZPOHLxOr17JsZuAfboVgLcZpmFWnm7hfZ6GfRt77ih9IFNi0doMbHmPx
|
|
218
|
+
9B436oaFTXXQdDdMiFSDel1DyKqe+BBiGyqfg9Dvw6Qk+pS0b6q+e/XZYwG9q8K6
|
|
219
|
+
6r1A+TribcAp0bl6O5XxFRdllEwbY9vbyoRX/bB0aKzhAkoP3Cuh4oss0ueiSwZC
|
|
220
|
+
5NUIGSdHMioGjhIGLNj7hv4pZfwr5cxkwPwO43Vv25qVej+AJJwdlRNXS2MSjTQg
|
|
221
|
+
Z/sVVOXsgJHTDyP7ke388rqsgXjdoacoJkTXUdl0652wkRPl9UQ4InVfyNw24MVc
|
|
222
|
+
9ksePMYUIyW7rI8CAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAa8I0iJ8155ihutvw
|
|
223
|
+
1HEqhWbQokANxCdJ3zfdu6guTjrG9HxD7kuloB3ZyVVQsLdZlZoFfZnpMKtnFK1v
|
|
224
|
+
deDtEoayPiUI6DHURtxFHWOYM/VWJd41s3nIoilApBdESpNI6RQvb7JIXuXCDndc
|
|
225
|
+
pvuZ6U0zMnWTVFK7MVrbxqRDMO/mCTJUKIqNLmGo+6YYfhWy8y3HHdnC86CFUy+T
|
|
226
|
+
IaMuDEuqd3HvpqljgXM8o5cTCYawnQA2PKA36XiJoc+9A00EuVQw0ILQbw3aYaIX
|
|
227
|
+
/PNiq3CCyt1YIjal+zSNMxNnmNEW7H5+arxbT+I8oWDZUR+KyeZJYRjuZGzqfRGt
|
|
228
|
+
hAzRj7HKN0bU4Y97a7GyWaxzMtbunWnl8U+1TsM/9cfNgjKZxMopZCb1n/TfUDMo
|
|
229
|
+
/67xEjDS2B/LcGOWDUEExLXaxCoLtVwk7co+Z4FXmiMDmoJmrE6lbGcMD1Ys+6Td
|
|
230
|
+
el3K5ll/6obgUFZsUMPP6xV2+nFz+LThueWphs1+7s0eD3xanVijSHXS8HF87yvE
|
|
231
|
+
eiq+rBRq7FE0Eqen6spTWFpjrmdBxY5Ti0z14KKXHGJStrpC5KquegwBIj0w/wNY
|
|
232
|
+
O6+HPN73rzfhtkO+A0tAG7el3XtqI0fOXiD1xot84neFJV6/qxyvnRUamJjKCgK2
|
|
233
|
+
X1wqKx71Z3gigILDphu5m3d0RRU=
|
|
234
|
+
-----END CERTIFICATE-----`,
|
|
235
|
+
'*': `-----BEGIN CERTIFICATE-----
|
|
236
|
+
MIIEwDCCAqgCFBDp9Im/iI4hjQTeypaLQbZZZs45MA0GCSqGSIb3DQEBCwUAMBYx
|
|
237
|
+
FDASBgNVBAMMC2J1ZGR5LndvcmtzMCAXDTIzMDIxNjA4MTMyOFoYDzIwNTMwMjA4
|
|
238
|
+
MDgxMzI4WjAhMR8wHQYDVQQDDBYqLmJ1ZGR5dXNlcmNvbnRlbnQuY29tMIICIjAN
|
|
239
|
+
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvMDTFG4ha//vRxUb/AJpnubUi4Er
|
|
240
|
+
z2TLxCNZBdHPwIqWvygvMHUmTySxMU+a05D/6yHnQiaqnXI0y7nh/ZYmkTqHs985
|
|
241
|
+
3hr5gN/kLmcujo3YtUIm93ZbPHsmaBSlvBSzS1sI8GFE2pqePTo3e/qSWtV6aQBI
|
|
242
|
+
0MTEAMKo3JokOft/9cMbdv212eo1Z7vkHvzO0IyAJ15fm4pX/to+2Xap2aG0M78K
|
|
243
|
+
zVgtYdbJAmhstsGBaYxSr15PeDE0OkirevjRXPcGfyjV501tubGk18CH/hUBO3CB
|
|
244
|
+
QOiAH2q1w8Istxus5xibpWYFHoPJiuZ1BryHHV4vnzkDS2RJ3tE+dXHAfIHIN2q0
|
|
245
|
+
AjyDir0KZPOHLxOr17JsZuAfboVgLcZpmFWnm7hfZ6GfRt77ih9IFNi0doMbHmPx
|
|
246
|
+
9B436oaFTXXQdDdMiFSDel1DyKqe+BBiGyqfg9Dvw6Qk+pS0b6q+e/XZYwG9q8K6
|
|
247
|
+
6r1A+TribcAp0bl6O5XxFRdllEwbY9vbyoRX/bB0aKzhAkoP3Cuh4oss0ueiSwZC
|
|
248
|
+
5NUIGSdHMioGjhIGLNj7hv4pZfwr5cxkwPwO43Vv25qVej+AJJwdlRNXS2MSjTQg
|
|
249
|
+
Z/sVVOXsgJHTDyP7ke388rqsgXjdoacoJkTXUdl0652wkRPl9UQ4InVfyNw24MVc
|
|
250
|
+
9ksePMYUIyW7rI8CAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAa8I0iJ8155ihutvw
|
|
251
|
+
1HEqhWbQokANxCdJ3zfdu6guTjrG9HxD7kuloB3ZyVVQsLdZlZoFfZnpMKtnFK1v
|
|
252
|
+
deDtEoayPiUI6DHURtxFHWOYM/VWJd41s3nIoilApBdESpNI6RQvb7JIXuXCDndc
|
|
253
|
+
pvuZ6U0zMnWTVFK7MVrbxqRDMO/mCTJUKIqNLmGo+6YYfhWy8y3HHdnC86CFUy+T
|
|
254
|
+
IaMuDEuqd3HvpqljgXM8o5cTCYawnQA2PKA36XiJoc+9A00EuVQw0ILQbw3aYaIX
|
|
255
|
+
/PNiq3CCyt1YIjal+zSNMxNnmNEW7H5+arxbT+I8oWDZUR+KyeZJYRjuZGzqfRGt
|
|
256
|
+
hAzRj7HKN0bU4Y97a7GyWaxzMtbunWnl8U+1TsM/9cfNgjKZxMopZCb1n/TfUDMo
|
|
257
|
+
/67xEjDS2B/LcGOWDUEExLXaxCoLtVwk7co+Z4FXmiMDmoJmrE6lbGcMD1Ys+6Td
|
|
258
|
+
el3K5ll/6obgUFZsUMPP6xV2+nFz+LThueWphs1+7s0eD3xanVijSHXS8HF87yvE
|
|
259
|
+
eiq+rBRq7FE0Eqen6spTWFpjrmdBxY5Ti0z14KKXHGJStrpC5KquegwBIj0w/wNY
|
|
260
|
+
O6+HPN73rzfhtkO+A0tAG7el3XtqI0fOXiD1xot84neFJV6/qxyvnRUamJjKCgK2
|
|
261
|
+
X1wqKx71Z3gigILDphu5m3d0RRU=
|
|
262
|
+
-----END CERTIFICATE-----`
|
|
263
|
+
};
|
|
65
264
|
class Tunnel extends events_1.default {
|
|
66
265
|
agent;
|
|
67
266
|
id;
|
|
@@ -503,7 +702,7 @@ class Tunnel extends events_1.default {
|
|
|
503
702
|
}
|
|
504
703
|
return this.httpAuthClient[host];
|
|
505
704
|
}
|
|
506
|
-
async _httpExchangeAuthCode(code) {
|
|
705
|
+
async _httpExchangeAuthCode(code, verifier) {
|
|
507
706
|
const client = this._getHttpAuthClient();
|
|
508
707
|
try {
|
|
509
708
|
const r = await client.request({
|
|
@@ -513,7 +712,8 @@ class Tunnel extends events_1.default {
|
|
|
513
712
|
'content-type': 'application/json',
|
|
514
713
|
},
|
|
515
714
|
body: JSON.stringify({
|
|
516
|
-
code
|
|
715
|
+
code,
|
|
716
|
+
verifier
|
|
517
717
|
})
|
|
518
718
|
});
|
|
519
719
|
const o = await r.body.json();
|
|
@@ -526,32 +726,57 @@ class Tunnel extends events_1.default {
|
|
|
526
726
|
}
|
|
527
727
|
return '';
|
|
528
728
|
}
|
|
529
|
-
_httpParseAuthToken(token) {
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
729
|
+
async _httpParseAuthToken(token) {
|
|
730
|
+
return new Promise((resolve, reject) => {
|
|
731
|
+
const msg = 'Invalid authorization token';
|
|
732
|
+
if (!token) {
|
|
733
|
+
reject(new Error(msg));
|
|
734
|
+
return;
|
|
735
|
+
}
|
|
736
|
+
const data = (0, jsonwebtoken_1.decode)(token);
|
|
737
|
+
if (!data || !data.iss) {
|
|
738
|
+
reject(new Error(msg));
|
|
739
|
+
return;
|
|
740
|
+
}
|
|
741
|
+
let cert;
|
|
742
|
+
if (ISSUERS[data.iss])
|
|
743
|
+
cert = ISSUERS[data.iss];
|
|
744
|
+
else
|
|
745
|
+
cert = ISSUERS['*'];
|
|
746
|
+
(0, jsonwebtoken_1.verify)(token, cert, {
|
|
747
|
+
complete: true,
|
|
748
|
+
issuer: data.iss
|
|
749
|
+
}, (err, data) => {
|
|
750
|
+
if (err || !data) {
|
|
751
|
+
reject(new Error(msg));
|
|
752
|
+
return;
|
|
753
|
+
}
|
|
754
|
+
const payload = data.payload;
|
|
755
|
+
if (!payload.tunnelId || !payload.userId || payload.aud !== 'tunnels' || payload.sub !== 'tunnel_read') {
|
|
756
|
+
reject(new Error(msg));
|
|
757
|
+
return;
|
|
758
|
+
}
|
|
759
|
+
resolve({
|
|
760
|
+
tunnelId: payload.tunnelId,
|
|
761
|
+
userId: payload.userId,
|
|
762
|
+
token
|
|
763
|
+
});
|
|
764
|
+
});
|
|
765
|
+
});
|
|
541
766
|
}
|
|
542
767
|
_httpSetAuthCookie(res, token) {
|
|
543
768
|
res.setHeader('set-cookie', cookie.serialize(COOKIE_NAME, token, {
|
|
544
769
|
maxAge: 3600,
|
|
545
770
|
path: '/',
|
|
546
|
-
secure:
|
|
771
|
+
secure: true,
|
|
547
772
|
httpOnly: true,
|
|
548
773
|
sameSite: 'lax'
|
|
549
774
|
}));
|
|
550
775
|
}
|
|
551
|
-
async _checkHttpAuthToken(code, token, req, res) {
|
|
776
|
+
async _checkHttpAuthToken(code, verifier, token, req, res) {
|
|
552
777
|
let fromCookie = false;
|
|
553
|
-
if (code && !token) {
|
|
554
|
-
token = await this._httpExchangeAuthCode(code);
|
|
778
|
+
if (code && verifier && !token) {
|
|
779
|
+
token = await this._httpExchangeAuthCode(code, verifier);
|
|
555
780
|
}
|
|
556
781
|
if (!token) {
|
|
557
782
|
const cookies = cookie.parse(req.headers.cookie || '');
|
|
@@ -562,7 +787,7 @@ class Tunnel extends events_1.default {
|
|
|
562
787
|
return false;
|
|
563
788
|
}
|
|
564
789
|
try {
|
|
565
|
-
const data = this._httpParseAuthToken(token);
|
|
790
|
+
const data = await this._httpParseAuthToken(token);
|
|
566
791
|
if (data.tunnelId !== this.id) {
|
|
567
792
|
return false;
|
|
568
793
|
}
|
|
@@ -579,10 +804,10 @@ class Tunnel extends events_1.default {
|
|
|
579
804
|
return false;
|
|
580
805
|
}
|
|
581
806
|
}
|
|
582
|
-
_httpEncryptState(
|
|
807
|
+
_httpEncryptState(url, verifier) {
|
|
583
808
|
try {
|
|
584
809
|
const cipher = node_crypto_1.default.createCipheriv(CIPHER_ALG, Buffer.from(this.cipherKey), Buffer.from(CIPHER_IV));
|
|
585
|
-
let enc = cipher.update(JSON.stringify({
|
|
810
|
+
let enc = cipher.update(JSON.stringify({ url, verifier }), 'utf8', 'hex');
|
|
586
811
|
enc += cipher.final('hex');
|
|
587
812
|
return enc;
|
|
588
813
|
}
|
|
@@ -592,47 +817,56 @@ class Tunnel extends events_1.default {
|
|
|
592
817
|
return '';
|
|
593
818
|
}
|
|
594
819
|
_httpDecryptState(state) {
|
|
820
|
+
let url = null;
|
|
821
|
+
let verifier = null;
|
|
595
822
|
if (state) {
|
|
596
823
|
try {
|
|
597
824
|
const decipher = node_crypto_1.default.createDecipheriv(CIPHER_ALG, Buffer.from(this.cipherKey), Buffer.from(CIPHER_IV));
|
|
598
825
|
let dec = decipher.update(state, 'hex', 'utf8');
|
|
599
826
|
dec += decipher.final('utf8');
|
|
600
|
-
const
|
|
601
|
-
if (
|
|
602
|
-
|
|
603
|
-
|
|
827
|
+
const json = JSON.parse(dec);
|
|
828
|
+
if (json) {
|
|
829
|
+
if (json.url)
|
|
830
|
+
url = json.url;
|
|
831
|
+
if (json.verifier)
|
|
832
|
+
verifier = json.verifier;
|
|
604
833
|
}
|
|
605
834
|
}
|
|
606
835
|
catch {
|
|
607
836
|
// do nothing
|
|
608
837
|
}
|
|
609
838
|
}
|
|
610
|
-
return
|
|
839
|
+
return {
|
|
840
|
+
url,
|
|
841
|
+
verifier
|
|
842
|
+
};
|
|
611
843
|
}
|
|
612
844
|
_redirectHttpToBuddyAuth(pathname, search, req, res) {
|
|
613
845
|
let host = this.agent.host;
|
|
614
846
|
if (/^https:\/\/\d+\.\d+\.\d+\.\d+$/.test(host)) {
|
|
615
847
|
host = 'https://app.local.io';
|
|
616
848
|
}
|
|
849
|
+
const verifier = (0, uuid_1.v4)();
|
|
850
|
+
const challenge = node_crypto_1.default.createHash('sha256').update(verifier).digest('hex');
|
|
617
851
|
const callback = `https://${this.subdomain}.${(this.region || '').toLowerCase()}-${this.sshId}.${this.domain}`;
|
|
618
|
-
let
|
|
852
|
+
let redirect;
|
|
619
853
|
if (req.headers['x-forwarded-host']) {
|
|
620
854
|
if (req.headers['x-forwarded-proto'] === 'http') {
|
|
621
|
-
|
|
855
|
+
redirect = 'http://';
|
|
622
856
|
}
|
|
623
857
|
else {
|
|
624
|
-
|
|
858
|
+
redirect = 'https://';
|
|
625
859
|
}
|
|
626
|
-
|
|
860
|
+
redirect += req.headers['x-forwarded-host'];
|
|
627
861
|
}
|
|
628
862
|
else {
|
|
629
|
-
|
|
863
|
+
redirect = callback;
|
|
630
864
|
}
|
|
631
|
-
|
|
865
|
+
redirect += pathname;
|
|
632
866
|
if (search)
|
|
633
|
-
|
|
634
|
-
const enc = this._httpEncryptState(
|
|
635
|
-
let url = `${host}/tunnel/auth?redirect_url=${encodeURIComponent(callback)}&id=${encodeURIComponent(this.id)}&agentId=${encodeURIComponent(this.agent.id)}&state=${encodeURIComponent(enc)}`;
|
|
867
|
+
redirect += search;
|
|
868
|
+
const enc = this._httpEncryptState(redirect, verifier);
|
|
869
|
+
let url = `${host}/tunnel/auth?redirect_url=${encodeURIComponent(callback)}&id=${encodeURIComponent(this.id)}&agentId=${encodeURIComponent(this.agent.id)}&challenge=${encodeURIComponent(challenge)}&state=${encodeURIComponent(enc)}`;
|
|
636
870
|
if (/app\.local\.io/.test(host)) {
|
|
637
871
|
url += '&response_type=token';
|
|
638
872
|
}
|
|
@@ -646,8 +880,8 @@ class Tunnel extends events_1.default {
|
|
|
646
880
|
const code = searchParams.get('code') || '';
|
|
647
881
|
const state = searchParams.get('state') || '';
|
|
648
882
|
const token = searchParams.get('access_token') || '';
|
|
649
|
-
const url = this._httpDecryptState(state);
|
|
650
|
-
const authByToken = await this._checkHttpAuthToken(code, token, req, res);
|
|
883
|
+
const { url, verifier } = this._httpDecryptState(state);
|
|
884
|
+
const authByToken = await this._checkHttpAuthToken(code, verifier || '', token, req, res);
|
|
651
885
|
if (authByToken) {
|
|
652
886
|
if (url) {
|
|
653
887
|
this.httpEndFast(req, res, 302, 'Found', {
|
|
@@ -657,7 +891,7 @@ class Tunnel extends events_1.default {
|
|
|
657
891
|
}
|
|
658
892
|
return true;
|
|
659
893
|
}
|
|
660
|
-
|
|
894
|
+
if (url && verifier && (code || token)) {
|
|
661
895
|
this.httpEndFast(req, res, 404, 'Not found');
|
|
662
896
|
return false;
|
|
663
897
|
}
|
|
@@ -15,7 +15,6 @@ exports.connectToScrapSession = connectToScrapSession;
|
|
|
15
15
|
const context_1 = require("./context");
|
|
16
16
|
const undici_1 = require("undici");
|
|
17
17
|
const uuid_1 = require("uuid");
|
|
18
|
-
const node_fs_1 = require("node:fs");
|
|
19
18
|
const output_1 = __importDefault(require("../output"));
|
|
20
19
|
const texts_1 = require("../texts");
|
|
21
20
|
const eventsource_1 = require("eventsource");
|
|
@@ -182,7 +181,7 @@ async function getDefaultSettings() {
|
|
|
182
181
|
}
|
|
183
182
|
return response;
|
|
184
183
|
}
|
|
185
|
-
async function sendStorybook(snapshots,
|
|
184
|
+
async function sendStorybook(snapshots, compressedStorybookDirectory) {
|
|
186
185
|
const info = {
|
|
187
186
|
snapshots,
|
|
188
187
|
buildId: context_1.buildId,
|
|
@@ -201,10 +200,12 @@ async function sendStorybook(snapshots, filePaths) {
|
|
|
201
200
|
cliId: context_1.cliId,
|
|
202
201
|
executionUrl: context_1.executionUrl,
|
|
203
202
|
};
|
|
204
|
-
const files =
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
203
|
+
const files = [
|
|
204
|
+
{
|
|
205
|
+
id: 'storybook-static.zip',
|
|
206
|
+
body: new Blob([compressedStorybookDirectory.buffer]),
|
|
207
|
+
},
|
|
208
|
+
];
|
|
208
209
|
const formData = createFormData(info, files);
|
|
209
210
|
const [message, response] = await sendRequest({
|
|
210
211
|
path: '/storybook',
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bdy",
|
|
3
3
|
"preferGlobal": false,
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.14.1-dev",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"scripts": {
|
|
@@ -52,7 +52,8 @@
|
|
|
52
52
|
"uuid": "10.0.0",
|
|
53
53
|
"which": "4.0.0",
|
|
54
54
|
"ws": "8.18.0",
|
|
55
|
-
"zod": "3.24.2"
|
|
55
|
+
"zod": "3.24.2",
|
|
56
|
+
"fflate": "0.8.2"
|
|
56
57
|
},
|
|
57
58
|
"devDependencies": {
|
|
58
59
|
"@eslint/js": "9.13.0",
|