Add VPN admin tab with subscription proxy via cp-vpn for selected sources.
Persist settings in CA, expose /admin/vpn and /internal/vpn, and route Telegram (and optional web/nlp) traffic through mihomo SOCKS when enabled. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+16
-2
@@ -32,6 +32,7 @@ Health: `curl http://localhost:8080/api/health`
|
||||
| `cp-workers` | — | Telegram |
|
||||
| `cp-workers-web` | — | Crawl4AI |
|
||||
| `cp-workers-nlp` | — | VIINA |
|
||||
| `cp-vpn` | внутренний 1080 | SOCKS из subscription (вкладка VPN) |
|
||||
|
||||
Пересборка одного воркера:
|
||||
|
||||
@@ -52,7 +53,20 @@ docker compose config
|
||||
- Файл **не** коммитить (`.gitignore`)
|
||||
- API id/hash в `.env` должны совпадать с теми, под которыми создавалась сессия
|
||||
|
||||
### Создать / обновить сессию (локальный прокси)
|
||||
## VPN / прокси (вкладка VPN)
|
||||
|
||||
Основной путь: UI → **VPN** (`/vpn`).
|
||||
|
||||
1. Включите «Прокси включён».
|
||||
2. Способ **Subscription URL** — вставьте ссылку подписки (не коммитьте её в git).
|
||||
3. Отметьте источники (`telegram`, при необходимости `crawl4ai` / `viina`).
|
||||
4. Сохраните. Сервис `cp-vpn` (mihomo) подтянет подписку и отдаст SOCKS на `cp-vpn:1080`; воркеры читают `/internal/vpn`.
|
||||
|
||||
Режимы **SOCKS5** / **HTTP** задают host:port напрямую (без `cp-vpn` для Telegram).
|
||||
|
||||
### Fallback: локальный Happ/xray (без вкладки VPN)
|
||||
|
||||
Если VPN в UI выключен, воркеры используют `TELEGRAM_PROXY_*` из `.env`:
|
||||
|
||||
1. Остановите Telegram-воркер, чтобы не делить session-файл:
|
||||
`docker compose stop cp-workers`
|
||||
@@ -61,7 +75,7 @@ docker compose config
|
||||
```bash
|
||||
socat TCP-LISTEN:11080,bind=0.0.0.0,fork,reuseaddr TCP:127.0.0.1:10808 &
|
||||
```
|
||||
В compose у `cp-workers`: `TELEGRAM_PROXY_HOST=host.docker.internal`, порт `11080`.
|
||||
Для auth из контейнера с host-сетью: `TELEGRAM_PROXY_HOST=127.0.0.1`.
|
||||
4. Авторизация (интерактивно, код из Telegram):
|
||||
```bash
|
||||
docker run --rm -it --network host \
|
||||
|
||||
Reference in New Issue
Block a user