Skip to content

Ports

Every well-known port in the system, in one table. The short version: nothing you run at home listens on the network. The gateway and CLI only dial out (WSS to a relay), the gateway's console binds loopback only, and the only component that opens public ports is a relay — the system relay fleet, or an edge you host yourself.

PortComponentBindPurpose
443/tcpRelay (system + edge)publicThe WSS endpoints everything dials — gateways, clients, and the relay's own links up to the console. On an edge this is the tls_listen listener, default :443, settable or off for a LAN-only edge. With the nginx front installed, nginx owns :443 and passes through.
443/udp (QUIC)Relay (system + edge)public, optionalThe QUIC transport on the system relay fleet. On an edge, QUIC has no default — it is off unless quic_addr is set in ~/.burrowee/edge/config (or --quic-addr), and it binds exactly the address you give; nginx does not front it.
16518/tcpGateway127.0.0.1 onlyThe local console — the gateway's web UI + JSON API. Never reachable from the network; disable with --console off.
8448/tcpEdgeLAN interfacesThe nginx LAN TLS front (nginx --listen-lan, default 8448). Terminates the pinned LAN cert and proxies to the edge's loopback listener below. This is the port advertised in LAN endpoints.
9448/tcpEdge127.0.0.1 onlyThe edge's plain-WS LAN listener (lan_listen, default 127.0.0.1:9448) — only ever reached through the nginx front on 8448.
operator-set, off by defaultEdgepublic (bypasses nginx)The edge-to-edge bridging raw listener (raw_port in ~/.burrowee/edge/config, or edge cli bridge raw-port <port>) — serves the same relay service on a dedicated port nginx never fronts, so isolated carriers between bridged edges aren't double-handled by the reverse proxy. Unset (off) keeps an edge byte-identical to one with no bridging configured.
ephemeralCLI127.0.0.1:0The local forward listener connect/ssh opens for each tunnel (--local to pin one). ssh always uses an ephemeral loopback port.

Unix sockets (not TCP, listed for completeness)

SocketComponentPurpose
~/.burrowee/cli/sockets/transport.sockCLI daemonTransport IPC — stream consumers, plus every relays/gateways subcommand that mutates or needs a live answer (use, rm, pair, resync, probe, ping, …). Not used by the list forms or routes, which read config.json directly
~/.burrowee/gateway/sockets/register.sockGatewayburrowee-register registers local services
~/.burrowee/gateway/sockets/console.sockGatewayThe separate burrowee-gateway-console process triggers key/carrier operations on the daemon over this socket

Each lives under its component home (~/.burrowee/<cli\|gateway>/sockets/). On a pathologically long home path the transport socket overflows to $XDG_RUNTIME_DIR/burrowee/transport.sock (OS temp dir when XDG_RUNTIME_DIR is unset) and the register socket to the fixed path /usr/local/var/burrowee/gateway/sockets/register.sock. Paths and overrides: Config homes & files.

What dials what

Outbound-only summary — useful for firewall rules:

FromToProtocol
CLIrelay :443 (and QUIC if configured); LAN-published edge origins first when presentWSS / QUIC
Gatewayevery configured relay :443WSS
Edgethe Burrowee console (compiled-in host)WSS + HTTPS
Gateway → local servicee.g. 127.0.0.1:22 on the gateway hostplain TCP (the target you exposed)