Private Swarms

Run your own relay and an isolated PSK overlay instead of the default public bootstrap.

Note: a swarm key protects network membership (reachability). It never authorizes Pipe access — every open still requires a signed Access Lease. Treat swarm keys as secrets; rotate by generating a new key and rejoining all nodes.

1. Generate a swarm key

$ tubo keygen swarm --out swarm.key

2. Run a transport-only relay

$ tubo relay --listen /ip4/0.0.0.0/tcp/4001 \
    --public-addr /ip4/1.2.3.4/tcp/4001 \
    --swarm-key ./swarm.key
relay address: /ip4/1.2.3.4/tcp/4001/p2p/12D3Koo...

Open TCP 4001 in the host and cloud firewalls. The relay forwards bytes and assists NAT traversal — it never authorizes.

3. Join nodes to the overlay

$ tubo join overlay --relay /ip4/1.2.3.4/tcp/4001/p2p/12D3Koo... --swarm-key ./swarm.key

4. Attach, share, connect

Exactly the standard flow — invites, redemption, and Access Leases are unchanged; only reachability differs.

Zero-config alternative

Without join overlay, Tubo uses the embedded, signed public bootstrap bundle (relay.tubo.click, pinned PeerID, verified Ed25519 signature, expiry-bounded). No configuration, no Scope, no discovery, and no user-configured authority are required.