- "Connect through a bridge" on the sign-in and sign-up screen opens the
bridge panel before any account exists: paste or scan a line, the live
status, remove a line.
- Up to 8 stored lines (migrated from the one-line store), tried one at a
time with the one that last worked first. OkHttp's own route loop does the
trying: while lines are stored the resolver answers every name with one
placeholder per line, so no name is looked up on the local network, and a
refused connection, no handshake within 15 s, or TLS failing inside the
tunnel moves to the next line. accounts.flamenet.io and the relay keep
their own names through the tunnel, so the edge behind the bridge routes
each to its real service. Every line failing never connects directly, and
the error says no bridge could be reached.
- Offers: a gid, a line over 1024 bytes, or a line that is not a string is
dropped; an oversized or blank line is never built. Ports are digits only.
- Held to bridge-offer-v1.json in :engine and :obfs4; .e2e-ref moves to
flamenet-e2e c75b861 and CI exports FLAMENET_BRIDGE_VECTORS.
- Citations of §6.19 for the bridge offer now say §24.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>