orbitdb-relay-pinner 0.9.0 → 0.9.1
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/.env.example +10 -0
- package/README.md +9 -0
- package/dist/relay.d.ts.map +1 -1
- package/dist/relay.js +65 -2
- package/dist/relay.js.map +1 -1
- package/docs/libp2p-service.md +5 -0
- package/docs/systemd-deployment.md +20 -4
- package/package.json +10 -8
package/.env.example
CHANGED
|
@@ -63,6 +63,16 @@
|
|
|
63
63
|
# TEST_PRIVATE_KEY=
|
|
64
64
|
# RELAY_PRIV_KEY=
|
|
65
65
|
|
|
66
|
+
# --- Optional libp2p connectivity debug protocols ---
|
|
67
|
+
# Expose /connectivity-echo/1.0.0 for line-based echo tests.
|
|
68
|
+
# RELAY_CONNECTIVITY_ECHO_ENABLED=false
|
|
69
|
+
# Expose /connectivity-bulk/1.0.0 for framed bulk round-trip tests.
|
|
70
|
+
# RELAY_CONNECTIVITY_BULK_ENABLED=false
|
|
71
|
+
# Optional bulk protocol tuning (defaults: 262144 bytes, 10000ms read, 30000ms idle).
|
|
72
|
+
# RELAY_CONNECTIVITY_BULK_MAX_FRAME_BYTES=262144
|
|
73
|
+
# RELAY_CONNECTIVITY_BULK_READ_TIMEOUT_MS=10000
|
|
74
|
+
# RELAY_CONNECTIVITY_BULK_IDLE_TIMEOUT_MS=30000
|
|
75
|
+
|
|
66
76
|
# --- TLS (optional) ---
|
|
67
77
|
# disableAutoTLS=
|
|
68
78
|
# STAGING=false
|
package/README.md
CHANGED
|
@@ -29,6 +29,15 @@ Run:
|
|
|
29
29
|
orbitdb-relay-pinner
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
+
Optional connectivity debug protocols for test tooling are disabled by default in the CLI/runtime. Enable them with env vars before startup:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
RELAY_CONNECTIVITY_ECHO_ENABLED=1 orbitdb-relay-pinner
|
|
36
|
+
RELAY_CONNECTIVITY_BULK_ENABLED=1 orbitdb-relay-pinner
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Bulk tuning is also available through `RELAY_CONNECTIVITY_BULK_MAX_FRAME_BYTES`, `RELAY_CONNECTIVITY_BULK_READ_TIMEOUT_MS`, and `RELAY_CONNECTIVITY_BULK_IDLE_TIMEOUT_MS`.
|
|
40
|
+
|
|
32
41
|
Default listener ports:
|
|
33
42
|
|
|
34
43
|
- TCP: `9091` via `RELAY_TCP_PORT`
|
package/dist/relay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"AASA,OAAO,EAAqC,KAAK,qCAAqC,EAAE,MAAM,oDAAoD,CAAA;AAKlJ,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,qCAAqC,CAAA;IACtD,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,YAAY,CAAC,EAAE,aAAa,GAAG,+BAA+B,CAAA;QAC9D,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B,CAAA;
|
|
1
|
+
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"AASA,OAAO,EAAqC,KAAK,qCAAqC,EAAE,MAAM,oDAAoD,CAAA;AAKlJ,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,qCAAqC,CAAA;IACtD,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,YAAY,CAAC,EAAE,aAAa,GAAG,+BAA+B,CAAA;QAC9D,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B,CAAA;AA+HD,wBAAsB,UAAU,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAkF/E"}
|
package/dist/relay.js
CHANGED
|
@@ -10,6 +10,68 @@ import { connectivityDebugProtocolsService } from './services/connectivity-debug
|
|
|
10
10
|
import { setupEventHandlers } from './events/handlers.js';
|
|
11
11
|
import { loggingConfig } from './config/logging.js';
|
|
12
12
|
import { headsStreamLog, log } from './utils/logger.js';
|
|
13
|
+
function readBooleanEnvVar(name) {
|
|
14
|
+
const raw = process.env[name]?.trim().toLowerCase();
|
|
15
|
+
if (raw == null || raw === '')
|
|
16
|
+
return undefined;
|
|
17
|
+
if (raw === '1' || raw === 'true')
|
|
18
|
+
return true;
|
|
19
|
+
if (raw === '0' || raw === 'false')
|
|
20
|
+
return false;
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
function readNumberEnvVar(name) {
|
|
24
|
+
const raw = process.env[name]?.trim();
|
|
25
|
+
if (raw == null || raw === '')
|
|
26
|
+
return undefined;
|
|
27
|
+
const parsed = Number(raw);
|
|
28
|
+
return Number.isFinite(parsed) ? parsed : undefined;
|
|
29
|
+
}
|
|
30
|
+
function readDebugProtocolsFromEnv() {
|
|
31
|
+
const echoEnabled = readBooleanEnvVar('RELAY_CONNECTIVITY_ECHO_ENABLED');
|
|
32
|
+
const bulkEnabled = readBooleanEnvVar('RELAY_CONNECTIVITY_BULK_ENABLED');
|
|
33
|
+
const maxFrameBytes = readNumberEnvVar('RELAY_CONNECTIVITY_BULK_MAX_FRAME_BYTES');
|
|
34
|
+
const readTimeoutMs = readNumberEnvVar('RELAY_CONNECTIVITY_BULK_READ_TIMEOUT_MS');
|
|
35
|
+
const idleTimeoutMs = readNumberEnvVar('RELAY_CONNECTIVITY_BULK_IDLE_TIMEOUT_MS');
|
|
36
|
+
const echo = echoEnabled === undefined
|
|
37
|
+
? undefined
|
|
38
|
+
: {
|
|
39
|
+
enabled: echoEnabled,
|
|
40
|
+
};
|
|
41
|
+
const bulk = bulkEnabled === undefined &&
|
|
42
|
+
maxFrameBytes === undefined &&
|
|
43
|
+
readTimeoutMs === undefined &&
|
|
44
|
+
idleTimeoutMs === undefined
|
|
45
|
+
? undefined
|
|
46
|
+
: {
|
|
47
|
+
enabled: bulkEnabled,
|
|
48
|
+
maxFrameBytes,
|
|
49
|
+
readTimeoutMs,
|
|
50
|
+
idleTimeoutMs,
|
|
51
|
+
};
|
|
52
|
+
if (echo == null && bulk == null)
|
|
53
|
+
return undefined;
|
|
54
|
+
return { ...(echo ? { echo } : {}), ...(bulk ? { bulk } : {}) };
|
|
55
|
+
}
|
|
56
|
+
function mergeDebugProtocolOptions(envOptions, runtimeOptions) {
|
|
57
|
+
const merged = {
|
|
58
|
+
echo: envOptions?.echo || runtimeOptions?.echo
|
|
59
|
+
? {
|
|
60
|
+
...(envOptions?.echo ?? {}),
|
|
61
|
+
...(runtimeOptions?.echo ?? {}),
|
|
62
|
+
}
|
|
63
|
+
: undefined,
|
|
64
|
+
bulk: envOptions?.bulk || runtimeOptions?.bulk
|
|
65
|
+
? {
|
|
66
|
+
...(envOptions?.bulk ?? {}),
|
|
67
|
+
...(runtimeOptions?.bulk ?? {}),
|
|
68
|
+
}
|
|
69
|
+
: undefined,
|
|
70
|
+
};
|
|
71
|
+
if (merged.echo == null && merged.bulk == null)
|
|
72
|
+
return undefined;
|
|
73
|
+
return merged;
|
|
74
|
+
}
|
|
13
75
|
function attachOrbitdbHeadsStreamLogging(libp2p) {
|
|
14
76
|
if (!libp2p || libp2p.__orbitdbHeadsLoggingAttached)
|
|
15
77
|
return;
|
|
@@ -55,6 +117,7 @@ function attachOrbitdbHeadsStreamLogging(libp2p) {
|
|
|
55
117
|
}
|
|
56
118
|
export async function startRelay(opts = {}) {
|
|
57
119
|
const isTestMode = Boolean(opts.testMode);
|
|
120
|
+
const debugProtocols = mergeDebugProtocolOptions(readDebugProtocolsFromEnv(), opts.debugProtocols);
|
|
58
121
|
const storageDir = opts.storageDir || process.env.DATASTORE_PATH || process.env.RELAY_DATASTORE_PATH || './orbitdb/pinning-service';
|
|
59
122
|
const storage = await initializeStorage(storageDir);
|
|
60
123
|
const { blockstore, datastore } = storage;
|
|
@@ -71,9 +134,9 @@ export async function startRelay(opts = {}) {
|
|
|
71
134
|
blockstore,
|
|
72
135
|
orbitdbDirectory: join(storageDir, 'orbitdb'),
|
|
73
136
|
}),
|
|
74
|
-
...(
|
|
137
|
+
...(debugProtocols != null
|
|
75
138
|
? {
|
|
76
|
-
connectivityDebugProtocols: connectivityDebugProtocolsService(
|
|
139
|
+
connectivityDebugProtocols: connectivityDebugProtocolsService(debugProtocols),
|
|
77
140
|
}
|
|
78
141
|
: {}),
|
|
79
142
|
}));
|
package/dist/relay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.js","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"relay.js","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"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"}
|
package/docs/libp2p-service.md
CHANGED
|
@@ -11,6 +11,11 @@ It also exports:
|
|
|
11
11
|
- `createPinningHttpRequestHandler()` for embedding `/health`, `/multiaddrs`, `/pinning/*`, and `/ipfs/*`
|
|
12
12
|
- `PinningHttpServer` as a small HTTP(S) wrapper around that request handler
|
|
13
13
|
|
|
14
|
+
In the default `startRelay()` runtime, those debug protocols stay disabled unless you either:
|
|
15
|
+
|
|
16
|
+
- pass `debugProtocols` programmatically, or
|
|
17
|
+
- set `RELAY_CONNECTIVITY_ECHO_ENABLED=1` and/or `RELAY_CONNECTIVITY_BULK_ENABLED=1`
|
|
18
|
+
|
|
14
19
|
## Install
|
|
15
20
|
|
|
16
21
|
Published package:
|
|
@@ -79,7 +79,7 @@ sudo tee /opt/orbitdb-relay-pinner/package.json >/dev/null <<'EOF'
|
|
|
79
79
|
"private": true,
|
|
80
80
|
"type": "module",
|
|
81
81
|
"dependencies": {
|
|
82
|
-
"orbitdb-relay-pinner": "^0.
|
|
82
|
+
"orbitdb-relay-pinner": "^0.9.1"
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
EOF
|
|
@@ -102,12 +102,28 @@ Edit `/etc/default/orbitdb-relay-pinner`:
|
|
|
102
102
|
1. **`DATASTORE_PATH=/var/lib/orbitdb-relay-pinner`**
|
|
103
103
|
2. **`VITE_APPEND_ANNOUNCE`** — set to your **public IPv4** and ports **28191–28193**. Example for **`relay2.seidenwege.com`** (or **`relay.seidenwege.com`**) at `203.0.113.7`:
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
```bash
|
|
106
|
+
VITE_APPEND_ANNOUNCE=/ip4/203.0.113.7/tcp/28191,/ip4/203.0.113.7/tcp/28192/ws,/ip4/203.0.113.7/udp/28193/webrtc-direct
|
|
107
|
+
```
|
|
108
108
|
|
|
109
109
|
3. Do **not** set `disableAutoTLS` for production WSS via AutoTLS.
|
|
110
110
|
4. Optional: `STAGING=true` while testing Let’s Encrypt **staging** (then remove for production).
|
|
111
|
+
5. Optional: enable the test/debug libp2p protocols only when you actively need them:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
RELAY_CONNECTIVITY_ECHO_ENABLED=1
|
|
115
|
+
RELAY_CONNECTIVITY_BULK_ENABLED=1
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Optional bulk tuning:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
RELAY_CONNECTIVITY_BULK_MAX_FRAME_BYTES=262144
|
|
122
|
+
RELAY_CONNECTIVITY_BULK_READ_TIMEOUT_MS=10000
|
|
123
|
+
RELAY_CONNECTIVITY_BULK_IDLE_TIMEOUT_MS=30000
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Leave them unset for normal production operation; they are disabled by default.
|
|
111
127
|
|
|
112
128
|
### 4. systemd unit
|
|
113
129
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orbitdb-relay-pinner",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "OrbitDB relay + pinning/sync service for Helia/libp2p stacks.",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"pinning"
|
|
22
22
|
],
|
|
23
23
|
"license": "MIT",
|
|
24
|
+
"packageManager": "pnpm@10.33.0",
|
|
24
25
|
"engines": {
|
|
25
26
|
"node": ">=22"
|
|
26
27
|
},
|
|
@@ -41,6 +42,13 @@
|
|
|
41
42
|
"bin": {
|
|
42
43
|
"orbitdb-relay-pinner": "dist/cli.js"
|
|
43
44
|
},
|
|
45
|
+
"scripts": {
|
|
46
|
+
"start": "DEBUG=le-space:relay:* node dist/cli.js",
|
|
47
|
+
"build": "tsc -p tsconfig.json && node scripts/add-shebang.mjs",
|
|
48
|
+
"test": "pnpm run build && mocha --timeout 180000 \"mocha/**/*.mjs\"",
|
|
49
|
+
"test:integration:relay-media": "pnpm run build && mocha --timeout 180000 \"mocha/relay-media-replication.mjs\"",
|
|
50
|
+
"prepack": "pnpm run build"
|
|
51
|
+
},
|
|
44
52
|
"overrides": {
|
|
45
53
|
"it-length-prefixed": "9.1.1"
|
|
46
54
|
},
|
|
@@ -94,11 +102,5 @@
|
|
|
94
102
|
"@types/node": "^22.13.1",
|
|
95
103
|
"mocha": "^11.7.2",
|
|
96
104
|
"typescript": "^5.8.3"
|
|
97
|
-
},
|
|
98
|
-
"scripts": {
|
|
99
|
-
"start": "DEBUG=le-space:relay:* node dist/cli.js",
|
|
100
|
-
"build": "tsc -p tsconfig.json && node scripts/add-shebang.mjs",
|
|
101
|
-
"test": "pnpm run build && mocha --timeout 180000 \"mocha/**/*.mjs\"",
|
|
102
|
-
"test:integration:relay-media": "pnpm run build && mocha --timeout 180000 \"mocha/relay-media-replication.mjs\""
|
|
103
105
|
}
|
|
104
|
-
}
|
|
106
|
+
}
|