@pkcprotocol/pkc-js 0.0.80 → 0.0.81
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/dist/browser/generated-version.d.ts +1 -1
- package/dist/browser/generated-version.js +1 -1
- package/dist/browser/pkc/pkc.d.ts +1 -2
- package/dist/browser/pkc/pkc.js +17 -24
- package/dist/browser/pkc/pkc.js.map +1 -1
- package/dist/browser/rpc/src/index.js +1 -1
- package/dist/browser/rpc/src/index.js.map +1 -1
- package/dist/browser/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
- package/dist/browser/runtime/browser/setup-kubo-http-routers.js +4 -0
- package/dist/browser/runtime/browser/setup-kubo-http-routers.js.map +1 -0
- package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.d.ts +3 -2
- package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.js +19 -10
- package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.js.map +1 -1
- package/dist/browser/runtime/node/setup-kubo-http-routers.d.ts +2 -0
- package/dist/browser/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +54 -112
- package/dist/browser/runtime/node/setup-kubo-http-routers.js.map +1 -0
- package/dist/browser/util.d.ts +3 -4
- package/dist/browser/util.js +7 -3
- package/dist/browser/util.js.map +1 -1
- package/dist/bundled/bundle-manifest.json +76 -93
- package/dist/bundled/chunks/{helia-for-pkc-BsYWQ7qS.js → helia-for-pkc-BcNF-orO.js} +31 -31
- package/dist/bundled/chunks/{local-community-EqWKTLxr.js → local-community-B6-jaMsn.js} +1 -1
- package/dist/bundled/chunks/{local-community-CHzhypCp.js → local-community-CyX1HwD0.js} +8 -4
- package/dist/bundled/chunks/{node-4qAZNuJG.js → node-BCXmIYLQ.js} +265 -2310
- package/dist/bundled/chunks/{rpc-local-community-Cog5rZLG.js → rpc-local-community-BOiy8BX1.js} +47 -570
- package/dist/bundled/chunks/{schema-Iavj-cRD.js → schema-DZyEx0YQ.js} +4 -4
- package/dist/bundled/chunks/{util-CfSUfLkV.js → util-BTPlI1yF.js} +1 -1
- package/dist/bundled/index.js +1 -1
- package/dist/bundled/rpc/src/index.js +4 -4
- package/dist/node/generated-version.d.ts +1 -1
- package/dist/node/generated-version.js +1 -1
- package/dist/node/pkc/pkc.d.ts +1 -2
- package/dist/node/pkc/pkc.js +17 -24
- package/dist/node/pkc/pkc.js.map +1 -1
- package/dist/node/rpc/src/index.js +1 -1
- package/dist/node/rpc/src/index.js.map +1 -1
- package/dist/node/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
- package/dist/node/runtime/browser/setup-kubo-http-routers.js +4 -0
- package/dist/node/runtime/browser/setup-kubo-http-routers.js.map +1 -0
- package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.d.ts +3 -2
- package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.js +19 -10
- package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.js.map +1 -1
- package/dist/node/runtime/node/setup-kubo-http-routers.d.ts +2 -0
- package/dist/node/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +54 -112
- package/dist/node/runtime/node/setup-kubo-http-routers.js.map +1 -0
- package/dist/node/util.d.ts +3 -4
- package/dist/node/util.js +7 -3
- package/dist/node/util.js.map +1 -1
- package/package.json +2 -2
- package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
- package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
- package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
- package/dist/browser/runtime/node/address-rewriter-db.d.ts +0 -33
- package/dist/browser/runtime/node/address-rewriter-db.js +0 -156
- package/dist/browser/runtime/node/address-rewriter-db.js.map +0 -1
- package/dist/browser/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -47
- package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js +0 -534
- package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
- package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
- package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
- package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
- package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
- package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
- package/dist/node/runtime/node/address-rewriter-db.d.ts +0 -33
- package/dist/node/runtime/node/address-rewriter-db.js +0 -156
- package/dist/node/runtime/node/address-rewriter-db.js.map +0 -1
- package/dist/node/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -47
- package/dist/node/runtime/node/addresses-rewriter-proxy-server.js +0 -534
- package/dist/node/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
- package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
- package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
- package/dist/bundled/chunks/{src-BEjAH2gY.js → src-WLgFbUwZ.js} +1 -1
|
@@ -1,534 +0,0 @@
|
|
|
1
|
-
import http from "node:http";
|
|
2
|
-
import https from "node:https";
|
|
3
|
-
import Logger from "../../logger.js";
|
|
4
|
-
import { flat, unique } from "remeda";
|
|
5
|
-
import retry from "retry";
|
|
6
|
-
import { hideClassPrivateProps } from "../../util.js";
|
|
7
|
-
import { AddressRewriterDatabase } from "./address-rewriter-db.js";
|
|
8
|
-
const debug = Logger("pkc-js:addresses-rewriter");
|
|
9
|
-
const MAX_BODY_PREVIEW_BYTES = 4096;
|
|
10
|
-
// `ipfs id` returns self-addresses with a trailing `/p2p/<peerId>` while `swarm addrs`
|
|
11
|
-
// returns the same transports without it, so unioning them yields each address twice plus
|
|
12
|
-
// non-standard `/p2p`-suffixed entries. The `/routing/v1` provider schema carries the peer id
|
|
13
|
-
// in the separate `ID` field and expects transport-only `Addrs`, so strip the trailing
|
|
14
|
-
// `/p2p/<peerId>` and dedupe before announcing.
|
|
15
|
-
export function normalizeSelfAddrsForProvider(addrs, peerId) {
|
|
16
|
-
const suffix = `/p2p/${peerId}`;
|
|
17
|
-
return unique(addrs.map((addr) => (addr.endsWith(suffix) ? addr.slice(0, -suffix.length) : addr)));
|
|
18
|
-
}
|
|
19
|
-
export class AddressesRewriterProxyServer {
|
|
20
|
-
constructor({ kuboClients: kuboClient, port, hostname, proxyTargetUrl, pkc }) {
|
|
21
|
-
this._requestLogBuffer = [];
|
|
22
|
-
this._isWritingLogs = false;
|
|
23
|
-
// Failed keys retry logic
|
|
24
|
-
this._failedKeys = new Set();
|
|
25
|
-
this._isRetrying = false;
|
|
26
|
-
this.addresses = {};
|
|
27
|
-
this.kuboClients = kuboClient;
|
|
28
|
-
this.port = port;
|
|
29
|
-
this.hostname = hostname || "127.0.0.1";
|
|
30
|
-
this.proxyTarget = new URL(proxyTargetUrl);
|
|
31
|
-
this.server = http.createServer((req, res) => this._proxyRequestRewrite(req, res));
|
|
32
|
-
this._storageKeyName = `httprouter_proxy_${proxyTargetUrl}`;
|
|
33
|
-
this._pkc = pkc;
|
|
34
|
-
// Environment-based logging toggle
|
|
35
|
-
const envValue = process.env.ENABLE_LOGGING_OF_ADDRESS_REWRITER_PROXY;
|
|
36
|
-
this._loggingEnabled = envValue === "1" || envValue?.toLowerCase() === "true";
|
|
37
|
-
// Initialize database only when logging is enabled
|
|
38
|
-
if (this._loggingEnabled) {
|
|
39
|
-
const kuboConfig = this.kuboClients?.[0]?.getEndpointConfig();
|
|
40
|
-
this._db = new AddressRewriterDatabase(this._pkc.dataPath, kuboConfig, this.proxyTarget);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
this._db = null;
|
|
44
|
-
}
|
|
45
|
-
// Create HTTP agents with connection pooling and keep-alive
|
|
46
|
-
this._httpAgent = new http.Agent({
|
|
47
|
-
keepAlive: true,
|
|
48
|
-
keepAliveMsecs: 30000,
|
|
49
|
-
maxSockets: 50,
|
|
50
|
-
timeout: 10000
|
|
51
|
-
});
|
|
52
|
-
this._httpsAgent = new https.Agent({
|
|
53
|
-
keepAlive: true,
|
|
54
|
-
keepAliveMsecs: 30000,
|
|
55
|
-
maxSockets: 50,
|
|
56
|
-
timeout: 10000
|
|
57
|
-
});
|
|
58
|
-
hideClassPrivateProps(this);
|
|
59
|
-
}
|
|
60
|
-
async listen(callback) {
|
|
61
|
-
if (this._loggingEnabled && this._db) {
|
|
62
|
-
await this._db.initialize();
|
|
63
|
-
debug("Request logging enabled for addresses rewriter proxy");
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
debug("Request logging disabled for addresses rewriter proxy");
|
|
67
|
-
}
|
|
68
|
-
await this._startUpdateAddressesLoop();
|
|
69
|
-
if (this._loggingEnabled) {
|
|
70
|
-
this._startRequestLogging();
|
|
71
|
-
}
|
|
72
|
-
await this._startFailedKeysRetry();
|
|
73
|
-
this.server.on("error", (err) => debug.error("Error with address rewriter proxy", this.server.address(), "Proxy target", this.proxyTarget, err));
|
|
74
|
-
this.server.listen(this.port, this.hostname, callback);
|
|
75
|
-
debug("Addresses rewriter proxy at", this.hostname + ":" + this.port, "started listening to forward requests to", this.proxyTarget.host, `- request logging ${this._loggingEnabled ? "enabled" : "disabled"}`);
|
|
76
|
-
await this._pkc._storage.setItem(this._storageKeyName, `http://${this.hostname}:${this.port}`);
|
|
77
|
-
}
|
|
78
|
-
async destroy() {
|
|
79
|
-
this.server.close();
|
|
80
|
-
if (this._updateAddressesInterval) {
|
|
81
|
-
clearInterval(this._updateAddressesInterval);
|
|
82
|
-
}
|
|
83
|
-
if (this._logWriteInterval) {
|
|
84
|
-
clearInterval(this._logWriteInterval);
|
|
85
|
-
}
|
|
86
|
-
if (this._retryInterval) {
|
|
87
|
-
clearInterval(this._retryInterval);
|
|
88
|
-
}
|
|
89
|
-
// Write any remaining logs before destroying
|
|
90
|
-
await this._writeRequestLogs();
|
|
91
|
-
// Close database connection
|
|
92
|
-
this._db?.close();
|
|
93
|
-
// Destroy HTTP agents to clean up connections
|
|
94
|
-
this._httpAgent.destroy();
|
|
95
|
-
this._httpsAgent.destroy();
|
|
96
|
-
await this._pkc._storage.removeItem(this._storageKeyName);
|
|
97
|
-
}
|
|
98
|
-
_proxyRequestRewrite(req, res) {
|
|
99
|
-
// get post body
|
|
100
|
-
let reqBody = "";
|
|
101
|
-
req.on("data", (chunk) => {
|
|
102
|
-
reqBody += chunk.toString();
|
|
103
|
-
});
|
|
104
|
-
// wait for full post body
|
|
105
|
-
req.on("end", () => {
|
|
106
|
-
// Only track and rewrite PUT/POST requests (provider registration)
|
|
107
|
-
const shouldRewrite = req.method === "PUT" || req.method === "POST";
|
|
108
|
-
// Create request log entry for PUT/POST requests
|
|
109
|
-
let requestLogEntry = null;
|
|
110
|
-
if (shouldRewrite) {
|
|
111
|
-
const keys = this._extractKeysFromRequestBody(reqBody);
|
|
112
|
-
const shouldLogRequest = this._loggingEnabled;
|
|
113
|
-
if (keys.length > 0 || shouldLogRequest) {
|
|
114
|
-
requestLogEntry = {
|
|
115
|
-
keys,
|
|
116
|
-
receivedAt: Date.now(),
|
|
117
|
-
success: false,
|
|
118
|
-
method: req.method || "UNKNOWN",
|
|
119
|
-
url: req.url || "/",
|
|
120
|
-
retryCount: 0,
|
|
121
|
-
bodyPreview: shouldLogRequest ? this._createBodyPreview(reqBody) : undefined
|
|
122
|
-
};
|
|
123
|
-
if (shouldLogRequest) {
|
|
124
|
-
this._requestLogBuffer.push(requestLogEntry);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
// rewrite body with up to date addresses (only for PUT/POST)
|
|
129
|
-
let rewrittenBody = reqBody;
|
|
130
|
-
if (shouldRewrite && rewrittenBody) {
|
|
131
|
-
try {
|
|
132
|
-
const json = JSON.parse(rewrittenBody);
|
|
133
|
-
if (json.Providers && Array.isArray(json.Providers)) {
|
|
134
|
-
for (const provider of json.Providers) {
|
|
135
|
-
const peerId = provider?.Payload?.ID;
|
|
136
|
-
if (peerId && this.addresses[peerId]) {
|
|
137
|
-
provider.Payload.Addrs = this.addresses[peerId];
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
rewrittenBody = JSON.stringify(json);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
catch (e) {
|
|
144
|
-
const error = e;
|
|
145
|
-
debug("proxy body rewrite error:", error, "body", rewrittenBody, req.url, req.method);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
// proxy the request
|
|
149
|
-
this._proxyRequest(req, res, rewrittenBody, requestLogEntry);
|
|
150
|
-
});
|
|
151
|
-
// Handle request errors
|
|
152
|
-
req.on("error", (err) => {
|
|
153
|
-
debug.trace("Request error:", req.url, req.method, req.headers, reqBody, err);
|
|
154
|
-
if (!res.headersSent) {
|
|
155
|
-
debug.trace("Request error:", req.url, req.method, req.headers, reqBody, err);
|
|
156
|
-
res.writeHead(500);
|
|
157
|
-
res.end("Internal Server Error");
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
_proxyRequest(req, res, rewrittenBody, requestLogEntry) {
|
|
162
|
-
if (requestLogEntry) {
|
|
163
|
-
requestLogEntry.retryCount = 0;
|
|
164
|
-
requestLogEntry.transmittedAt = Date.now();
|
|
165
|
-
}
|
|
166
|
-
const { request: httpRequest } = this.proxyTarget.protocol === "https:" ? https : http;
|
|
167
|
-
const agent = this.proxyTarget.protocol === "https:" ? this._httpsAgent : this._httpAgent;
|
|
168
|
-
const requestOptions = {
|
|
169
|
-
hostname: this.proxyTarget.hostname,
|
|
170
|
-
protocol: this.proxyTarget.protocol,
|
|
171
|
-
path: req.url,
|
|
172
|
-
method: req.method,
|
|
173
|
-
headers: {
|
|
174
|
-
...req.headers,
|
|
175
|
-
// Node lowercases all incoming header names, so req.headers always carries
|
|
176
|
-
// `content-length` regardless of the casing kubo used on the wire. Overriding the
|
|
177
|
-
// lowercase key alone covers every case; a second uppercase key would only emit a
|
|
178
|
-
// duplicate Content-Length header that some routers reject.
|
|
179
|
-
"content-length": Buffer.byteLength(rewrittenBody),
|
|
180
|
-
host: this.proxyTarget.host
|
|
181
|
-
},
|
|
182
|
-
agent,
|
|
183
|
-
timeout: 10000
|
|
184
|
-
};
|
|
185
|
-
if (this.proxyTarget.port) {
|
|
186
|
-
requestOptions.port = this.proxyTarget.port;
|
|
187
|
-
}
|
|
188
|
-
const proxyReq = httpRequest(requestOptions);
|
|
189
|
-
// Handle timeout
|
|
190
|
-
proxyReq.setTimeout(10000, () => {
|
|
191
|
-
debug.trace("Proxy request timed out", requestOptions);
|
|
192
|
-
if (requestLogEntry) {
|
|
193
|
-
requestLogEntry.success = false;
|
|
194
|
-
requestLogEntry.statusCode = 504;
|
|
195
|
-
requestLogEntry.error = "Request timeout";
|
|
196
|
-
requestLogEntry.completed = true;
|
|
197
|
-
// Add failed keys to retry set
|
|
198
|
-
if (requestLogEntry.keys) {
|
|
199
|
-
const sizeBefore = this._failedKeys.size;
|
|
200
|
-
requestLogEntry.keys.forEach((key) => this._failedKeys.add(key));
|
|
201
|
-
const sizeAfter = this._failedKeys.size;
|
|
202
|
-
if (sizeAfter > sizeBefore) {
|
|
203
|
-
// Save to database when new keys are added
|
|
204
|
-
this._saveFailedKeysToDatabase();
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
proxyReq.destroy();
|
|
209
|
-
if (!res.headersSent) {
|
|
210
|
-
res.writeHead(504);
|
|
211
|
-
res.end("Gateway Timeout");
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
// Handle proxy request errors
|
|
215
|
-
proxyReq.on("error", (e) => {
|
|
216
|
-
proxyReq.destroy();
|
|
217
|
-
if (requestLogEntry) {
|
|
218
|
-
requestLogEntry.success = false;
|
|
219
|
-
requestLogEntry.statusCode = 500;
|
|
220
|
-
requestLogEntry.error = `Proxy error: ${e.message}`;
|
|
221
|
-
requestLogEntry.completed = true;
|
|
222
|
-
debug.trace(`Updated log entry with error for keys: ${requestLogEntry.keys.join(", ")}`);
|
|
223
|
-
// Add failed keys to retry set
|
|
224
|
-
if (requestLogEntry.keys) {
|
|
225
|
-
const sizeBefore = this._failedKeys.size;
|
|
226
|
-
requestLogEntry.keys.forEach((key) => this._failedKeys.add(key));
|
|
227
|
-
const sizeAfter = this._failedKeys.size;
|
|
228
|
-
if (sizeAfter > sizeBefore) {
|
|
229
|
-
// Save to database when new keys are added
|
|
230
|
-
this._saveFailedKeysToDatabase();
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
if (!res.headersSent) {
|
|
235
|
-
debug.trace("address rewriter proxy error:", e, "Request options", requestOptions);
|
|
236
|
-
res.writeHead(500);
|
|
237
|
-
res.end("Internal Server Error");
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
// Handle the proxy response
|
|
241
|
-
proxyReq.on("response", (proxyRes) => {
|
|
242
|
-
const statusCode = proxyRes.statusCode || 500;
|
|
243
|
-
const isSuccess = statusCode >= 200 && statusCode < 300;
|
|
244
|
-
if (requestLogEntry) {
|
|
245
|
-
requestLogEntry.success = isSuccess;
|
|
246
|
-
requestLogEntry.statusCode = statusCode;
|
|
247
|
-
requestLogEntry.completed = true;
|
|
248
|
-
if (!isSuccess) {
|
|
249
|
-
requestLogEntry.error = `HTTP ${statusCode}`;
|
|
250
|
-
// Add failed keys to retry set
|
|
251
|
-
if (requestLogEntry.keys) {
|
|
252
|
-
const sizeBefore = this._failedKeys.size;
|
|
253
|
-
requestLogEntry.keys.forEach((key) => this._failedKeys.add(key));
|
|
254
|
-
const sizeAfter = this._failedKeys.size;
|
|
255
|
-
if (sizeAfter > sizeBefore) {
|
|
256
|
-
// Save to database when new keys are added
|
|
257
|
-
this._saveFailedKeysToDatabase();
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
// Handle proxy response errors
|
|
263
|
-
proxyRes.on("error", (err) => {
|
|
264
|
-
debug.trace("Proxy response error:", err);
|
|
265
|
-
if (!res.headersSent) {
|
|
266
|
-
res.writeHead(500);
|
|
267
|
-
res.end("Proxy Response Error");
|
|
268
|
-
}
|
|
269
|
-
if (requestLogEntry) {
|
|
270
|
-
requestLogEntry.success = false;
|
|
271
|
-
requestLogEntry.statusCode = 500;
|
|
272
|
-
requestLogEntry.error = `Proxy response error: ${err.message}`;
|
|
273
|
-
requestLogEntry.completed = true;
|
|
274
|
-
}
|
|
275
|
-
proxyRes.destroy(err);
|
|
276
|
-
});
|
|
277
|
-
// Forward successful response
|
|
278
|
-
if (!res.headersSent) {
|
|
279
|
-
res.writeHead(statusCode, proxyRes.headers);
|
|
280
|
-
proxyRes.pipe(res);
|
|
281
|
-
}
|
|
282
|
-
res.on("finish", () => {
|
|
283
|
-
proxyRes.resume();
|
|
284
|
-
});
|
|
285
|
-
});
|
|
286
|
-
proxyReq.write(rewrittenBody);
|
|
287
|
-
proxyReq.end();
|
|
288
|
-
}
|
|
289
|
-
// get up to date listen addresses from kubo every x minutes
|
|
290
|
-
async _startUpdateAddressesLoop() {
|
|
291
|
-
if (!this.kuboClients?.length)
|
|
292
|
-
throw Error("should have a defined kubo rpc client option to start the address rewriter");
|
|
293
|
-
const isRetriableError = (error) => {
|
|
294
|
-
if (typeof error !== "object" || error === null)
|
|
295
|
-
return false;
|
|
296
|
-
const err = error;
|
|
297
|
-
return err.response?.status === 500 || err.status === 500 || err.statusCode === 500;
|
|
298
|
-
};
|
|
299
|
-
const tryUpdateAddressesForClient = async (kuboClient) => {
|
|
300
|
-
return new Promise((resolve) => {
|
|
301
|
-
const operation = retry.operation({
|
|
302
|
-
retries: 3,
|
|
303
|
-
factor: 2,
|
|
304
|
-
minTimeout: 1000,
|
|
305
|
-
maxTimeout: 8000
|
|
306
|
-
});
|
|
307
|
-
operation.attempt(async (currentAttempt) => {
|
|
308
|
-
try {
|
|
309
|
-
const idRes = await kuboClient.id();
|
|
310
|
-
const swarmAddrsRes = await kuboClient.swarm.addrs();
|
|
311
|
-
const peerId = idRes.id.toString();
|
|
312
|
-
if (typeof peerId !== "string")
|
|
313
|
-
throw Error("Failed to get Peer ID of kubo node");
|
|
314
|
-
const swarmListeningAddresses = swarmAddrsRes.filter((swarmAddr) => swarmAddr.id.toString() === peerId);
|
|
315
|
-
const addresses = normalizeSelfAddrsForProvider([
|
|
316
|
-
...idRes.addresses.map((addr) => addr.toString()),
|
|
317
|
-
...flat(swarmListeningAddresses.map((swarmAddr) => swarmAddr.addrs.map((addr) => addr.toString())))
|
|
318
|
-
], peerId);
|
|
319
|
-
if (addresses.length === 0) {
|
|
320
|
-
throw Error(`Failed to get any addresses for peer ${peerId}`);
|
|
321
|
-
}
|
|
322
|
-
this.addresses[peerId] = addresses;
|
|
323
|
-
resolve();
|
|
324
|
-
}
|
|
325
|
-
catch (e) {
|
|
326
|
-
const error = e;
|
|
327
|
-
if (isRetriableError(error)) {
|
|
328
|
-
debug(`tryUpdateAddresses attempt ${currentAttempt}/4 failed with 500 error:`, error.message, {
|
|
329
|
-
kuboConfig: kuboClient.getEndpointConfig()
|
|
330
|
-
});
|
|
331
|
-
if (operation.retry(error))
|
|
332
|
-
return;
|
|
333
|
-
}
|
|
334
|
-
debug("tryUpdateAddresses error:", error.message, { kuboConfig: kuboClient.getEndpointConfig() });
|
|
335
|
-
resolve(); // Don't reject, just log and continue with other clients
|
|
336
|
-
}
|
|
337
|
-
});
|
|
338
|
-
});
|
|
339
|
-
};
|
|
340
|
-
const tryUpdateAddresses = async () => {
|
|
341
|
-
const promises = this.kuboClients.map(tryUpdateAddressesForClient);
|
|
342
|
-
await Promise.allSettled(promises);
|
|
343
|
-
};
|
|
344
|
-
await tryUpdateAddresses();
|
|
345
|
-
this._updateAddressesInterval = setInterval(tryUpdateAddresses, 1000 * 60);
|
|
346
|
-
}
|
|
347
|
-
_extractKeysFromRequestBody(body) {
|
|
348
|
-
try {
|
|
349
|
-
const json = JSON.parse(body);
|
|
350
|
-
const keys = [];
|
|
351
|
-
if (json.Providers && Array.isArray(json.Providers)) {
|
|
352
|
-
for (const provider of json.Providers) {
|
|
353
|
-
if (provider?.Payload?.Keys) {
|
|
354
|
-
keys.push(...provider.Payload.Keys);
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
return keys;
|
|
359
|
-
}
|
|
360
|
-
catch {
|
|
361
|
-
return [];
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
_createBodyPreview(body) {
|
|
365
|
-
const buffer = Buffer.from(body, "utf8");
|
|
366
|
-
if (buffer.length <= MAX_BODY_PREVIEW_BYTES)
|
|
367
|
-
return body;
|
|
368
|
-
const truncated = buffer.subarray(0, MAX_BODY_PREVIEW_BYTES).toString("utf8");
|
|
369
|
-
const truncatedBytes = buffer.length - MAX_BODY_PREVIEW_BYTES;
|
|
370
|
-
return `${truncated}...[truncated ${truncatedBytes} bytes]`;
|
|
371
|
-
}
|
|
372
|
-
async _writeRequestLogs() {
|
|
373
|
-
if (!this._loggingEnabled || !this._db) {
|
|
374
|
-
return;
|
|
375
|
-
}
|
|
376
|
-
if (this._requestLogBuffer.length === 0 || this._isWritingLogs) {
|
|
377
|
-
return;
|
|
378
|
-
}
|
|
379
|
-
this._isWritingLogs = true;
|
|
380
|
-
// Only persist entries whose terminal callback has run; entries still in flight keep their
|
|
381
|
-
// initial `success: false` placeholder and would be persisted (and never corrected) if
|
|
382
|
-
// flushed now, so leave them buffered for a later tick. The 10s request timeout guarantees
|
|
383
|
-
// every entry eventually completes, so nothing is buffered forever. See issue #157.
|
|
384
|
-
const logsToWrite = this._requestLogBuffer.filter((entry) => entry.completed);
|
|
385
|
-
if (logsToWrite.length === 0) {
|
|
386
|
-
this._isWritingLogs = false;
|
|
387
|
-
return;
|
|
388
|
-
}
|
|
389
|
-
const inFlightLogs = this._requestLogBuffer.filter((entry) => !entry.completed);
|
|
390
|
-
this._requestLogBuffer = inFlightLogs; // Keep in-flight entries; clear flushed ones to prevent duplicates
|
|
391
|
-
try {
|
|
392
|
-
this._db.insertRequestLogs(logsToWrite);
|
|
393
|
-
debug.trace(`Wrote ${logsToWrite.length} new request log entries to SQLite database`);
|
|
394
|
-
}
|
|
395
|
-
catch (error) {
|
|
396
|
-
debug.error(`Failed to write request logs to SQLite database:`, error);
|
|
397
|
-
// Put logs back in buffer on failure
|
|
398
|
-
this._requestLogBuffer.unshift(...logsToWrite);
|
|
399
|
-
}
|
|
400
|
-
finally {
|
|
401
|
-
this._isWritingLogs = false;
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
_startRequestLogging() {
|
|
405
|
-
if (!this._loggingEnabled || !this._db) {
|
|
406
|
-
return;
|
|
407
|
-
}
|
|
408
|
-
const writeInterval = 5 * 1000; // 5 seconds
|
|
409
|
-
this._logWriteInterval = setInterval(async () => {
|
|
410
|
-
await this._writeRequestLogs();
|
|
411
|
-
}, writeInterval);
|
|
412
|
-
}
|
|
413
|
-
async _startFailedKeysRetry() {
|
|
414
|
-
// Load failed keys from database on startup
|
|
415
|
-
this._loadFailedKeysFromDatabase();
|
|
416
|
-
// Start 2-minute interval for retrying failed keys
|
|
417
|
-
const retryInterval = 2 * 60 * 1000; // 2 minutes
|
|
418
|
-
this._retryInterval = setInterval(async () => {
|
|
419
|
-
// Skip if a previous run is still going; the per-key provide loop can exceed the
|
|
420
|
-
// interval, and overlapping runs would race on _failedKeys and double-provide.
|
|
421
|
-
if (this._isRetrying) {
|
|
422
|
-
debug.trace("Previous failed-keys retry still running, skipping this tick");
|
|
423
|
-
return;
|
|
424
|
-
}
|
|
425
|
-
this._isRetrying = true;
|
|
426
|
-
try {
|
|
427
|
-
await this._retryFailedKeys();
|
|
428
|
-
}
|
|
429
|
-
finally {
|
|
430
|
-
this._isRetrying = false;
|
|
431
|
-
}
|
|
432
|
-
}, retryInterval);
|
|
433
|
-
debug(`Started failed keys retry with ${this._failedKeys.size} keys from previous sessions`);
|
|
434
|
-
}
|
|
435
|
-
_loadFailedKeysFromDatabase() {
|
|
436
|
-
if (!this._loggingEnabled || !this._db) {
|
|
437
|
-
return;
|
|
438
|
-
}
|
|
439
|
-
try {
|
|
440
|
-
const keys = this._db.loadFailedKeys();
|
|
441
|
-
keys.forEach((key) => this._failedKeys.add(key));
|
|
442
|
-
debug(`Loaded ${keys.length} failed keys from database`);
|
|
443
|
-
}
|
|
444
|
-
catch (error) {
|
|
445
|
-
debug.error("Failed to load failed keys from database:", error);
|
|
446
|
-
throw error;
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
_saveFailedKeysToDatabase() {
|
|
450
|
-
if (!this._loggingEnabled || !this._db) {
|
|
451
|
-
return;
|
|
452
|
-
}
|
|
453
|
-
try {
|
|
454
|
-
const keys = Array.from(this._failedKeys);
|
|
455
|
-
this._db.saveFailedKeys(keys);
|
|
456
|
-
if (keys.length === 0) {
|
|
457
|
-
debug.trace(`All keys successfully provided - no failed keys to save`);
|
|
458
|
-
}
|
|
459
|
-
else {
|
|
460
|
-
debug.trace(`Saved ${keys.length} failed keys to database`);
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
catch (error) {
|
|
464
|
-
debug.error("Failed to save failed keys to database:", error);
|
|
465
|
-
throw error;
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
async _retryFailedKeys() {
|
|
469
|
-
if (this._failedKeys.size === 0) {
|
|
470
|
-
debug.trace(`No failed keys to retry - all keys successfully provided`);
|
|
471
|
-
return;
|
|
472
|
-
}
|
|
473
|
-
debug(`Retrying ${this._failedKeys.size} failed keys`);
|
|
474
|
-
const keysToRetry = Array.from(this._failedKeys);
|
|
475
|
-
const kuboClient = this.kuboClients?.[0];
|
|
476
|
-
if (!kuboClient) {
|
|
477
|
-
debug.error("No kubo client available for retry");
|
|
478
|
-
return;
|
|
479
|
-
}
|
|
480
|
-
const successfulKeys = [];
|
|
481
|
-
const stillFailedKeys = [];
|
|
482
|
-
const keysToDiscard = [];
|
|
483
|
-
// Process each key individually to get better granular control
|
|
484
|
-
for (const key of keysToRetry) {
|
|
485
|
-
try {
|
|
486
|
-
debug.trace(`Providing key to HTTP routers: ${key}`);
|
|
487
|
-
const events = [];
|
|
488
|
-
for await (const event of kuboClient.routing.provide(key, { recursive: true, verbose: true })) {
|
|
489
|
-
events.push(event);
|
|
490
|
-
debug(`Routing provide event for ${key}:`, event);
|
|
491
|
-
}
|
|
492
|
-
successfulKeys.push(key);
|
|
493
|
-
debug.trace(`Successfully provided key: ${key}`);
|
|
494
|
-
// Log successful reprovide attempt
|
|
495
|
-
this._logReprovideAttempt(key, true, undefined, false);
|
|
496
|
-
}
|
|
497
|
-
catch (error) {
|
|
498
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
499
|
-
const isBlockNotLocal = errorMessage.includes("block") && errorMessage.includes("not found locally");
|
|
500
|
-
// Log failed reprovide attempt
|
|
501
|
-
this._logReprovideAttempt(key, false, errorMessage, isBlockNotLocal);
|
|
502
|
-
// If block not found locally, discard this key - no point in retrying
|
|
503
|
-
if (isBlockNotLocal) {
|
|
504
|
-
keysToDiscard.push(key);
|
|
505
|
-
debug.trace(`Discarding key ${key} - block not found locally, will not retry`);
|
|
506
|
-
}
|
|
507
|
-
else {
|
|
508
|
-
stillFailedKeys.push(key);
|
|
509
|
-
debug.trace(`Failed to provide key ${key}:`, error);
|
|
510
|
-
}
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
// Remove successful keys and keys to discard from failed set
|
|
514
|
-
successfulKeys.forEach((key) => this._failedKeys.delete(key));
|
|
515
|
-
keysToDiscard.forEach((key) => this._failedKeys.delete(key));
|
|
516
|
-
// Save updated failed keys to database
|
|
517
|
-
this._saveFailedKeysToDatabase();
|
|
518
|
-
debug.trace(`Retry completed: ${successfulKeys.length} successful, ${stillFailedKeys.length} still failed, ${keysToDiscard.length} discarded`);
|
|
519
|
-
}
|
|
520
|
-
_logReprovideAttempt(key, success, error, blockNotLocal) {
|
|
521
|
-
if (!this._loggingEnabled || !this._db) {
|
|
522
|
-
return;
|
|
523
|
-
}
|
|
524
|
-
try {
|
|
525
|
-
this._db.insertReprovideLog(key, success, error, blockNotLocal);
|
|
526
|
-
debug.trace(`Logged reprovide attempt for key ${key}: success=${success}, blockNotLocal=${blockNotLocal}`);
|
|
527
|
-
}
|
|
528
|
-
catch (error) {
|
|
529
|
-
debug.error(`Failed to log reprovide attempt for key ${key}:`, error);
|
|
530
|
-
throw error;
|
|
531
|
-
}
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
//# sourceMappingURL=addresses-rewriter-proxy-server.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addresses-rewriter-proxy-server.js","sourceRoot":"","sources":["../../../../src/runtime/browser/addresses-rewriter-proxy-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup-kubo-address-rewriter-and-http-router.js","sourceRoot":"","sources":["../../../../src/runtime/browser/setup-kubo-address-rewriter-and-http-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function setupKuboAddressesRewriterAndHttpRouters(): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup-kubo-address-rewriter-and-http-router.js","sourceRoot":"","sources":["../../../../src/runtime/browser/setup-kubo-address-rewriter-and-http-router.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,wCAAwC;IACpD,MAAM,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type { EndpointConfig } from "kubo-rpc-client";
|
|
2
|
-
export type RequestLogEntry = {
|
|
3
|
-
keys: string[];
|
|
4
|
-
receivedAt: number;
|
|
5
|
-
transmittedAt?: number;
|
|
6
|
-
success: boolean;
|
|
7
|
-
statusCode?: number;
|
|
8
|
-
method: string;
|
|
9
|
-
url: string;
|
|
10
|
-
error?: string;
|
|
11
|
-
retryCount?: number;
|
|
12
|
-
bodyPreview?: string;
|
|
13
|
-
completed?: boolean;
|
|
14
|
-
};
|
|
15
|
-
export type ReprovideLogEntry = {
|
|
16
|
-
key: string;
|
|
17
|
-
timestamp: number;
|
|
18
|
-
success: boolean;
|
|
19
|
-
error?: string;
|
|
20
|
-
blockNotLocal?: boolean;
|
|
21
|
-
};
|
|
22
|
-
export declare class AddressRewriterDatabase {
|
|
23
|
-
private _db;
|
|
24
|
-
private _dbPath;
|
|
25
|
-
constructor(dataPath: string, kuboConfig: EndpointConfig | undefined, proxyTarget: URL);
|
|
26
|
-
private _initializeDbPath;
|
|
27
|
-
initialize(): Promise<void>;
|
|
28
|
-
close(): void;
|
|
29
|
-
insertRequestLogs(logs: RequestLogEntry[]): void;
|
|
30
|
-
insertReprovideLog(key: string, success: boolean, error?: string, blockNotLocal?: boolean): void;
|
|
31
|
-
loadFailedKeys(): string[];
|
|
32
|
-
saveFailedKeys(keys: string[]): void;
|
|
33
|
-
}
|