Check the proxy at startup instead of failing on first use
A proxy pointed at 127.0.0.1 from inside a container reaches the container itself, and the only sign was a connection error buried in the first search. Startup now probes the proxy over TCP and says what is wrong, naming host.docker.internal when loopback was configured. The README also covers the follow-up trap: even that address fails when the proxy listens on loopback only, so it shows how to check the bind address and what to change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
ea19a74c12
commit
380f7bcf31
@@ -242,8 +242,21 @@ YTDLP_PROXY=socks5h://127.0.0.1:1080
|
||||
Два подводных камня:
|
||||
|
||||
- **`127.0.0.1` внутри контейнера — это сам контейнер.** Если Psiphon или ваш SOCKS запущен на
|
||||
хосте, укажите `socks5h://host.docker.internal:1080` и добавьте в `compose.yml`
|
||||
к `extra_hosts` строку `"host.docker.internal:host-gateway"`.
|
||||
хосте, укажите `socks5h://host.docker.internal:1080` (эта запись в `extra_hosts` уже есть).
|
||||
Бот проверяет прокси при старте и пишет в лог понятную причину, если тот недоступен.
|
||||
- **Прокси должен слушать интерфейс, видимый контейнеру.** Даже с `host.docker.internal`
|
||||
соединение упрётся в `ECONNREFUSED`, если клиент забинден только на loopback. Проверить:
|
||||
|
||||
```bash
|
||||
ss -lntp | grep 1080
|
||||
```
|
||||
|
||||
Если там `127.0.0.1:1080`, разрешите прослушивание всех интерфейсов (в конфиге
|
||||
psiphon-tunnel-core за это отвечает `ListenInterface`) и закройте порт снаружи файрволом.
|
||||
Альтернатива без правки прокси — добавить сервису `network_mode: host`, тогда `127.0.0.1:1080`
|
||||
работает как есть; но при этом перестают действовать `ports` и `extra_hosts`, то есть
|
||||
`STOAT_DOMAIN` снова начнёт резолвиться публично, а панель нужно будет привязать к
|
||||
`HOST=127.0.0.1`.
|
||||
- **ffmpeg не умеет SOCKS.** Поэтому при заданном прокси аудио всегда идёт через yt-dlp, а не
|
||||
напрямую из CDN — трафик не утекает мимо прокси. Побочный эффект: перемотка становится
|
||||
медленнее, так как позиция отыгрывается декодированием, а не HTTP-запросом с диапазоном.
|
||||
|
||||
Reference in New Issue
Block a user