libp2p-mesh 2026.6.27 → 2026.6.28
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/README.md +9 -17
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/src/mesh.d.ts +5 -0
- package/dist/src/mesh.js +13 -16
- package/dist/src/mesh.js.map +1 -1
- package/dist/src/setup-config.d.ts +13 -0
- package/dist/src/setup-config.js +21 -0
- package/dist/src/setup-config.js.map +1 -1
- package/dist/src/setup-wizard.d.ts +1 -1
- package/dist/src/setup-wizard.js +69 -65
- package/dist/src/setup-wizard.js.map +1 -1
- package/dist/src/types.d.ts +3 -1
- package/index.ts +3 -2
- package/package.json +1 -1
- package/src/mesh.ts +18 -14
- package/src/setup-config.ts +33 -0
- package/src/setup-wizard.ts +98 -81
- package/src/types.ts +3 -1
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ P2P mesh network plugin for OpenClaw. Enables direct peer-to-peer communication
|
|
|
7
7
|
- **LAN Discovery** — Auto-discovers peers on the same local network via mDNS (Bonjour/Avahi)
|
|
8
8
|
- **Direct Messaging** — Send messages directly to another peer by its Peer ID
|
|
9
9
|
- **Broadcast** — Publish messages to a shared topic, flood-fill forwarded across the mesh
|
|
10
|
-
- **Bootstrap
|
|
10
|
+
- **Bootstrap Entries** — Optional static bootstrap peer list for non-LAN scenarios
|
|
11
11
|
- **WebSocket Transport** — Optional WebSocket support for NAT/firewall-friendly connections
|
|
12
12
|
- **NAT Traversal** — Built-in AutoNAT + UPnP + Circuit Relay v2 + DCUtR for peers behind home routers / firewalls
|
|
13
13
|
- **User Public Attributes** — Announce public tags and structured profile attributes so agents can dry-run and send to locally discovered instances by attribute
|
|
@@ -69,7 +69,6 @@ The default generated config shape is:
|
|
|
69
69
|
"libp2p-mesh": {
|
|
70
70
|
"enabled": true,
|
|
71
71
|
"config": {
|
|
72
|
-
"discovery": "mdns",
|
|
73
72
|
"deliveryAckTimeoutMs": 15000
|
|
74
73
|
}
|
|
75
74
|
}
|
|
@@ -251,7 +250,7 @@ Use the interactive setup command for advanced network settings and later edits:
|
|
|
251
250
|
openclaw libp2p-mesh setup
|
|
252
251
|
```
|
|
253
252
|
|
|
254
|
-
The wizard enables the plugin when needed and writes `plugins.entries["libp2p-mesh"].config`. On later runs, it edits the existing `libp2p-mesh` entry instead of replacing it blindly.
|
|
253
|
+
The wizard enables the plugin when needed and writes `plugins.entries["libp2p-mesh"].config`. On later runs, it edits the existing `libp2p-mesh` entry instead of replacing it blindly. Network discovery is automatic: mDNS, DHT, NAT traversal, relay transport, and hole punching are enabled by default. Network setup only adds optional bootstrap/relay entry addresses or public relay-node parameters; inbound delivery chooses where received P2P messages should appear. After each edit action, the wizard previews the final JSON and only writes after you confirm. When syncing from existing channels, leave a target empty to skip that channel.
|
|
255
254
|
|
|
256
255
|
The wizard uses OpenClaw's config writer, so the actual file is your normal OpenClaw config path, usually `~/.openclaw/openclaw.json`. You do not need to manually edit `openclaw.json`, and the wizard does not create `channels["libp2p-mesh"]`.
|
|
257
256
|
|
|
@@ -272,7 +271,6 @@ For two computers on the same WiFi or Ethernet segment, no setup wizard is requi
|
|
|
272
271
|
"libp2p-mesh": {
|
|
273
272
|
"enabled": true,
|
|
274
273
|
"config": {
|
|
275
|
-
"discovery": "mdns",
|
|
276
274
|
"deliveryAckTimeoutMs": 15000
|
|
277
275
|
}
|
|
278
276
|
}
|
|
@@ -281,7 +279,7 @@ For two computers on the same WiFi or Ethernet segment, no setup wizard is requi
|
|
|
281
279
|
}
|
|
282
280
|
```
|
|
283
281
|
|
|
284
|
-
This is sufficient for two computers on the same WiFi to discover each other.
|
|
282
|
+
This is sufficient for two computers on the same WiFi to discover each other. The runtime still enables mDNS and DHT automatically even when these fields are not written to `openclaw.json`.
|
|
285
283
|
|
|
286
284
|
### With Static Port (Optional)
|
|
287
285
|
|
|
@@ -294,7 +292,6 @@ By default, the node picks a random TCP port. To use a fixed port:
|
|
|
294
292
|
"libp2p-mesh": {
|
|
295
293
|
"enabled": true,
|
|
296
294
|
"config": {
|
|
297
|
-
"discovery": "mdns",
|
|
298
295
|
"listenAddrs": ["/ip4/0.0.0.0/tcp/4001"],
|
|
299
296
|
"deliveryAckTimeoutMs": 15000
|
|
300
297
|
}
|
|
@@ -306,7 +303,7 @@ By default, the node picks a random TCP port. To use a fixed port:
|
|
|
306
303
|
|
|
307
304
|
### With Bootstrap Nodes (Cross-Network)
|
|
308
305
|
|
|
309
|
-
If peers are on different networks, run the setup wizard and
|
|
306
|
+
If peers are on different networks, run the setup wizard and add bootstrap and optional relay multiaddrs. These addresses are entry points; they do not replace LAN discovery or DHT. The address prompts can be left empty if you do not have an entry node yet.
|
|
310
307
|
|
|
311
308
|
```json
|
|
312
309
|
{
|
|
@@ -315,7 +312,6 @@ If peers are on different networks, run the setup wizard and choose cross-networ
|
|
|
315
312
|
"libp2p-mesh": {
|
|
316
313
|
"enabled": true,
|
|
317
314
|
"config": {
|
|
318
|
-
"discovery": "bootstrap",
|
|
319
315
|
"bootstrapList": [
|
|
320
316
|
"/ip4/203.0.113.10/tcp/4001/p2p/12D3KooW..."
|
|
321
317
|
],
|
|
@@ -344,7 +340,6 @@ Example wizard output with two targets:
|
|
|
344
340
|
"libp2p-mesh": {
|
|
345
341
|
"enabled": true,
|
|
346
342
|
"config": {
|
|
347
|
-
"discovery": "mdns",
|
|
348
343
|
"inboundTargets": [
|
|
349
344
|
{
|
|
350
345
|
"id": "feishu-main",
|
|
@@ -371,19 +366,21 @@ If `inboundTargets` is an empty array, inbound delivery is disabled. If `inbound
|
|
|
371
366
|
|
|
372
367
|
| Key | Type | Default | Description |
|
|
373
368
|
|-----|------|---------|-------------|
|
|
374
|
-
| `discovery` | `string` |
|
|
369
|
+
| `discovery` | `string` | legacy-compatible | Legacy hint. New setup does not write this field; runtime composes discovery from mDNS, DHT, and optional entry lists. |
|
|
375
370
|
| `listenAddrs` | `string[]` | `["/ip4/0.0.0.0/tcp/0"]` | libp2p listen multiaddrs |
|
|
376
|
-
| `bootstrapList` | `string[]` | `[]` |
|
|
371
|
+
| `bootstrapList` | `string[]` | `[]` | Optional static bootstrap peer multiaddrs. Non-empty values add bootstrap discovery without disabling mDNS or DHT. |
|
|
377
372
|
| `enableWebSocket` | `boolean` | `false` | Enable WebSocket transport for browser/NAT compatibility |
|
|
378
373
|
| `meshTopic` | `string` | `"openclaw-mesh"` | Default broadcast topic |
|
|
379
374
|
| `enableAgentSync` | `boolean` | `true` | Enable agent state synchronization over the mesh |
|
|
380
375
|
| `enableNATTraversal` | `boolean` | `true` | Master switch for identify + AutoNAT + UPnP + Circuit Relay v2 + DCUtR |
|
|
376
|
+
| `enableMDNS` | `boolean` | `true` | Enable mDNS LAN peer discovery |
|
|
381
377
|
| `enableIdentify` | `boolean` | `true` | libp2p identify protocol (required by AutoNAT and DCUtR) |
|
|
382
378
|
| `enableAutoNAT` | `boolean` | `true` | AutoNAT — detect whether this node is publicly reachable |
|
|
383
379
|
| `enableUPnP` | `boolean` | `true` | Attempt UPnP/PMP port mapping on the local gateway |
|
|
384
380
|
| `enableCircuitRelay` | `boolean` | `true` | Dial peers via /p2p-circuit relay addresses |
|
|
385
381
|
| `enableCircuitRelayServer` | `boolean` | `false` | Act as a Circuit Relay v2 server (only enable on a public node) |
|
|
386
382
|
| `enableDCUtR` | `boolean` | `true` | Hole-punching: upgrade a relayed connection to a direct one |
|
|
383
|
+
| `enableDHT` | `boolean` | `true` | Enable DHT for WAN peer discovery and the pubkey registry |
|
|
387
384
|
| `relayList` | `string[]` | `[]` | Multiaddrs of relays to reserve a slot on |
|
|
388
385
|
| `discoverRelays` | `number` | `0` | Auto-discover this many relays via content routing |
|
|
389
386
|
| `announceAddrs` | `string[]` | `[]` | Extra multiaddrs to announce on top of auto-detected ones |
|
|
@@ -435,7 +432,6 @@ You need at least one relay node with a public IP. Set it in `relayList`:
|
|
|
435
432
|
"libp2p-mesh": {
|
|
436
433
|
"enabled": true,
|
|
437
434
|
"config": {
|
|
438
|
-
"discovery": "bootstrap",
|
|
439
435
|
"bootstrapList": [
|
|
440
436
|
"/ip4/<RELAY-IP>/tcp/4001/p2p/<RELAY-PEER-ID>"
|
|
441
437
|
],
|
|
@@ -464,7 +460,6 @@ Add `enableCircuitRelayServer: true` to your config and announce the public addr
|
|
|
464
460
|
"libp2p-mesh": {
|
|
465
461
|
"enabled": true,
|
|
466
462
|
"config": {
|
|
467
|
-
"discovery": "bootstrap",
|
|
468
463
|
"listenAddrs": ["/ip4/0.0.0.0/tcp/4001"],
|
|
469
464
|
"announceAddrs": ["/ip4/<PUBLIC-IP>/tcp/4001"],
|
|
470
465
|
"enableNATTraversal": true,
|
|
@@ -567,7 +562,6 @@ Example result for a single Feishu target:
|
|
|
567
562
|
"libp2p-mesh": {
|
|
568
563
|
"enabled": true,
|
|
569
564
|
"config": {
|
|
570
|
-
"discovery": "mdns",
|
|
571
565
|
"inboundTargets": [
|
|
572
566
|
{
|
|
573
567
|
"id": "feishu-main",
|
|
@@ -595,7 +589,6 @@ The receiver chooses where inbound P2P messages appear:
|
|
|
595
589
|
"libp2p-mesh": {
|
|
596
590
|
"enabled": true,
|
|
597
591
|
"config": {
|
|
598
|
-
"discovery": "mdns",
|
|
599
592
|
"inboundTargets": [
|
|
600
593
|
{
|
|
601
594
|
"id": "feishu-main",
|
|
@@ -843,10 +836,9 @@ Privacy boundary: public attributes are broadcast with instance announce message
|
|
|
843
836
|
3. **Check mDNS** — Ensure mDNS/Bonjour/Avahi is running:
|
|
844
837
|
- macOS: built-in, should work
|
|
845
838
|
- Linux: `sudo systemctl status avahi-daemon`
|
|
846
|
-
4. **Use static port + manual IP** — If mDNS still fails,
|
|
839
|
+
4. **Use static port + manual IP** — If mDNS still fails, add the other node as a bootstrap entry by LAN IP:
|
|
847
840
|
```json
|
|
848
841
|
{
|
|
849
|
-
"discovery": "bootstrap",
|
|
850
842
|
"bootstrapList": [
|
|
851
843
|
"/ip4/192.168.1.42/tcp/4001/p2p/<PEER-ID-OF-OTHER-MACHINE>"
|
|
852
844
|
]
|
package/dist/index.js
CHANGED
|
@@ -32,11 +32,12 @@ function createLibp2pMeshConfigSchema() {
|
|
|
32
32
|
type: "string",
|
|
33
33
|
enum: ["mdns", "bootstrap", "dht"],
|
|
34
34
|
default: "mdns",
|
|
35
|
+
description: "Legacy discovery hint. Runtime now composes mDNS, DHT, and optional bootstrap entries automatically.",
|
|
35
36
|
},
|
|
36
37
|
bootstrapList: {
|
|
37
38
|
type: "array",
|
|
38
39
|
items: { type: "string" },
|
|
39
|
-
description: "
|
|
40
|
+
description: "Optional static bootstrap multiaddrs. Non-empty values add bootstrap discovery without disabling mDNS or DHT.",
|
|
40
41
|
},
|
|
41
42
|
meshTopic: {
|
|
42
43
|
type: "string",
|
|
@@ -53,7 +54,7 @@ function createLibp2pMeshConfigSchema() {
|
|
|
53
54
|
enableDHT: {
|
|
54
55
|
type: "boolean",
|
|
55
56
|
default: true,
|
|
56
|
-
description: "Enable DHT for WAN peer discovery and pubkey registry. Default true
|
|
57
|
+
description: "Enable DHT for WAN peer discovery and pubkey registry. Default true; can be explicitly disabled.",
|
|
57
58
|
},
|
|
58
59
|
instanceName: {
|
|
59
60
|
type: "string",
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,SAAS,4BAA4B;IACnC,OAAO;QACL,SAAS,CAAC,KAAc;YACtB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChE,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,EAAE;iBACrE,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACxC,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,OAAO,EAAE,CAAC,oBAAoB,CAAC;iBAChC;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,+DAA+D;iBAC7E;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC;oBAClC,OAAO,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/mesh.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { MeshConfig, MeshNetwork } from "./types.js";
|
|
2
|
+
export declare function planPeerDiscovery(config: MeshConfig): {
|
|
3
|
+
useMDNS: boolean;
|
|
4
|
+
bootstrapList: string[];
|
|
5
|
+
enableDHT: boolean;
|
|
6
|
+
};
|
|
2
7
|
export declare function createMeshNetwork(options: {
|
|
3
8
|
config?: MeshConfig;
|
|
4
9
|
logger?: {
|
package/dist/src/mesh.js
CHANGED
|
@@ -58,6 +58,13 @@ async function loadOrCreatePeerId(customPath) {
|
|
|
58
58
|
return peerId;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
+
export function planPeerDiscovery(config) {
|
|
62
|
+
return {
|
|
63
|
+
useMDNS: config.enableMDNS !== false,
|
|
64
|
+
bootstrapList: config.bootstrapList ?? [],
|
|
65
|
+
enableDHT: config.enableDHT !== false,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
61
68
|
export function createMeshNetwork(options) {
|
|
62
69
|
const config = options.config ?? {};
|
|
63
70
|
const logger = options.logger;
|
|
@@ -97,28 +104,18 @@ export function createMeshNetwork(options) {
|
|
|
97
104
|
transports.push(webSockets());
|
|
98
105
|
}
|
|
99
106
|
// Peer discovery: mDNS for LAN, bootstrap for WAN entry points
|
|
107
|
+
const discoveryPlan = planPeerDiscovery(config);
|
|
100
108
|
const peerDiscovery = [];
|
|
101
|
-
|
|
102
|
-
if (discoveryMechanism === "mdns") {
|
|
109
|
+
if (discoveryPlan.useMDNS) {
|
|
103
110
|
peerDiscovery.push(mdns({ interval: 1000 }));
|
|
104
111
|
logger?.info?.("[libp2p-mesh] Using mDNS discovery (LAN)");
|
|
105
112
|
}
|
|
106
|
-
if (
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
peerDiscovery.push(bootstrap({ list: bootstrapList }));
|
|
110
|
-
logger?.info?.(`[libp2p-mesh] Using bootstrap discovery (${bootstrapList.length} node(s))`);
|
|
111
|
-
}
|
|
112
|
-
else if (discoveryMechanism === "bootstrap") {
|
|
113
|
-
logger?.warn?.("[libp2p-mesh] discovery=bootstrap but bootstrapList is empty; falling back to mDNS");
|
|
114
|
-
peerDiscovery.push(mdns({ interval: 1000 }));
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
logger?.warn?.("[libp2p-mesh] discovery=dht but bootstrapList is empty; DHT may not find peers");
|
|
118
|
-
}
|
|
113
|
+
if (discoveryPlan.bootstrapList.length > 0) {
|
|
114
|
+
peerDiscovery.push(bootstrap({ list: discoveryPlan.bootstrapList }));
|
|
115
|
+
logger?.info?.(`[libp2p-mesh] Using bootstrap discovery (${discoveryPlan.bootstrapList.length} node(s))`);
|
|
119
116
|
}
|
|
120
117
|
// Configure DHT for both WAN peer discovery and pubkey registry
|
|
121
|
-
const enableDHT =
|
|
118
|
+
const enableDHT = discoveryPlan.enableDHT;
|
|
122
119
|
const services = {};
|
|
123
120
|
if (enableDHT) {
|
|
124
121
|
services.dht = kadDHT({
|
package/dist/src/mesh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh.js","sourceRoot":"","sources":["../../src/mesh.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mesh.js","sourceRoot":"","sources":["../../src/mesh.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,17 @@ export type RelayNodeOptions = {
|
|
|
21
21
|
listenAddrs: string[];
|
|
22
22
|
announceAddrs: string[];
|
|
23
23
|
};
|
|
24
|
+
export type NetworkEntryOptions = {
|
|
25
|
+
bootstrapList: string[];
|
|
26
|
+
relayList: string[];
|
|
27
|
+
};
|
|
28
|
+
export type PublicRelayNodeOptions = {
|
|
29
|
+
enabled: false;
|
|
30
|
+
} | {
|
|
31
|
+
enabled: true;
|
|
32
|
+
listenAddrs: string[];
|
|
33
|
+
announceAddrs: string[];
|
|
34
|
+
};
|
|
24
35
|
export type AddInboundTargetResult = {
|
|
25
36
|
ok: true;
|
|
26
37
|
targets: InboundTargetConfig[];
|
|
@@ -42,6 +53,8 @@ export declare function buildNetworkConfig(mode: SetupMode, options?: {
|
|
|
42
53
|
crossNetwork?: CrossNetworkOptions;
|
|
43
54
|
relayNode?: RelayNodeOptions;
|
|
44
55
|
}): MeshConfig;
|
|
56
|
+
export declare function buildNetworkEntryConfig(options: NetworkEntryOptions): MeshConfig;
|
|
57
|
+
export declare function buildPublicRelayNodeConfig(options: PublicRelayNodeOptions): MeshConfig;
|
|
45
58
|
export declare function applyDefaultMeshConfig(config: MeshConfig | undefined): MeshConfig;
|
|
46
59
|
export declare function applyPluginConfig(config: OpenClawConfigLike, pluginConfig: MeshConfig): OpenClawConfigLike;
|
|
47
60
|
export declare function applyAnnounceLogDetail(config: OpenClawConfigLike, announceLogDetail: AnnounceLogDetail): OpenClawConfigLike;
|
package/dist/src/setup-config.js
CHANGED
|
@@ -37,6 +37,27 @@ export function buildNetworkConfig(mode, options) {
|
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
+
export function buildNetworkEntryConfig(options) {
|
|
41
|
+
return {
|
|
42
|
+
...(options.bootstrapList.length > 0 ? { bootstrapList: [...options.bootstrapList] } : {}),
|
|
43
|
+
...(options.relayList.length > 0 ? { relayList: [...options.relayList] } : {}),
|
|
44
|
+
deliveryAckTimeoutMs: DEFAULT_DELIVERY_ACK_TIMEOUT_MS,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export function buildPublicRelayNodeConfig(options) {
|
|
48
|
+
if (!options.enabled) {
|
|
49
|
+
return {
|
|
50
|
+
enableCircuitRelayServer: false,
|
|
51
|
+
deliveryAckTimeoutMs: DEFAULT_DELIVERY_ACK_TIMEOUT_MS,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
listenAddrs: [...options.listenAddrs],
|
|
56
|
+
...(options.announceAddrs.length > 0 ? { announceAddrs: [...options.announceAddrs] } : {}),
|
|
57
|
+
enableCircuitRelayServer: true,
|
|
58
|
+
deliveryAckTimeoutMs: DEFAULT_DELIVERY_ACK_TIMEOUT_MS,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
40
61
|
export function applyDefaultMeshConfig(config) {
|
|
41
62
|
const base = config && typeof config === "object" && !Array.isArray(config)
|
|
42
63
|
? config
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-config.js","sourceRoot":"","sources":["../../src/setup-config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-config.js","sourceRoot":"","sources":["../../src/setup-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { type OpenClawConfigLike } from "./setup-config.js";
|
|
|
3
3
|
export declare class SetupCancelledError extends Error {
|
|
4
4
|
constructor();
|
|
5
5
|
}
|
|
6
|
-
export type SetupPromptChoice = "continue" | "cancel" | "
|
|
6
|
+
export type SetupPromptChoice = "continue" | "cancel" | "add-targets" | "sync-from-channels" | "disable-inbound" | "skip-inbound" | "network-entry-addresses" | "public-relay-node" | "inbound-targets" | "convert-legacy-inbound" | "keep-legacy-inbound" | "replace-legacy-inbound" | "add-target" | "edit-target" | "remove-target" | "finish-targets";
|
|
7
7
|
export type SetupPrompter = {
|
|
8
8
|
confirm(message: string, defaultValue?: boolean): Promise<boolean>;
|
|
9
9
|
select<T extends string>(message: string, choices: Array<{
|
package/dist/src/setup-wizard.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addInboundTarget, applyPluginConfig,
|
|
1
|
+
import { addInboundTarget, applyPluginConfig, buildNetworkEntryConfig, buildPublicRelayNodeConfig, disableInboundDelivery, getLibp2pMeshConfig, listConfiguredChannels, planInboundTargetSync, migrateLegacyInboundConfig, setInboundTargets, } from "./setup-config.js";
|
|
2
2
|
const MANUAL_CHANNEL_VALUE = "__manual__";
|
|
3
3
|
const CANCELLED_MESSAGE = "Configuration cancelled. No changes were written.";
|
|
4
4
|
const APPLIED_MESSAGE = "Config updated.\n\nRestart the gateway to apply changes:\nopenclaw gateway restart";
|
|
@@ -49,8 +49,8 @@ async function runFirstConfigFlow(options) {
|
|
|
49
49
|
if (!shouldContinue) {
|
|
50
50
|
return undefined;
|
|
51
51
|
}
|
|
52
|
-
|
|
53
|
-
let pluginConfig = await
|
|
52
|
+
options.prompter.print("Network discovery is enabled automatically.\nmDNS, DHT, NAT traversal, relay transport, and hole punching are enabled by default.");
|
|
53
|
+
let pluginConfig = await promptForNetworkEntryConfig({}, options.prompter, { keepExistingOnEmpty: false });
|
|
54
54
|
const inboundChoice = await options.prompter.select("Configure where received P2P messages should appear?", [
|
|
55
55
|
{ label: "Sync from existing channels", value: "sync-from-channels" },
|
|
56
56
|
{ label: "Add a target manually", value: "add-targets" },
|
|
@@ -74,32 +74,25 @@ async function runFirstConfigFlow(options) {
|
|
|
74
74
|
}
|
|
75
75
|
async function runExistingConfigFlow(existingConfig, options) {
|
|
76
76
|
let pluginConfig = cloneMeshConfig(existingConfig) ?? {};
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
pluginConfig = await promptForExistingInboundConfig(pluginConfig, options);
|
|
97
|
-
break;
|
|
98
|
-
case "preview-apply":
|
|
99
|
-
return pluginConfig;
|
|
100
|
-
case "cancel":
|
|
101
|
-
return undefined;
|
|
102
|
-
}
|
|
77
|
+
options.prompter.print(formatCurrentConfig(pluginConfig));
|
|
78
|
+
const editChoice = await options.prompter.select("What do you want to edit?", [
|
|
79
|
+
{ label: "Sync inbound targets from channels", value: "sync-from-channels" },
|
|
80
|
+
{ label: "Network entry addresses", value: "network-entry-addresses" },
|
|
81
|
+
{ label: "Public relay-node settings", value: "public-relay-node" },
|
|
82
|
+
{ label: "Where received P2P messages appear", value: "inbound-targets" },
|
|
83
|
+
{ label: "Cancel", value: "cancel" },
|
|
84
|
+
]);
|
|
85
|
+
switch (editChoice) {
|
|
86
|
+
case "sync-from-channels":
|
|
87
|
+
return syncInboundTargetsFromConfiguredChannels(pluginConfig, options);
|
|
88
|
+
case "network-entry-addresses":
|
|
89
|
+
return promptForNetworkEntryConfig(pluginConfig, options.prompter, { keepExistingOnEmpty: true });
|
|
90
|
+
case "public-relay-node":
|
|
91
|
+
return promptForPublicRelayNodeConfig(pluginConfig, options.prompter);
|
|
92
|
+
case "inbound-targets":
|
|
93
|
+
return promptForExistingInboundConfig(pluginConfig, options);
|
|
94
|
+
case "cancel":
|
|
95
|
+
return undefined;
|
|
103
96
|
}
|
|
104
97
|
}
|
|
105
98
|
async function promptForExistingInboundConfig(pluginConfig, options) {
|
|
@@ -186,48 +179,59 @@ function formatInboundTargetLine(target) {
|
|
|
186
179
|
function hasLegacyOnlyInboundConfig(pluginConfig) {
|
|
187
180
|
return Boolean(pluginConfig.inboundChannel && pluginConfig.inboundTarget && !Array.isArray(pluginConfig.inboundTargets));
|
|
188
181
|
}
|
|
189
|
-
async function
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
relayList: await promptForOptionalAddressList(prompter, "Relay multiaddr (optional, leave empty to skip)", "Add another relay?"),
|
|
203
|
-
},
|
|
204
|
-
});
|
|
205
|
-
case "relay-node":
|
|
206
|
-
return buildNetworkConfig("relay-node", {
|
|
207
|
-
relayNode: {
|
|
208
|
-
listenAddrs: [await prompter.input("Listen address", { defaultValue: "/ip4/0.0.0.0/tcp/4001", required: true })],
|
|
209
|
-
announceAddrs: [await prompter.input("Public announce address", { required: true })],
|
|
210
|
-
},
|
|
211
|
-
});
|
|
212
|
-
default:
|
|
213
|
-
return buildNetworkConfig(mode);
|
|
182
|
+
async function promptForNetworkEntryConfig(existing, prompter, options) {
|
|
183
|
+
const bootstrapList = await promptForOptionalAddressList(prompter, options.keepExistingOnEmpty
|
|
184
|
+
? "Bootstrap multiaddr (optional, leave empty to keep unchanged)"
|
|
185
|
+
: "Bootstrap multiaddr (optional, leave empty to skip)", "Add another bootstrap?");
|
|
186
|
+
const relayList = await promptForOptionalAddressList(prompter, options.keepExistingOnEmpty
|
|
187
|
+
? "Relay multiaddr (optional, leave empty to keep unchanged)"
|
|
188
|
+
: "Relay multiaddr (optional, leave empty to skip)", "Add another relay?");
|
|
189
|
+
if (options.keepExistingOnEmpty) {
|
|
190
|
+
return {
|
|
191
|
+
...existing,
|
|
192
|
+
...(bootstrapList.length > 0 ? { bootstrapList } : {}),
|
|
193
|
+
...(relayList.length > 0 ? { relayList } : {}),
|
|
194
|
+
};
|
|
214
195
|
}
|
|
196
|
+
return {
|
|
197
|
+
...existing,
|
|
198
|
+
...buildNetworkEntryConfig({ bootstrapList, relayList }),
|
|
199
|
+
};
|
|
215
200
|
}
|
|
216
|
-
async function
|
|
217
|
-
const
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
201
|
+
async function promptForPublicRelayNodeConfig(existing, prompter) {
|
|
202
|
+
const enabled = await prompter.confirm("Enable this machine as a public relay node?", false);
|
|
203
|
+
const relayConfig = enabled
|
|
204
|
+
? buildPublicRelayNodeConfig({
|
|
205
|
+
enabled: true,
|
|
206
|
+
listenAddrs: [
|
|
207
|
+
await prompter.input("Listen address", {
|
|
208
|
+
defaultValue: "/ip4/0.0.0.0/tcp/4001",
|
|
209
|
+
required: true,
|
|
210
|
+
}),
|
|
211
|
+
],
|
|
212
|
+
announceAddrs: await promptForOptionalAddressList(prompter, "Public announce address (optional, leave empty to skip)", "Add another public announce address?"),
|
|
213
|
+
})
|
|
214
|
+
: buildPublicRelayNodeConfig({ enabled: false });
|
|
215
|
+
const { listenAddrs: _listenAddrs, announceAddrs: _announceAddrs, enableCircuitRelayServer: _enableCircuitRelayServer, ...preserved } = existing;
|
|
216
|
+
return {
|
|
217
|
+
...preserved,
|
|
218
|
+
enableCircuitRelayServer: relayConfig.enableCircuitRelayServer,
|
|
219
|
+
...(relayConfig.listenAddrs ? { listenAddrs: relayConfig.listenAddrs } : {}),
|
|
220
|
+
...(relayConfig.announceAddrs ? { announceAddrs: relayConfig.announceAddrs } : {}),
|
|
221
|
+
};
|
|
222
222
|
}
|
|
223
223
|
async function promptForOptionalAddressList(prompter, message, addAnotherMessage) {
|
|
224
|
-
const firstAddress = await prompter.input(message);
|
|
224
|
+
const firstAddress = (await prompter.input(message, { required: false })).trim();
|
|
225
225
|
if (!firstAddress) {
|
|
226
226
|
return [];
|
|
227
227
|
}
|
|
228
228
|
const addresses = [firstAddress];
|
|
229
229
|
while (await prompter.confirm(addAnotherMessage, false)) {
|
|
230
|
-
|
|
230
|
+
let nextAddress = "";
|
|
231
|
+
while (!nextAddress) {
|
|
232
|
+
nextAddress = (await prompter.input(message, { required: true })).trim();
|
|
233
|
+
}
|
|
234
|
+
addresses.push(nextAddress);
|
|
231
235
|
}
|
|
232
236
|
return addresses;
|
|
233
237
|
}
|
|
@@ -236,7 +240,7 @@ async function promptForInboundTargets(existingTargets, options, promptOptions)
|
|
|
236
240
|
let action = promptOptions?.promptInitialAction
|
|
237
241
|
? await options.prompter.select("What do you want to do?", [
|
|
238
242
|
{ label: "Add target", value: "add-target" },
|
|
239
|
-
{ label: "
|
|
243
|
+
{ label: "Finish editing", value: "finish-targets" },
|
|
240
244
|
])
|
|
241
245
|
: "add-target";
|
|
242
246
|
while (action === "add-target") {
|
|
@@ -252,7 +256,7 @@ async function promptForInboundTargets(existingTargets, options, promptOptions)
|
|
|
252
256
|
}
|
|
253
257
|
action = await options.prompter.select("Add another target?", [
|
|
254
258
|
{ label: "Add another", value: "add-target" },
|
|
255
|
-
{ label: "Finish
|
|
259
|
+
{ label: "Finish editing", value: "finish-targets" },
|
|
256
260
|
]);
|
|
257
261
|
}
|
|
258
262
|
return targets;
|
|
@@ -265,7 +269,7 @@ async function promptForInboundTargetEdits(existingTargets, options) {
|
|
|
265
269
|
{ label: "Edit target", value: "edit-target" },
|
|
266
270
|
{ label: "Remove target", value: "remove-target" },
|
|
267
271
|
{ label: "Disable inbound delivery", value: "disable-inbound" },
|
|
268
|
-
{ label: "
|
|
272
|
+
{ label: "Finish editing", value: "finish-targets" },
|
|
269
273
|
]);
|
|
270
274
|
switch (action) {
|
|
271
275
|
case "add-target":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../src/setup-wizard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../src/setup-wizard.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -253,7 +253,9 @@ export interface MeshConfig {
|
|
|
253
253
|
enableWebSocket?: boolean;
|
|
254
254
|
peerIdPath?: string;
|
|
255
255
|
instanceName?: string;
|
|
256
|
-
/** Enable
|
|
256
|
+
/** Enable mDNS LAN peer discovery (default: true) */
|
|
257
|
+
enableMDNS?: boolean;
|
|
258
|
+
/** Enable DHT for WAN peer discovery and pubkey registry (default: true) */
|
|
257
259
|
enableDHT?: boolean;
|
|
258
260
|
/**
|
|
259
261
|
* Master switch for the NAT traversal stack. When `false` none of the
|
package/index.ts
CHANGED
|
@@ -34,11 +34,12 @@ function createLibp2pMeshConfigSchema(): OpenClawPluginConfigSchema {
|
|
|
34
34
|
type: "string",
|
|
35
35
|
enum: ["mdns", "bootstrap", "dht"],
|
|
36
36
|
default: "mdns",
|
|
37
|
+
description: "Legacy discovery hint. Runtime now composes mDNS, DHT, and optional bootstrap entries automatically.",
|
|
37
38
|
},
|
|
38
39
|
bootstrapList: {
|
|
39
40
|
type: "array",
|
|
40
41
|
items: { type: "string" },
|
|
41
|
-
description: "
|
|
42
|
+
description: "Optional static bootstrap multiaddrs. Non-empty values add bootstrap discovery without disabling mDNS or DHT.",
|
|
42
43
|
},
|
|
43
44
|
meshTopic: {
|
|
44
45
|
type: "string",
|
|
@@ -55,7 +56,7 @@ function createLibp2pMeshConfigSchema(): OpenClawPluginConfigSchema {
|
|
|
55
56
|
enableDHT: {
|
|
56
57
|
type: "boolean",
|
|
57
58
|
default: true,
|
|
58
|
-
description: "Enable DHT for WAN peer discovery and pubkey registry. Default true
|
|
59
|
+
description: "Enable DHT for WAN peer discovery and pubkey registry. Default true; can be explicitly disabled.",
|
|
59
60
|
},
|
|
60
61
|
instanceName: {
|
|
61
62
|
type: "string",
|
package/package.json
CHANGED
package/src/mesh.ts
CHANGED
|
@@ -70,6 +70,18 @@ async function loadOrCreatePeerId(customPath?: string): Promise<ReturnType<typeo
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
export function planPeerDiscovery(config: MeshConfig): {
|
|
74
|
+
useMDNS: boolean;
|
|
75
|
+
bootstrapList: string[];
|
|
76
|
+
enableDHT: boolean;
|
|
77
|
+
} {
|
|
78
|
+
return {
|
|
79
|
+
useMDNS: config.enableMDNS !== false,
|
|
80
|
+
bootstrapList: config.bootstrapList ?? [],
|
|
81
|
+
enableDHT: config.enableDHT !== false,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
73
85
|
export function createMeshNetwork(options: {
|
|
74
86
|
config?: MeshConfig;
|
|
75
87
|
logger?: { info?: (msg: string) => void; debug?: (msg: string) => void; warn?: (msg: string) => void; error?: (msg: string) => void };
|
|
@@ -122,29 +134,21 @@ export function createMeshNetwork(options: {
|
|
|
122
134
|
}
|
|
123
135
|
|
|
124
136
|
// Peer discovery: mDNS for LAN, bootstrap for WAN entry points
|
|
137
|
+
const discoveryPlan = planPeerDiscovery(config);
|
|
125
138
|
const peerDiscovery: any[] = [];
|
|
126
|
-
const discoveryMechanism = config.discovery ?? "mdns";
|
|
127
139
|
|
|
128
|
-
if (
|
|
140
|
+
if (discoveryPlan.useMDNS) {
|
|
129
141
|
peerDiscovery.push(mdns({ interval: 1000 }));
|
|
130
142
|
logger?.info?.("[libp2p-mesh] Using mDNS discovery (LAN)");
|
|
131
143
|
}
|
|
132
144
|
|
|
133
|
-
if (
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
peerDiscovery.push(bootstrap({ list: bootstrapList }));
|
|
137
|
-
logger?.info?.(`[libp2p-mesh] Using bootstrap discovery (${bootstrapList.length} node(s))`);
|
|
138
|
-
} else if (discoveryMechanism === "bootstrap") {
|
|
139
|
-
logger?.warn?.("[libp2p-mesh] discovery=bootstrap but bootstrapList is empty; falling back to mDNS");
|
|
140
|
-
peerDiscovery.push(mdns({ interval: 1000 }));
|
|
141
|
-
} else {
|
|
142
|
-
logger?.warn?.("[libp2p-mesh] discovery=dht but bootstrapList is empty; DHT may not find peers");
|
|
143
|
-
}
|
|
145
|
+
if (discoveryPlan.bootstrapList.length > 0) {
|
|
146
|
+
peerDiscovery.push(bootstrap({ list: discoveryPlan.bootstrapList }));
|
|
147
|
+
logger?.info?.(`[libp2p-mesh] Using bootstrap discovery (${discoveryPlan.bootstrapList.length} node(s))`);
|
|
144
148
|
}
|
|
145
149
|
|
|
146
150
|
// Configure DHT for both WAN peer discovery and pubkey registry
|
|
147
|
-
const enableDHT =
|
|
151
|
+
const enableDHT = discoveryPlan.enableDHT;
|
|
148
152
|
const services: Record<string, any> = {};
|
|
149
153
|
if (enableDHT) {
|
|
150
154
|
services.dht = kadDHT({
|
package/src/setup-config.ts
CHANGED
|
@@ -28,6 +28,15 @@ export type RelayNodeOptions = {
|
|
|
28
28
|
announceAddrs: string[];
|
|
29
29
|
};
|
|
30
30
|
|
|
31
|
+
export type NetworkEntryOptions = {
|
|
32
|
+
bootstrapList: string[];
|
|
33
|
+
relayList: string[];
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export type PublicRelayNodeOptions =
|
|
37
|
+
| { enabled: false }
|
|
38
|
+
| { enabled: true; listenAddrs: string[]; announceAddrs: string[] };
|
|
39
|
+
|
|
31
40
|
export type AddInboundTargetResult =
|
|
32
41
|
| { ok: true; targets: InboundTargetConfig[]; added: InboundTargetConfig }
|
|
33
42
|
| { ok: false; targets: InboundTargetConfig[]; error: string };
|
|
@@ -88,6 +97,30 @@ export function buildNetworkConfig(
|
|
|
88
97
|
}
|
|
89
98
|
}
|
|
90
99
|
|
|
100
|
+
export function buildNetworkEntryConfig(options: NetworkEntryOptions): MeshConfig {
|
|
101
|
+
return {
|
|
102
|
+
...(options.bootstrapList.length > 0 ? { bootstrapList: [...options.bootstrapList] } : {}),
|
|
103
|
+
...(options.relayList.length > 0 ? { relayList: [...options.relayList] } : {}),
|
|
104
|
+
deliveryAckTimeoutMs: DEFAULT_DELIVERY_ACK_TIMEOUT_MS,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export function buildPublicRelayNodeConfig(options: PublicRelayNodeOptions): MeshConfig {
|
|
109
|
+
if (!options.enabled) {
|
|
110
|
+
return {
|
|
111
|
+
enableCircuitRelayServer: false,
|
|
112
|
+
deliveryAckTimeoutMs: DEFAULT_DELIVERY_ACK_TIMEOUT_MS,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return {
|
|
117
|
+
listenAddrs: [...options.listenAddrs],
|
|
118
|
+
...(options.announceAddrs.length > 0 ? { announceAddrs: [...options.announceAddrs] } : {}),
|
|
119
|
+
enableCircuitRelayServer: true,
|
|
120
|
+
deliveryAckTimeoutMs: DEFAULT_DELIVERY_ACK_TIMEOUT_MS,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
|
|
91
124
|
export function applyDefaultMeshConfig(config: MeshConfig | undefined): MeshConfig {
|
|
92
125
|
const base =
|
|
93
126
|
config && typeof config === "object" && !Array.isArray(config)
|
package/src/setup-wizard.ts
CHANGED
|
@@ -2,16 +2,15 @@ import type { InboundTargetConfig, MeshConfig } from "./types.js";
|
|
|
2
2
|
import {
|
|
3
3
|
addInboundTarget,
|
|
4
4
|
applyPluginConfig,
|
|
5
|
-
|
|
5
|
+
buildNetworkEntryConfig,
|
|
6
|
+
buildPublicRelayNodeConfig,
|
|
6
7
|
disableInboundDelivery,
|
|
7
8
|
getLibp2pMeshConfig,
|
|
8
9
|
listConfiguredChannels,
|
|
9
|
-
mergeNetworkConfig,
|
|
10
10
|
planInboundTargetSync,
|
|
11
11
|
migrateLegacyInboundConfig,
|
|
12
12
|
setInboundTargets,
|
|
13
13
|
type OpenClawConfigLike,
|
|
14
|
-
type SetupMode,
|
|
15
14
|
} from "./setup-config.js";
|
|
16
15
|
|
|
17
16
|
const MANUAL_CHANNEL_VALUE = "__manual__";
|
|
@@ -28,14 +27,12 @@ export class SetupCancelledError extends Error {
|
|
|
28
27
|
export type SetupPromptChoice =
|
|
29
28
|
| "continue"
|
|
30
29
|
| "cancel"
|
|
31
|
-
| "lan"
|
|
32
|
-
| "cross-network"
|
|
33
|
-
| "relay-node"
|
|
34
30
|
| "add-targets"
|
|
35
31
|
| "sync-from-channels"
|
|
36
32
|
| "disable-inbound"
|
|
37
33
|
| "skip-inbound"
|
|
38
|
-
| "network-
|
|
34
|
+
| "network-entry-addresses"
|
|
35
|
+
| "public-relay-node"
|
|
39
36
|
| "inbound-targets"
|
|
40
37
|
| "convert-legacy-inbound"
|
|
41
38
|
| "keep-legacy-inbound"
|
|
@@ -43,8 +40,7 @@ export type SetupPromptChoice =
|
|
|
43
40
|
| "add-target"
|
|
44
41
|
| "edit-target"
|
|
45
42
|
| "remove-target"
|
|
46
|
-
| "finish-targets"
|
|
47
|
-
| "preview-apply";
|
|
43
|
+
| "finish-targets";
|
|
48
44
|
|
|
49
45
|
export type SetupPrompter = {
|
|
50
46
|
confirm(message: string, defaultValue?: boolean): Promise<boolean>;
|
|
@@ -120,8 +116,10 @@ async function runFirstConfigFlow(options: RunSetupWizardOptions): Promise<MeshC
|
|
|
120
116
|
return undefined;
|
|
121
117
|
}
|
|
122
118
|
|
|
123
|
-
|
|
124
|
-
|
|
119
|
+
options.prompter.print(
|
|
120
|
+
"Network discovery is enabled automatically.\nmDNS, DHT, NAT traversal, relay transport, and hole punching are enabled by default.",
|
|
121
|
+
);
|
|
122
|
+
let pluginConfig = await promptForNetworkEntryConfig({}, options.prompter, { keepExistingOnEmpty: false });
|
|
125
123
|
|
|
126
124
|
const inboundChoice = await options.prompter.select("Configure where received P2P messages should appear?", [
|
|
127
125
|
{ label: "Sync from existing channels", value: "sync-from-channels" },
|
|
@@ -153,33 +151,26 @@ async function runExistingConfigFlow(
|
|
|
153
151
|
): Promise<MeshConfig | undefined> {
|
|
154
152
|
let pluginConfig = cloneMeshConfig(existingConfig) ?? {};
|
|
155
153
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
]);
|
|
154
|
+
options.prompter.print(formatCurrentConfig(pluginConfig));
|
|
155
|
+
const editChoice = await options.prompter.select("What do you want to edit?", [
|
|
156
|
+
{ label: "Sync inbound targets from channels", value: "sync-from-channels" },
|
|
157
|
+
{ label: "Network entry addresses", value: "network-entry-addresses" },
|
|
158
|
+
{ label: "Public relay-node settings", value: "public-relay-node" },
|
|
159
|
+
{ label: "Where received P2P messages appear", value: "inbound-targets" },
|
|
160
|
+
{ label: "Cancel", value: "cancel" },
|
|
161
|
+
]);
|
|
165
162
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
break;
|
|
178
|
-
case "preview-apply":
|
|
179
|
-
return pluginConfig;
|
|
180
|
-
case "cancel":
|
|
181
|
-
return undefined;
|
|
182
|
-
}
|
|
163
|
+
switch (editChoice) {
|
|
164
|
+
case "sync-from-channels":
|
|
165
|
+
return syncInboundTargetsFromConfiguredChannels(pluginConfig, options);
|
|
166
|
+
case "network-entry-addresses":
|
|
167
|
+
return promptForNetworkEntryConfig(pluginConfig, options.prompter, { keepExistingOnEmpty: true });
|
|
168
|
+
case "public-relay-node":
|
|
169
|
+
return promptForPublicRelayNodeConfig(pluginConfig, options.prompter);
|
|
170
|
+
case "inbound-targets":
|
|
171
|
+
return promptForExistingInboundConfig(pluginConfig, options);
|
|
172
|
+
case "cancel":
|
|
173
|
+
return undefined;
|
|
183
174
|
}
|
|
184
175
|
}
|
|
185
176
|
|
|
@@ -290,49 +281,71 @@ function hasLegacyOnlyInboundConfig(pluginConfig: MeshConfig): boolean {
|
|
|
290
281
|
return Boolean(pluginConfig.inboundChannel && pluginConfig.inboundTarget && !Array.isArray(pluginConfig.inboundTargets));
|
|
291
282
|
}
|
|
292
283
|
|
|
293
|
-
async function
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
284
|
+
async function promptForNetworkEntryConfig(
|
|
285
|
+
existing: MeshConfig,
|
|
286
|
+
prompter: SetupPrompter,
|
|
287
|
+
options: { keepExistingOnEmpty: boolean },
|
|
288
|
+
): Promise<MeshConfig> {
|
|
289
|
+
const bootstrapList = await promptForOptionalAddressList(
|
|
290
|
+
prompter,
|
|
291
|
+
options.keepExistingOnEmpty
|
|
292
|
+
? "Bootstrap multiaddr (optional, leave empty to keep unchanged)"
|
|
293
|
+
: "Bootstrap multiaddr (optional, leave empty to skip)",
|
|
294
|
+
"Add another bootstrap?",
|
|
295
|
+
);
|
|
296
|
+
const relayList = await promptForOptionalAddressList(
|
|
297
|
+
prompter,
|
|
298
|
+
options.keepExistingOnEmpty
|
|
299
|
+
? "Relay multiaddr (optional, leave empty to keep unchanged)"
|
|
300
|
+
: "Relay multiaddr (optional, leave empty to skip)",
|
|
301
|
+
"Add another relay?",
|
|
302
|
+
);
|
|
300
303
|
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
relayList: await promptForOptionalAddressList(
|
|
308
|
-
prompter,
|
|
309
|
-
"Relay multiaddr (optional, leave empty to skip)",
|
|
310
|
-
"Add another relay?",
|
|
311
|
-
),
|
|
312
|
-
},
|
|
313
|
-
});
|
|
314
|
-
case "relay-node":
|
|
315
|
-
return buildNetworkConfig("relay-node", {
|
|
316
|
-
relayNode: {
|
|
317
|
-
listenAddrs: [await prompter.input("Listen address", { defaultValue: "/ip4/0.0.0.0/tcp/4001", required: true })],
|
|
318
|
-
announceAddrs: [await prompter.input("Public announce address", { required: true })],
|
|
319
|
-
},
|
|
320
|
-
});
|
|
321
|
-
default:
|
|
322
|
-
return buildNetworkConfig(mode);
|
|
304
|
+
if (options.keepExistingOnEmpty) {
|
|
305
|
+
return {
|
|
306
|
+
...existing,
|
|
307
|
+
...(bootstrapList.length > 0 ? { bootstrapList } : {}),
|
|
308
|
+
...(relayList.length > 0 ? { relayList } : {}),
|
|
309
|
+
};
|
|
323
310
|
}
|
|
311
|
+
|
|
312
|
+
return {
|
|
313
|
+
...existing,
|
|
314
|
+
...buildNetworkEntryConfig({ bootstrapList, relayList }),
|
|
315
|
+
};
|
|
324
316
|
}
|
|
325
317
|
|
|
326
|
-
async function
|
|
327
|
-
prompter
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
318
|
+
async function promptForPublicRelayNodeConfig(existing: MeshConfig, prompter: SetupPrompter): Promise<MeshConfig> {
|
|
319
|
+
const enabled = await prompter.confirm("Enable this machine as a public relay node?", false);
|
|
320
|
+
const relayConfig = enabled
|
|
321
|
+
? buildPublicRelayNodeConfig({
|
|
322
|
+
enabled: true,
|
|
323
|
+
listenAddrs: [
|
|
324
|
+
await prompter.input("Listen address", {
|
|
325
|
+
defaultValue: "/ip4/0.0.0.0/tcp/4001",
|
|
326
|
+
required: true,
|
|
327
|
+
}),
|
|
328
|
+
],
|
|
329
|
+
announceAddrs: await promptForOptionalAddressList(
|
|
330
|
+
prompter,
|
|
331
|
+
"Public announce address (optional, leave empty to skip)",
|
|
332
|
+
"Add another public announce address?",
|
|
333
|
+
),
|
|
334
|
+
})
|
|
335
|
+
: buildPublicRelayNodeConfig({ enabled: false });
|
|
336
|
+
const {
|
|
337
|
+
listenAddrs: _listenAddrs,
|
|
338
|
+
announceAddrs: _announceAddrs,
|
|
339
|
+
enableCircuitRelayServer: _enableCircuitRelayServer,
|
|
340
|
+
...preserved
|
|
341
|
+
} = existing;
|
|
342
|
+
|
|
343
|
+
return {
|
|
344
|
+
...preserved,
|
|
345
|
+
enableCircuitRelayServer: relayConfig.enableCircuitRelayServer,
|
|
346
|
+
...(relayConfig.listenAddrs ? { listenAddrs: relayConfig.listenAddrs } : {}),
|
|
347
|
+
...(relayConfig.announceAddrs ? { announceAddrs: relayConfig.announceAddrs } : {}),
|
|
348
|
+
};
|
|
336
349
|
}
|
|
337
350
|
|
|
338
351
|
async function promptForOptionalAddressList(
|
|
@@ -340,13 +353,17 @@ async function promptForOptionalAddressList(
|
|
|
340
353
|
message: string,
|
|
341
354
|
addAnotherMessage: string,
|
|
342
355
|
): Promise<string[]> {
|
|
343
|
-
const firstAddress = await prompter.input(message);
|
|
356
|
+
const firstAddress = (await prompter.input(message, { required: false })).trim();
|
|
344
357
|
if (!firstAddress) {
|
|
345
358
|
return [];
|
|
346
359
|
}
|
|
347
360
|
const addresses = [firstAddress];
|
|
348
361
|
while (await prompter.confirm(addAnotherMessage, false)) {
|
|
349
|
-
|
|
362
|
+
let nextAddress = "";
|
|
363
|
+
while (!nextAddress) {
|
|
364
|
+
nextAddress = (await prompter.input(message, { required: true })).trim();
|
|
365
|
+
}
|
|
366
|
+
addresses.push(nextAddress);
|
|
350
367
|
}
|
|
351
368
|
return addresses;
|
|
352
369
|
}
|
|
@@ -360,7 +377,7 @@ async function promptForInboundTargets(
|
|
|
360
377
|
let action: "add-target" | "finish-targets" = promptOptions?.promptInitialAction
|
|
361
378
|
? await options.prompter.select("What do you want to do?", [
|
|
362
379
|
{ label: "Add target", value: "add-target" },
|
|
363
|
-
{ label: "
|
|
380
|
+
{ label: "Finish editing", value: "finish-targets" },
|
|
364
381
|
])
|
|
365
382
|
: "add-target";
|
|
366
383
|
|
|
@@ -378,7 +395,7 @@ async function promptForInboundTargets(
|
|
|
378
395
|
|
|
379
396
|
action = await options.prompter.select("Add another target?", [
|
|
380
397
|
{ label: "Add another", value: "add-target" },
|
|
381
|
-
{ label: "Finish
|
|
398
|
+
{ label: "Finish editing", value: "finish-targets" },
|
|
382
399
|
]);
|
|
383
400
|
}
|
|
384
401
|
|
|
@@ -401,7 +418,7 @@ async function promptForInboundTargetEdits(
|
|
|
401
418
|
{ label: "Edit target", value: "edit-target" },
|
|
402
419
|
{ label: "Remove target", value: "remove-target" },
|
|
403
420
|
{ label: "Disable inbound delivery", value: "disable-inbound" },
|
|
404
|
-
{ label: "
|
|
421
|
+
{ label: "Finish editing", value: "finish-targets" },
|
|
405
422
|
]);
|
|
406
423
|
|
|
407
424
|
switch (action) {
|
package/src/types.ts
CHANGED
|
@@ -287,7 +287,9 @@ export interface MeshConfig {
|
|
|
287
287
|
enableWebSocket?: boolean;
|
|
288
288
|
peerIdPath?: string;
|
|
289
289
|
instanceName?: string;
|
|
290
|
-
/** Enable
|
|
290
|
+
/** Enable mDNS LAN peer discovery (default: true) */
|
|
291
|
+
enableMDNS?: boolean;
|
|
292
|
+
/** Enable DHT for WAN peer discovery and pubkey registry (default: true) */
|
|
291
293
|
enableDHT?: boolean;
|
|
292
294
|
|
|
293
295
|
// ---------------------------------------------------------------------
|