Network Requirements
Exact hostnames, ports, and direct-connect rules for EnderDash signaling, STUN, TURN, downloads, and browser access.
Allowlist summary
Use this table when you need exact firewall, egress-policy, or network-policy entries.
| Host or endpoint | Required when | Protocols and ports | Purpose |
|---|---|---|---|
app.enderdash.com | Always | TCP 443 | EnderDash application traffic. |
signaling.enderdash.com | Always, unless you override the signaling host | TCP 443 | Signaling WebSocket at wss://signaling.enderdash.com/ws. |
turn.cloudflare.com | Recommended for restrictive networks | UDP 3478, TCP 80, 3478, 443, 5349 | TURN relay fallback when direct WebRTC cannot connect. |
stun.cloudflare.com | Recommended for direct connectivity | UDP 3478 | STUN discovery. |
checkip.amazonaws.com | Optional | TCP 443 | Agent-owned public-IP discovery for metadata and easier NAT debugging. |
downloads.enderdash.com | Optional | TCP 443 | Agent downloads and update checks. |
enderdash.com | Optional | TCP 443 | Docs and marketing site. Not required for the running agent. |
Custom signaling host
If you override signalingUrl in the agent config, allow that host instead of signaling.enderdash.com.
Minimum egress sets
Minimum to register and signal
Allow outbound access to:
app.enderdash.com:443signaling.enderdash.com:443
Minimum for restrictive environments that still need a working browser session
Also allow outbound access to:
turn.cloudflare.comstun.cloudflare.com
That gives WebRTC relay and discovery support even when direct peer-to-peer traffic is blocked.
Direct connectivity rules
Direct browser-to-agent connectivity is not only a domain allowlist problem. After signaling succeeds, the browser and the agent try candidate IPs and ports directly.
That means:
- FQDN allowlists alone are not enough for direct connectivity.
- If you want direct connections, you must allow the agent's candidate ports through your firewall or router.
- If you do nothing, the agent chooses ports dynamically.
- If you want predictable ports, use a fixed range instead.
Example:
restrictPorts: true
webrtcMinPort: 10000
webrtcMaxPort: 10010If you use a fixed range, allow both UDP and TCP for the same ports.
Public-address advertisement
In many environments the agent can discover its own public IP automatically. If that lookup is blocked or wrong for your NAT layout, configure the public address manually:
advertisePublicAddress: true
publicAddress: "203.0.113.50"Use the public IP that actually forwards traffic to the runtime.
What you usually do not need
enderdash.comfor the running runtime itselfcheckip.amazonaws.comif relay fallback is acceptable and you do not care about public-IP metadata- any additional browser-to-agent hostnames beyond the runtime's own reachable IPs and ports
Related pages
Was this page helpful?
Send a quick note if anything is missing or unclear.
Last updated on