- Полный отказ от вывода громоздких QR-кодов в терминал - Автоматический фоновый веб-сервер для раздачи файлов и картинок QR из каталога clients - Компактная карточка M3 со списком прямых кликабельных ссылок и каталогом файлов - Прямой вывод ссылок на первого клиента в финальной рамке без подтверждения - Добавлена опция --web-port (по умолчанию 8080) и сохранение в install.conf - Обновлена документация и CLI команды freeturn client qr
6.8 KiB
Режимы
UDP-Релей (WireGuard / AmneziaWG / Hysteria)
Дефолтный режим (-mode udp). Клиент слушает локальный UDP-порт, сервер прозрачно форвардит UDP-пакеты в backend (например, WG 127.0.0.1:51820).
Отлично подходит для VPN-протоколов, работающих поверх UDP: WireGuard, AmneziaWG, Hysteria.
Прямой туннель (Direct AWG)
Если на VPS поднят сервис freeturn-awg и порт 51820/udp открыт наружу, клиенты AmneziaWG/AmneziaVPN подключаются напрямую к серверу, минуя релей:
- VK Calls не участвует: звонки и TURN-серверы не используются, клиент подключается напрямую к VPS.
- Маскировка: вместо
rtpopus3работает встроенная обфускация AmneziaWG 3.1 (Jc,Jmin,Jmax,S1..S4,H1..H4,HeaderProtectionKey). - Скорость и пинг: нативный прямой UDP без накладных расходов релея.
- Импорт: импорт конфига или сканирование QR-кода по веб-ссылке (
freeturn client qr <name>).
TCP-Форвардер (Xray / sing-box / VLESS)
Включается флагом -mode tcp на обеих сторонах. Сервер подключается к локальному TCP-бэкенду (например, Xray inbound 127.0.0.1:443). Клиент слушает локальный TCP-порт, на который вы натравливаете свой Xray/v2rayN/sing-box.
Подходит для TCP-прокси: VLESS, VMess, Trojan, Shadowsocks.
Relayed-данные TURN - всегда датаграммы, даже при -transport tcp, поэтому поверх DTLS трафик инкапсулируется через KCP (ARQ) + smux. Тюнинг ARQ - флаги -kcp-* (см. docs/flags.md).
./server -listen 0.0.0.0:56000 -connect 127.0.0.1:443 -mode tcp
./client -listen 127.0.0.1:9000 -peer <vps>:56000 -link "<vk-link>" -mode tcp
-n в этом режиме задаёт число сессий пула: каждое локальное TCP-соединение уходит целиком в одну из них (round-robin).
Встроенный WireGuard (-tunnel) с -mode tcp не сочетается: он гонит датаграммы.
Режим должен совпадать на обеих сторонах: клиент помечает им первую запись, и сервер с другим -mode закрывает соединение с явной ошибкой вместо молчаливого зависания.
OBF (wire-профили обфускации)
Warning
Обфускация обязательна для хорошей скорости. VK агрессивно шейпит (режет) любой трафик, который не похож на медиаданные звонка (даже если он зашифрован в DTLS). Обфускация маскирует ваши пакеты под голосовой RTP-трафик, позволяя обходить шейпинг.
-obf-profile выбирает wire-профиль маскировки TURN-payload. Профиль и ключ должны совпадать на клиенте и сервере.
Доступные профили:
rtpopus3(рекомендуется) - RTP/opus + RFC 8285 extension (ssrc-audio-level+transport-cc) + ChaCha20-Poly1305. Полная эмуляция современного WebRTC-аудиопотока звонков VK.rtpopus2- RTP/opus + базовый RFC 8285 header extension.rtpopus- базовый RTP/opus-заголовок + ChaCha20-Poly1305 AEAD.none- обфускация выключена (скорость может быть сильно урезана шейпингом).
Сгенерировать ключ:
./server -gen-obf-key
Запуск:
./server ... -obf-profile rtpopus3 -obf-key <64-hex>
./client ... -obf-profile rtpopus3 -obf-key <64-hex>
TURN Транспорт
По умолчанию клиент подключается к TURN-реле по TCP/TLS. Флаг -transport udp переключает на UDP:
./client ... -transport udp
Warning
Транспорт UDP часто режется или блокируется системами DPI (особенно на мобильных операторах). Если у вас нестабильная связь - используйте стандартный TCP/TLS (просто не указывайте этот флаг).
Потоки и Лимиты (-n)
Параметр -n задает количество параллельных потоков к TURN-серверу (по умолчанию 10).
Увеличение потоков может помочь поднять скорость или улучшить стабильность, но не стоит этим злоупотреблять. Слишком высокое значение (например, больше 15-20) повышает риск получения бана со стороны VK. Практика показывает, что значений от 6 до 12 зачастую достаточно для комфортной работы.
То же самое касается параметра -streams-per-cred - используйте разумные значения.
Captcha
Клиент сам проходит VK captcha. Если автоматика не справилась - открывается локальный браузер. Принудительно ручной:
./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]...].