Skip to content

DEFAULT_WEBRTC_ICE_SERVERS

const DEFAULT_WEBRTC_ICE_SERVERS: ReadonlyArray<Readonly<IceServer>>

Defined in: packages/core/src/peerborne-config.ts:81

Default list of free public STUN servers used to populate the WebRTC iceServers configuration when none is provided by the consumer.

STUN lets peers discover their public IP/port mapping so they can attempt direct browser-to-browser WebRTC connections without depending on a Circuit Relay for data forwarding (issue #236, layered NAT-traversal phase 3).

The list is intentionally kept small (3-4 servers across multiple operators) so we get redundancy without flooding ICE gathering with redundant probes.

Privacy note: Using these defaults discloses each peer’s public IP/port mapping (and approximate location/ISP) to the listed third-party STUN operators. Privacy-sensitive deployments should pass [] to disable STUN entirely, or supply their own self-hosted STUN/TURN endpoints via the webrtcIceServers parameter.

Sources:

  • Google: stun.l.google.com:19302 — the de-facto reference public STUN server, widely used in WebRTC examples and production apps.
  • Cloudflare: stun.cloudflare.com:3478 — operated by Cloudflare’s public WebRTC infra; geographically diverse from Google’s anycast.
  • Twilio (Mozilla-style fallback): global.stun.twilio.com:3478 — commonly recommended free public STUN endpoint.