Files
free-turn-proxy/docs/deploy.md
T
samosvalishe 4bedd00662 refactor(wire): переименовать srtpmimicry → rtpopus, заменить bool -obf на -obf-profile
Готовим зонтик `internal/wire/` под будущие профили мимикрии (rtph264, vp8
и т.д.). Сейчас интерфейс/registry не вводим — родится при появлении второго
профиля; пока только перепаковываем единственный профиль в собственный namespace.

Пакет:
- `internal/wire/srtpmimicry` → `internal/wire/rtpopus`
- error-префикс `"wrap: ..."` → `"rtpopus: ..."`
- wire-формат не тронут (заморожен — совместимость с задеплоенными пирами)

CLI (breaking):
- `-obf` (bool) удалён
- добавлен `-obf-profile none|rtpopus` (default `none`)
- `ObfOpts.Mode bool` → `Profile ObfProfile` + `Enabled()` helper
- консты `ObfProfileNone`/`ObfProfileRTPOpus`
- validation invalid-value error для `-obf-profile`

Docker (breaking):
- env `OBF_MODE=true` → `OBF_PROFILE=rtpopus`

Callsites:
- `common.NewClientWrap` → `NewClientObf`
- vars `wc`/`relayWC` → `obfConn`, `wrapListener` → `obfListener`
- log `obf=%t` → `obf-profile=%s`

Доки + тесты подтянуты под новые имена.
2026-05-23 15:24:00 +03:00

2.1 KiB
Raw Blame History

Развёртывание

Docker Compose (рекомендуется)

# Скопируйте docker-compose.yml на VPS и отредактируйте CONNECT_ADDR
docker compose up -d
docker compose logs -f

По умолчанию: WireGuard backend 127.0.0.1:51820, host network, порт 56000/udp.

Для Xray/sing-box: MODE=tcp и смените CONNECT_ADDR на 127.0.0.1:443. Для обфускации payload: OBF_PROFILE=rtpopus и OBF_KEY=<64-hex>.

Docker Run

Host network (backend на хосте):

docker run -d --name btp --network host --restart unless-stopped \
  -e CONNECT_ADDR=127.0.0.1:51820 \
  ghcr.io/samosvalishe/btp:latest

Bridge mode:

docker run -d --name btp -p 56000:56000/udp --restart unless-stopped \
  -e CONNECT_ADDR=<host-ip>:51820 \
  ghcr.io/samosvalishe/btp:latest

В bridge mode CONNECT_ADDR=127.0.0.1:... указывает внутрь контейнера. Используйте host network или IP хоста.

Переменные окружения:

Переменная По умолчанию Описание
CONNECT_ADDR обязательна backend сервера
LISTEN_ADDR 0.0.0.0:56000 адрес прослушивания
MODE udp режим туннеля: udp | tcp
OBF_PROFILE none значение -obf-profile: none | rtpopus
OBF_KEY пусто значение -obf-key (обязателен при OBF_PROFILE != none)
DEBUG false включает -debug

Сборка образа:

docker build -t btp .

systemd

/etc/systemd/system/btp.service:

[Unit]
Description=VK TURN Proxy server
After=network.target

[Service]
Type=simple
ExecStart=/opt/btp/server -listen 0.0.0.0:56000 -connect 127.0.0.1:51820
Restart=always
RestartSec=5
User=nobody
Group=nogroup

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now btp.service
sudo systemctl status btp.service