mirror of
https://github.com/hackdiaz-dev/free-turn-proxy.git
synced 2026-10-12 09:41:53 +02:00
74241de764
убраны флаги -mode и -bond: остался только udp-релей для wireguard. удалены tcpfwd, tcpfwdserver, bondclient, bondserver, bondframe, kcptun, wire/relay; proxy/common переехал в udprelay/dial. BREAKING CHANGE: флаги -mode и -bond удалены; конфиги и ссылки freeturn:// с tcp-режимом больше не принимаются.
69 lines
4.4 KiB
Markdown
69 lines
4.4 KiB
Markdown
# Режимы
|
|
|
|
## UDP-Релей (WireGuard / AmneziaWG / Hysteria)
|
|
|
|
Клиент слушает локальный UDP-порт, сервер прозрачно форвардит UDP-пакеты в backend (например, WG `127.0.0.1:51820`).
|
|
Отлично подходит для VPN-протоколов, работающих поверх UDP: **WireGuard, AmneziaWG, Hysteria**.
|
|
|
|
## OBF (wire-профили обфускации)
|
|
|
|
> [!WARNING]
|
|
> **Обфускация обязательна для хорошей скорости.** VK агрессивно шейпит (режет) любой трафик, который не похож на медиаданные звонка (даже если он зашифрован в DTLS). Обфускация маскирует ваши пакеты под голосовой RTP-трафик, позволяя обходить шейпинг.
|
|
|
|
`-obf-profile` выбирает wire-профиль маскировки TURN-payload. Профиль и ключ должны совпадать на клиенте и сервере.
|
|
|
|
Доступные профили:
|
|
- **`none`** (default) - обфускация выключена (скорость может быть сильно урезана).
|
|
- **`rtpopus`** - RTP/opus-заголовок + ChaCha20-Poly1305 AEAD на теле. Идеально для обхода шейпов.
|
|
- **`rtpopus2`** - rtpopus + RTP header extension (RFC 8285): X=1, ssrc-audio-level + transport-cc. Ближе к современному WebRTC. Wire несовместим с rtpopus - профиль должен совпадать на обеих сторонах.
|
|
|
|
Сгенерировать ключ:
|
|
|
|
```bash
|
|
./server -gen-obf-key
|
|
```
|
|
|
|
Запуск:
|
|
|
|
```bash
|
|
./server ... -obf-profile rtpopus -obf-key <64-hex>
|
|
./client ... -obf-profile rtpopus -obf-key <64-hex>
|
|
```
|
|
|
|
## TURN Транспорт
|
|
|
|
По умолчанию клиент подключается к TURN-реле по TCP/TLS. Флаг `-transport udp` переключает на UDP:
|
|
|
|
```bash
|
|
./client ... -transport udp
|
|
```
|
|
|
|
> [!WARNING]
|
|
> Транспорт UDP часто режется или блокируется системами DPI (особенно на мобильных операторах). Если у вас нестабильная связь - используйте стандартный TCP/TLS (просто не указывайте этот флаг).
|
|
|
|
## Потоки и Лимиты (-n)
|
|
|
|
Параметр `-n` задает количество параллельных потоков к TURN-серверу (по умолчанию 10).
|
|
Увеличение потоков может помочь поднять скорость или улучшить стабильность, **но не стоит этим злоупотреблять**. Слишком высокое значение (например, больше 15-20) повышает риск получения бана со стороны VK. Практика показывает, что значений от `6` до `12` зачастую достаточно для комфортной работы.
|
|
То же самое касается параметра `-streams-per-cred` - используйте разумные значения.
|
|
|
|
## Captcha
|
|
|
|
Клиент сам проходит VK captcha. Если автоматика не справилась - открывается локальный браузер. Принудительно ручной:
|
|
|
|
```bash
|
|
./client -manual-captcha ...
|
|
```
|
|
|
|
Персона auth-запросов (UA + TLS JA3 + client hints + порядок заголовков + device) - всегда Chrome; флаг `-platform` выбирает класс устройства (desktop/mobile). Значения самосогласованы, без внешнего состояния. Ручная captcha ходит на VK через ту же персону.
|
|
|
|
## DNS
|
|
|
|
Флаг `-dns-mode` управляет транспортом резолвера самого клиента (VK API, токены, captcha) - не DNS-маршрутизацией пользовательского трафика.
|
|
|
|
- `plain` - только UDP/53;
|
|
- `doh` - только DNS-over-HTTPS (Yandex DoH);
|
|
- `auto` (дефолт) - сначала UDP/53, sticky-fallback на DoH при полном отказе.
|
|
|
|
Свои UDP/53 резолверы: `-dns-servers ip[:port][,ip[:port]...]`.
|