@peerbit/server 2.0.0 → 4.0.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.
Files changed (59) hide show
  1. package/lib/esm/aws.browser.d.ts +0 -0
  2. package/lib/esm/aws.browser.js +3 -0
  3. package/lib/esm/aws.browser.js.map +1 -0
  4. package/lib/esm/aws.d.ts +19 -0
  5. package/lib/esm/aws.js +185 -1
  6. package/lib/esm/aws.js.map +1 -1
  7. package/lib/esm/cli.js +614 -299
  8. package/lib/esm/cli.js.map +1 -1
  9. package/lib/esm/client.d.ts +13 -1
  10. package/lib/esm/client.js +101 -31
  11. package/lib/esm/client.js.map +1 -1
  12. package/lib/esm/config.d.ts +3 -3
  13. package/lib/esm/config.js +18 -16
  14. package/lib/esm/config.js.map +1 -1
  15. package/lib/esm/docker.browser.d.ts +0 -0
  16. package/lib/esm/docker.browser.js +3 -0
  17. package/lib/esm/docker.browser.js.map +1 -0
  18. package/lib/esm/domain.js +1 -1
  19. package/lib/esm/domain.js.map +1 -1
  20. package/lib/esm/peerbit.d.ts +2 -0
  21. package/lib/esm/peerbit.js +1 -0
  22. package/lib/esm/peerbit.js.map +1 -1
  23. package/lib/esm/remotes.d.ts +15 -3
  24. package/lib/esm/remotes.js +8 -9
  25. package/lib/esm/remotes.js.map +1 -1
  26. package/lib/esm/routes.d.ts +4 -2
  27. package/lib/esm/routes.js +6 -4
  28. package/lib/esm/routes.js.map +1 -1
  29. package/lib/esm/server.d.ts +5 -7
  30. package/lib/esm/server.js +183 -185
  31. package/lib/esm/server.js.map +1 -1
  32. package/lib/esm/signes-request.d.ts +5 -0
  33. package/lib/esm/signes-request.js +54 -0
  34. package/lib/esm/signes-request.js.map +1 -0
  35. package/lib/esm/trust.browser.d.ts +0 -0
  36. package/lib/esm/trust.browser.js +3 -0
  37. package/lib/esm/trust.browser.js.map +1 -0
  38. package/lib/esm/trust.d.ts +9 -0
  39. package/lib/esm/trust.js +36 -0
  40. package/lib/esm/trust.js.map +1 -0
  41. package/lib/ui/assets/aws.browser-4ed993c7.js +1 -0
  42. package/lib/ui/assets/index-5ed0229d.js +77 -0
  43. package/lib/ui/index.html +1 -1
  44. package/package.json +13 -7
  45. package/src/aws.browser.ts +1 -0
  46. package/src/aws.ts +250 -1
  47. package/src/cli.ts +726 -348
  48. package/src/client.ts +145 -38
  49. package/src/config.ts +21 -23
  50. package/src/docker.browser.ts +1 -0
  51. package/src/domain.ts +1 -1
  52. package/src/peerbit.ts +3 -0
  53. package/src/remotes.ts +24 -12
  54. package/src/routes.ts +6 -5
  55. package/src/server.ts +238 -254
  56. package/src/signes-request.ts +84 -0
  57. package/src/trust.browser.ts +1 -0
  58. package/src/trust.ts +39 -0
  59. package/lib/ui/assets/index-73eaa3bc.js +0 -53
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Identity, PublicSignKey, Ed25519PublicKey } from "@peerbit/crypto";
2
+ import http from "http";
3
+ export declare const signRequest: (headers: Record<string, string>, method: string, path: string, data: string | undefined, keypair: Identity<Ed25519PublicKey>) => Promise<void>;
4
+ export declare const getBody: (req: http.IncomingMessage) => Promise<string>;
5
+ export declare const verifyRequest: (headers: Record<string, string | string[] | undefined>, method: string, path: string, body?: string) => Promise<PublicSignKey>;
@@ -0,0 +1,54 @@
1
+ import { SignatureWithKey, fromBase64, toBase64, verify, } from "@peerbit/crypto";
2
+ import { deserialize, serialize, BinaryWriter } from "@dao-xyz/borsh";
3
+ const SIGNATURE_KEY = "X-Peerbit-Signature";
4
+ const SIGNATURE_TIME_KEY = "X-Peerbit-Signature-Time";
5
+ export const signRequest = async (headers, method, path, data, keypair) => {
6
+ const sigTimestamp = Math.round(new Date().getTime() / 1000).toString();
7
+ const write = new BinaryWriter();
8
+ if (!method) {
9
+ throw new Error("Expecting method");
10
+ }
11
+ if (!path) {
12
+ throw new Error("Expecting path");
13
+ }
14
+ write.string(method.toLowerCase() + path.toLowerCase() + sigTimestamp + (data || ""));
15
+ const signature = await keypair.sign(write.finalize());
16
+ headers[SIGNATURE_TIME_KEY] = sigTimestamp;
17
+ headers[SIGNATURE_KEY] = toBase64(serialize(signature));
18
+ };
19
+ export const getBody = (req) => {
20
+ return new Promise((resolve, reject) => {
21
+ let body = "";
22
+ req.on("data", (d) => {
23
+ body += d;
24
+ });
25
+ req.on("end", () => {
26
+ resolve(body);
27
+ });
28
+ req.on("error", (e) => reject(e));
29
+ });
30
+ };
31
+ export const verifyRequest = async (headers, method, path, body = "") => {
32
+ const timestamp = headers[SIGNATURE_TIME_KEY] || headers[SIGNATURE_TIME_KEY.toLowerCase()];
33
+ if (typeof timestamp !== "string") {
34
+ throw new Error("Unexpected timestamp type: " + typeof timestamp);
35
+ }
36
+ const write = new BinaryWriter();
37
+ if (!method) {
38
+ throw new Error("Expecting method");
39
+ }
40
+ if (!path) {
41
+ throw new Error("Expecting path");
42
+ }
43
+ write.string(method.toLowerCase() + path.toLowerCase() + timestamp + body);
44
+ const signature = headers[SIGNATURE_KEY] || headers[SIGNATURE_KEY.toLowerCase()];
45
+ if (typeof signature !== "string") {
46
+ throw new Error("Unexpected signature type: " + typeof signature);
47
+ }
48
+ const signatureWithKey = deserialize(fromBase64(signature), SignatureWithKey);
49
+ if (await verify(signatureWithKey, write.finalize())) {
50
+ return signatureWithKey.publicKey;
51
+ }
52
+ throw new Error("Invalid signature");
53
+ };
54
+ //# sourceMappingURL=signes-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signes-request.js","sourceRoot":"","sources":["../../src/signes-request.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // Not supported
3
+ //# sourceMappingURL=trust.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust.browser.js","sourceRoot":"","sources":["../../src/trust.browser.ts"],"names":[],"mappings":";AAAA,gBAAgB"}
@@ -0,0 +1,9 @@
1
+ export declare class Trust {
2
+ readonly path: string;
3
+ trusted: string[];
4
+ constructor(path: string);
5
+ save(): void;
6
+ isTrusted(hashcode: string): boolean;
7
+ add(key: string): void;
8
+ remove(hashcode: string): boolean;
9
+ }
@@ -0,0 +1,36 @@
1
+ import fs from "fs";
2
+ export class Trust {
3
+ path;
4
+ trusted;
5
+ constructor(path) {
6
+ this.path = path;
7
+ if (fs.existsSync(path)) {
8
+ this.trusted = JSON.parse(fs.readFileSync(path).toString("utf-8"));
9
+ }
10
+ else {
11
+ this.trusted = [];
12
+ }
13
+ }
14
+ save() {
15
+ fs.writeFileSync(this.path, JSON.stringify(this.trusted));
16
+ }
17
+ isTrusted(hashcode) {
18
+ return this.trusted.includes(hashcode);
19
+ }
20
+ add(key) {
21
+ if (this.isTrusted(key)) {
22
+ return;
23
+ }
24
+ this.trusted.push(key);
25
+ this.save();
26
+ }
27
+ remove(hashcode) {
28
+ const existing = this.trusted.findIndex((x) => (x = hashcode));
29
+ if (existing >= 0) {
30
+ this.trusted.splice(existing, 1);
31
+ return true;
32
+ }
33
+ return false;
34
+ }
35
+ }
36
+ //# sourceMappingURL=trust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust.js","sourceRoot":"","sources":["../../src/trust.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,OAAO,KAAK;IAEI;IADrB,OAAO,CAAW;IAClB,YAAqB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QAChC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC3B,CAAC;SACd;aAAM;YACN,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;SAClB;IACF,CAAC;IAED,IAAI;QACH,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,GAAG,CAAC,GAAW;QACd,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACxB,OAAO;SACP;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAED,MAAM,CAAC,QAAgB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QAC/D,IAAI,QAAQ,IAAI,CAAC,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CACD"}