Files
free-turn-proxy/docs/flags.md
T
samosvalishe 5851ad6959 docs: профиль rtpopus2 в таблицах флагов и режимов
modes/flags/deploy/uri - добавлен rtpopus2 (none | rtpopus | rtpopus2).
2026-06-17 10:03:41 +03:00

6.1 KiB

Флаги

Клиент

Флаг По умолчанию Описание
-listen 127.0.0.1:9000 локальный адрес ip:port, куда подключается WireGuard или Xray клиент
-peer обязательный адрес сервера на VPS, host:port
-provider vk источник TURN-creds: vk (см. docs/providers.md)
-link обязательный для -provider vk ссылка VK Calls https://vk.ru/call/join/...
-n 10 параллельных TURN-потоков
-transport tcp транспорт до TURN-реле: tcp (TCP/TLS) | udp
-mode udp режим туннеля: udp (UDP-релей для WireGuard) | tcp (TCP-форвардер для Xray/sing-box)
-bond false распределять одно TCP-соединение по всем активным smux-сессиям (только с -mode tcp)
-turn из creds переопределить IP TURN-сервера
-port из creds переопределить порт TURN-сервера
-obf-profile none wire-профиль обфускации payload: none | rtpopus | rtpopus2 (RTP/opus + ChaCha20-Poly1305 AEAD; rtpopus2 + RTP header extension, ближе к WebRTC)
-obf-key пусто общий ключ для -obf-profile != none, 32 байта hex (64 символа)
-gen-obf-key false напечатать новый ключ и выйти
-manual-captcha false сразу ручной режим captcha (только -provider vk)
-streams-per-cred 10 потоков на один кеш VK-учёток (только -provider vk)
-dns-mode auto plain (UDP/53) | doh | auto
-dns-servers пусто свои UDP/53 резолверы, ip[:port][,ip[:port]...]
-client-id авто уникальный ID клиента (автогенерация если не задан)
-sub пусто URL подписки (sub.md) для получения списка серверов
-debug false debug-логи

Сервер

Флаг По умолчанию Описание
-listen 0.0.0.0:56000 адрес прослушивания ip:port
-connect обязательный локальный backend host:port (WG 127.0.0.1:51820 / Xray 127.0.0.1:443)
-mode udp режим туннеля: udp | tcp (bond автоопределяется)
-obf-profile none wire-профиль обфускации payload: none | rtpopus | rtpopus2 (RTP/opus + ChaCha20-Poly1305 AEAD; rtpopus2 + RTP header extension, ближе к WebRTC)
-obf-key пусто общий ключ для -obf-profile != none, 32 байта hex
-gen-obf-key false напечатать новый ключ и выйти
-clients-file пусто путь к JSON-файлу (clients.json) для включения авторизации по Client ID
-debug false debug-логи

Управление Client ID (Команды Сервера)

Note

Про авторизацию: клиент всегда отправляет свой Client ID первой записью после DTLS-handshake, сервер всегда его читает — wire-контракт симметричен. Флаг -clients-file на сервере включает проверку ID по allowlist (clients.json). Без -clients-file ID читается и игнорируется.

Сервер содержит встроенные команды для управления файлом clients.json (горячая перезагрузка поддерживается автоматически, перезапускать сервер после изменений не нужно).

# Добавить или обновить клиента
./server clients add <client_id> ["Комментарий"]

# Удалить клиента
./server clients remove <client_id>

# Вывести список всех клиентов
./server clients list

По умолчанию команды работают с файлом clients.json в текущей директории. Если вы используете другой путь, задайте его через переменную окружения CLIENTS_FILE:

CLIENTS_FILE=/etc/free-turn-proxy/clients.json ./server clients list

Управление через Docker

Если сервер запущен в Docker-контейнере (например, с именем free-turn-proxy), вы можете использовать команду docker exec для управления клиентами без необходимости заходить внутрь контейнера или редактировать файл вручную:

# Добавить клиента
docker exec -it free-turn-proxy /app/server clients add "my-client" "Комментарий"

# Удалить клиента
docker exec -it free-turn-proxy /app/server clients remove "my-client"

# Посмотреть список
docker exec -it free-turn-proxy /app/server clients list

Важно: команды docker exec берут путь к файлу из переменной окружения CLIENTS_FILE контейнера. Это работает, только если контейнер запущен с включённой авторизацией (т.е. CLIENTS_FILE задан в docker-compose.yml и файл проброшен через volumes). Если авторизация выключена, clients пишет в эфемерный clients.json внутри контейнера, который сервер не читает. Путь должен совпадать с тем, что смонтирован и передан в -clients-file.