@peerbit/server 1.0.20 → 1.1.0
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/lib/esm/cli.js +107 -36
- package/lib/esm/cli.js.map +1 -1
- package/lib/esm/client.d.ts +25 -2
- package/lib/esm/client.js +105 -16
- package/lib/esm/client.js.map +1 -1
- package/lib/esm/config.browser.d.ts +0 -0
- package/lib/esm/config.browser.js +3 -0
- package/lib/esm/config.browser.js.map +1 -0
- package/lib/esm/config.d.ts +3 -0
- package/lib/esm/config.js +71 -0
- package/lib/esm/config.js.map +1 -1
- package/lib/esm/index.d.ts +3 -1
- package/lib/esm/index.js +3 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/peerbit.d.ts +5 -0
- package/lib/esm/peerbit.js +26 -0
- package/lib/esm/peerbit.js.map +1 -0
- package/lib/esm/routes.d.ts +9 -0
- package/lib/esm/routes.js +18 -0
- package/lib/esm/routes.js.map +1 -0
- package/lib/esm/server.browser.d.ts +0 -0
- package/lib/esm/server.browser.js +3 -0
- package/lib/esm/server.browser.js.map +1 -0
- package/lib/esm/server.d.ts +15 -0
- package/lib/esm/server.js +356 -0
- package/lib/esm/server.js.map +1 -0
- package/lib/esm/types.d.ts +7 -0
- package/lib/esm/types.js +2 -0
- package/lib/esm/types.js.map +1 -0
- package/lib/ui/assets/config.browser-4ed993c7.js +1 -0
- package/lib/ui/assets/index-a8188422.js +53 -0
- package/lib/ui/index.html +1 -1
- package/package.json +16 -7
- package/src/cli.ts +118 -43
- package/src/client.ts +157 -16
- package/src/config.browser.ts +1 -0
- package/src/config.ts +80 -0
- package/src/index.ts +3 -1
- package/src/peerbit.ts +26 -0
- package/src/routes.ts +20 -0
- package/src/server.browser.ts +1 -0
- package/src/server.ts +430 -0
- package/src/types.ts +7 -0
- package/lib/esm/api.d.ts +0 -33
- package/lib/esm/api.js +0 -370
- package/lib/esm/api.js.map +0 -1
- package/lib/esm/package.json +0 -3
- package/lib/ui/assets/index-40169014.js +0 -80
- package/src/api.ts +0 -436
package/lib/esm/api.js
DELETED
|
@@ -1,370 +0,0 @@
|
|
|
1
|
-
import http from "http";
|
|
2
|
-
import { fromBase64, toBase64 } from "@peerbit/crypto";
|
|
3
|
-
import { serialize, deserialize } from "@dao-xyz/borsh";
|
|
4
|
-
import { Program } from "@peerbit/program";
|
|
5
|
-
import { multiaddr } from "@multiformats/multiaddr";
|
|
6
|
-
import { waitFor } from "@peerbit/time";
|
|
7
|
-
import { v4 as uuid } from "uuid";
|
|
8
|
-
import { getConfigDir, getCredentialsPath, NotFoundError } from "./config.js";
|
|
9
|
-
import { setMaxListeners } from "events";
|
|
10
|
-
import { create } from "./client.js";
|
|
11
|
-
export const SSL_PORT = 9002;
|
|
12
|
-
export const LOCAL_PORT = 8082;
|
|
13
|
-
export const getPort = (protocol) => {
|
|
14
|
-
if (protocol === "https:") {
|
|
15
|
-
return SSL_PORT;
|
|
16
|
-
}
|
|
17
|
-
if (protocol === "http:") {
|
|
18
|
-
return LOCAL_PORT;
|
|
19
|
-
}
|
|
20
|
-
throw new Error("Unsupported protocol: " + protocol);
|
|
21
|
-
};
|
|
22
|
-
const PEER_ID_PATH = "/peer/id";
|
|
23
|
-
const ADDRESS_PATH = "/peer/address";
|
|
24
|
-
const PROGRAM_PATH = "/program";
|
|
25
|
-
const LIBRARY_PATH = "/library";
|
|
26
|
-
export const checkExistPath = async (path) => {
|
|
27
|
-
const fs = await import("fs");
|
|
28
|
-
try {
|
|
29
|
-
if (!fs.existsSync(path)) {
|
|
30
|
-
fs.accessSync(path, fs.constants.W_OK); // will throw if fails
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
catch (err) {
|
|
36
|
-
if (err.message.indexOf("no such file")) {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
throw new Error("Can not access path");
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
export const createPassword = async () => {
|
|
43
|
-
const fs = await import("fs");
|
|
44
|
-
const configDir = await getConfigDir();
|
|
45
|
-
const credentialsPath = await getCredentialsPath(configDir);
|
|
46
|
-
if (await checkExistPath(credentialsPath)) {
|
|
47
|
-
throw new Error("Config path for credentials: " + credentialsPath + ", already exist");
|
|
48
|
-
}
|
|
49
|
-
console.log(`Creating config folder ${configDir}`);
|
|
50
|
-
fs.mkdirSync(configDir, { recursive: true });
|
|
51
|
-
await waitFor(() => fs.existsSync(configDir));
|
|
52
|
-
console.log(`Created config folder ${configDir}`);
|
|
53
|
-
const password = uuid();
|
|
54
|
-
fs.writeFileSync(credentialsPath, JSON.stringify({ username: "admin", password }));
|
|
55
|
-
console.log(`Created credentials at ${credentialsPath}`);
|
|
56
|
-
return password;
|
|
57
|
-
};
|
|
58
|
-
export const loadPassword = async () => {
|
|
59
|
-
const fs = await import("fs");
|
|
60
|
-
const configDir = await getConfigDir();
|
|
61
|
-
const credentialsPath = await getCredentialsPath(configDir);
|
|
62
|
-
if (!(await checkExistPath(credentialsPath))) {
|
|
63
|
-
throw new NotFoundError("Credentials file does not exist");
|
|
64
|
-
}
|
|
65
|
-
const password = JSON.parse(fs.readFileSync(credentialsPath, "utf-8")).password;
|
|
66
|
-
if (!password || password.length === 0) {
|
|
67
|
-
throw new NotFoundError("Password not found");
|
|
68
|
-
}
|
|
69
|
-
return password;
|
|
70
|
-
};
|
|
71
|
-
export const loadOrCreatePassword = async () => {
|
|
72
|
-
try {
|
|
73
|
-
return await loadPassword();
|
|
74
|
-
}
|
|
75
|
-
catch (error) {
|
|
76
|
-
if (error instanceof NotFoundError) {
|
|
77
|
-
return createPassword();
|
|
78
|
-
}
|
|
79
|
-
throw error;
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
export const startServerWithNode = async (directory, domain) => {
|
|
83
|
-
const peer = await create(directory, domain);
|
|
84
|
-
const server = await startServer(peer);
|
|
85
|
-
const printNodeInfo = async () => {
|
|
86
|
-
console.log("Starting node with address(es): ");
|
|
87
|
-
const id = await (await client()).peer.id.get();
|
|
88
|
-
console.log("id: " + id);
|
|
89
|
-
console.log("Addresses: ");
|
|
90
|
-
for (const a of await (await client()).peer.addresses.get()) {
|
|
91
|
-
console.log(a.toString());
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
await printNodeInfo();
|
|
95
|
-
const shutDownHook = async (controller, server) => {
|
|
96
|
-
const { exit } = await import("process");
|
|
97
|
-
process.on("SIGINT", async () => {
|
|
98
|
-
console.log("Shutting down node");
|
|
99
|
-
await server.close();
|
|
100
|
-
await controller.stop();
|
|
101
|
-
exit();
|
|
102
|
-
});
|
|
103
|
-
};
|
|
104
|
-
await shutDownHook(peer, server);
|
|
105
|
-
};
|
|
106
|
-
export const startServer = async (client, port = LOCAL_PORT) => {
|
|
107
|
-
const notPeerBitError = "Client is just a Libp2p node, not a full Peerbit client. The command is not supported for this node type";
|
|
108
|
-
const notSupportedError = "Not implemted";
|
|
109
|
-
const password = await loadOrCreatePassword();
|
|
110
|
-
const adminACL = (req) => {
|
|
111
|
-
const auth = req.headers["authorization"];
|
|
112
|
-
if (!auth?.startsWith("Basic ")) {
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
const credentials = auth?.substring("Basic ".length);
|
|
116
|
-
const username = credentials.split(":")[0];
|
|
117
|
-
if (username !== "admin") {
|
|
118
|
-
return false;
|
|
119
|
-
}
|
|
120
|
-
if (password !== credentials.substring(username.length + 1)) {
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
return true;
|
|
124
|
-
};
|
|
125
|
-
const getProgramFromPath = (req, pathIndex) => {
|
|
126
|
-
/* if (!req.url) {
|
|
127
|
-
throw new Error("Missing url");
|
|
128
|
-
}
|
|
129
|
-
const url = new URL(req.url, "http://localhost:" + port);
|
|
130
|
-
const path = url.pathname
|
|
131
|
-
.substring(Math.min(1, url.pathname.length), url.pathname.length)
|
|
132
|
-
.split("/");
|
|
133
|
-
if (path.length <= pathIndex) {
|
|
134
|
-
throw new Error("Invalid path");
|
|
135
|
-
}
|
|
136
|
-
const address = decodeURIComponent(path[pathIndex]);
|
|
137
|
-
const p = client.programs.get(address);
|
|
138
|
-
if (p) {
|
|
139
|
-
return p.program;
|
|
140
|
-
}
|
|
141
|
-
return;
|
|
142
|
-
*/
|
|
143
|
-
throw new Error("Not supported");
|
|
144
|
-
};
|
|
145
|
-
const getBody = (req, callback) => {
|
|
146
|
-
let body = "";
|
|
147
|
-
req.on("data", function (d) {
|
|
148
|
-
body += d;
|
|
149
|
-
});
|
|
150
|
-
req.on("end", function () {
|
|
151
|
-
callback(body);
|
|
152
|
-
});
|
|
153
|
-
};
|
|
154
|
-
const e404 = "404";
|
|
155
|
-
const endpoints = (client) => {
|
|
156
|
-
return async (req, res) => {
|
|
157
|
-
res.setHeader("Access-Control-Allow-Origin", "*");
|
|
158
|
-
res.setHeader("Access-Control-Request-Method", "*");
|
|
159
|
-
res.setHeader("Access-Control-Allow-Headers", "*");
|
|
160
|
-
res.setHeader("Access-Control-Allow-Methods", "*");
|
|
161
|
-
const r404 = () => {
|
|
162
|
-
res.writeHead(404);
|
|
163
|
-
res.end(e404);
|
|
164
|
-
};
|
|
165
|
-
try {
|
|
166
|
-
if (req.url) {
|
|
167
|
-
if (!req.url.startsWith(PEER_ID_PATH) &&
|
|
168
|
-
!req.url.startsWith(ADDRESS_PATH) &&
|
|
169
|
-
!(await adminACL(req))) {
|
|
170
|
-
res.writeHead(401);
|
|
171
|
-
res.end("Not authorized");
|
|
172
|
-
return;
|
|
173
|
-
}
|
|
174
|
-
else if (req.url.startsWith(PROGRAM_PATH)) {
|
|
175
|
-
if (true /* client instanceof Peerbit === false */) {
|
|
176
|
-
res.writeHead(400);
|
|
177
|
-
res.write(notSupportedError);
|
|
178
|
-
res.end();
|
|
179
|
-
} /* else {
|
|
180
|
-
switch (req.method) {
|
|
181
|
-
case "GET":
|
|
182
|
-
try {
|
|
183
|
-
const program = getProgramFromPath(req, 1);
|
|
184
|
-
if (program) {
|
|
185
|
-
res.writeHead(200);
|
|
186
|
-
res.write(toBase64(serialize(program)));
|
|
187
|
-
res.end();
|
|
188
|
-
} else {
|
|
189
|
-
res.writeHead(404);
|
|
190
|
-
res.end();
|
|
191
|
-
}
|
|
192
|
-
} catch (error: any) {
|
|
193
|
-
res.writeHead(404);
|
|
194
|
-
res.end(error.message);
|
|
195
|
-
}
|
|
196
|
-
break;
|
|
197
|
-
|
|
198
|
-
case "PUT":
|
|
199
|
-
getBody(req, (body) => {
|
|
200
|
-
try {
|
|
201
|
-
const parsed = deserialize(fromBase64(body), Program);
|
|
202
|
-
(client as Peerbit)
|
|
203
|
-
.open(parsed)
|
|
204
|
-
.then((program) => {
|
|
205
|
-
res.writeHead(200);
|
|
206
|
-
res.end(program.address.toString());
|
|
207
|
-
})
|
|
208
|
-
.catch((error) => {
|
|
209
|
-
res.writeHead(400);
|
|
210
|
-
res.end(
|
|
211
|
-
"Failed to open program: " + error.toString()
|
|
212
|
-
);
|
|
213
|
-
});
|
|
214
|
-
} catch (error) {
|
|
215
|
-
res.writeHead(400);
|
|
216
|
-
res.end("Invalid base64 program binary");
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
break;
|
|
220
|
-
|
|
221
|
-
default:
|
|
222
|
-
r404();
|
|
223
|
-
break;
|
|
224
|
-
}
|
|
225
|
-
} */
|
|
226
|
-
}
|
|
227
|
-
else if (req.url.startsWith(LIBRARY_PATH)) {
|
|
228
|
-
const url = new URL(req.url, "http://localhost:" + port);
|
|
229
|
-
switch (req.method) {
|
|
230
|
-
case "PUT":
|
|
231
|
-
getBody(req, (body) => {
|
|
232
|
-
const name = body;
|
|
233
|
-
if (name && name.length === 0) {
|
|
234
|
-
res.writeHead(400);
|
|
235
|
-
res.end("Invalid library: " + name);
|
|
236
|
-
}
|
|
237
|
-
else {
|
|
238
|
-
import(/* webpackIgnore: true */ /* @vite-ignore */ name)
|
|
239
|
-
.then(() => {
|
|
240
|
-
res.writeHead(200);
|
|
241
|
-
res.end();
|
|
242
|
-
})
|
|
243
|
-
.catch((e) => {
|
|
244
|
-
res.writeHead(400);
|
|
245
|
-
res.end(e.message.toString?.());
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
});
|
|
249
|
-
break;
|
|
250
|
-
default:
|
|
251
|
-
r404();
|
|
252
|
-
break;
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
else if (req.url.startsWith(PEER_ID_PATH)) {
|
|
256
|
-
res.writeHead(200);
|
|
257
|
-
res.end(client.peerId.toString());
|
|
258
|
-
}
|
|
259
|
-
else if (req.url.startsWith(ADDRESS_PATH)) {
|
|
260
|
-
res.setHeader("Content-Type", "application/json");
|
|
261
|
-
res.writeHead(200);
|
|
262
|
-
const addresses = client.getMultiaddrs().map((x) => x.toString());
|
|
263
|
-
res.end(JSON.stringify(addresses));
|
|
264
|
-
}
|
|
265
|
-
else {
|
|
266
|
-
r404();
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
else {
|
|
270
|
-
r404();
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
catch (error) {
|
|
274
|
-
res.writeHead(500);
|
|
275
|
-
console.error(error?.message);
|
|
276
|
-
res.end("Unexpected error");
|
|
277
|
-
}
|
|
278
|
-
};
|
|
279
|
-
};
|
|
280
|
-
setMaxListeners(Infinity); // TODO make this better (lower and large enough)
|
|
281
|
-
process.setMaxListeners(Infinity); // TODO make this better (lower and large enough)
|
|
282
|
-
const server = http.createServer(endpoints(client));
|
|
283
|
-
server.listen(port);
|
|
284
|
-
server.on("error", (e) => {
|
|
285
|
-
console.error("Server error: " + e?.message);
|
|
286
|
-
import("fs").then((fs) => {
|
|
287
|
-
fs.writeFile("error.log", JSON.stringify(e.message), function () {
|
|
288
|
-
/* void */ 0;
|
|
289
|
-
});
|
|
290
|
-
});
|
|
291
|
-
});
|
|
292
|
-
console.log("API available at port", port);
|
|
293
|
-
return server;
|
|
294
|
-
};
|
|
295
|
-
export const client = async (endpoint = "http://localhost:" + LOCAL_PORT) => {
|
|
296
|
-
const { default: axios } = await import("axios");
|
|
297
|
-
const validateStatus = (status) => {
|
|
298
|
-
return (status >= 200 && status < 300) || status == 404;
|
|
299
|
-
};
|
|
300
|
-
const throwIfNot200 = (resp) => {
|
|
301
|
-
if (resp.status !== 200) {
|
|
302
|
-
throw new Error(resp.data);
|
|
303
|
-
}
|
|
304
|
-
return resp;
|
|
305
|
-
};
|
|
306
|
-
const getBodyByStatus = (resp) => {
|
|
307
|
-
if (resp.status === 404) {
|
|
308
|
-
return;
|
|
309
|
-
}
|
|
310
|
-
if (resp.status == 200) {
|
|
311
|
-
return resp.data;
|
|
312
|
-
}
|
|
313
|
-
throw new Error(typeof resp.data === "string" ? resp.data : resp.data.toString());
|
|
314
|
-
};
|
|
315
|
-
const getId = async () => throwIfNot200(await axios.get(endpoint + PEER_ID_PATH, { validateStatus }))
|
|
316
|
-
.data;
|
|
317
|
-
const getHeaders = async () => {
|
|
318
|
-
const headers = {
|
|
319
|
-
authorization: "Basic admin:" + (await loadPassword()),
|
|
320
|
-
};
|
|
321
|
-
return headers;
|
|
322
|
-
};
|
|
323
|
-
return {
|
|
324
|
-
peer: {
|
|
325
|
-
id: {
|
|
326
|
-
get: getId,
|
|
327
|
-
},
|
|
328
|
-
addresses: {
|
|
329
|
-
get: async () => {
|
|
330
|
-
return throwIfNot200(await axios.get(endpoint + ADDRESS_PATH, {
|
|
331
|
-
validateStatus,
|
|
332
|
-
headers: await getHeaders(),
|
|
333
|
-
})).data.map((x) => multiaddr(x));
|
|
334
|
-
},
|
|
335
|
-
},
|
|
336
|
-
},
|
|
337
|
-
program: {
|
|
338
|
-
get: async (address) => {
|
|
339
|
-
const result = getBodyByStatus(await axios.get(endpoint +
|
|
340
|
-
PROGRAM_PATH +
|
|
341
|
-
"/" +
|
|
342
|
-
encodeURIComponent(address.toString()), { validateStatus, headers: await getHeaders() }));
|
|
343
|
-
return !result ? undefined : deserialize(fromBase64(result), Program);
|
|
344
|
-
},
|
|
345
|
-
/**
|
|
346
|
-
* @param program Program, or base64 string representation
|
|
347
|
-
* @param topic, topic
|
|
348
|
-
* @returns
|
|
349
|
-
*/
|
|
350
|
-
put: async (program) => {
|
|
351
|
-
const base64 = program instanceof Program ? toBase64(serialize(program)) : program;
|
|
352
|
-
const resp = throwIfNot200(await axios.put(endpoint + PROGRAM_PATH, base64, {
|
|
353
|
-
validateStatus,
|
|
354
|
-
headers: await getHeaders(),
|
|
355
|
-
}));
|
|
356
|
-
return resp.data;
|
|
357
|
-
},
|
|
358
|
-
},
|
|
359
|
-
library: {
|
|
360
|
-
put: async (name) => {
|
|
361
|
-
throwIfNot200(await axios.put(endpoint + LIBRARY_PATH, name, {
|
|
362
|
-
validateStatus,
|
|
363
|
-
headers: await getHeaders(),
|
|
364
|
-
}));
|
|
365
|
-
return;
|
|
366
|
-
},
|
|
367
|
-
},
|
|
368
|
-
};
|
|
369
|
-
};
|
|
370
|
-
//# sourceMappingURL=api.js.map
|
package/lib/esm/api.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/package.json
DELETED