docs: add warning about using localhost for NEKO_WEBRTC_NAT1TO1 and common WebRTC connection errors. (#672)

This commit is contained in:
Miroslav Šedivý
2026-07-31 15:01:03 +02:00
committed by GitHub
parent c804b1ac24
commit 4764dcbb05
+20
View File
@@ -159,6 +159,14 @@ Make sure that you are exposing your ports correctly.
If you put a local IP as `NEKO_WEBRTC_NAT1TO1`, external clients try to connect to that IP. But it is unreachable for them because it is your local IP. You must use your public IP address with port forwarding.
:::danger Never use `127.0.0.1` as `NEKO_WEBRTC_NAT1TO1`
Setting `NEKO_WEBRTC_NAT1TO1: 127.0.0.1` tells every client to connect to *their own* localhost, not your server. The connection will time out for all clients, and the browser will report:
```
Failed to ping without candidate pairs. Connection is not possible yet.
```
Use your actual public IP (or leave it unset to auto-detect) instead.
:::
## Frequently Encountered Errors {#frequently-encountered-errors}
### Getting a black screen with a cursor, but no browser for Chromium-based browsers {#black-screen-with-cursor}
@@ -343,6 +351,18 @@ Check if your TCP port is exposed correctly and your reverse proxy is correctly
---
```
Failed to ping without candidate pairs. Connection is not possible yet.
```
This WebRTC error means the browser received ICE candidates (IP:port pairs) from the server but could not reach any of them. Common causes:
- **`NEKO_WEBRTC_NAT1TO1` is set to `127.0.0.1`** — never use localhost here; set it to your real public IP or leave it unset for auto-detection.
- **`NEKO_WEBRTC_NAT1TO1` is set to a private/LAN IP** — external clients cannot reach a private IP. Use your public IP with port forwarding.
- **UDP ports are blocked** — verify the ephemeral port range is exposed and reachable (see [Validate UDP ports reachability](#reachable-ports)).
---
```
NotAllowedError: play() failed because the user didn't interact with the document first
```