Files
free-turn-proxy/docker-compose.yml
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

20 lines
824 B
YAML

services:
btp:
image: ghcr.io/samosvalishe/btp:latest
# build: .
network_mode: host
restart: unless-stopped
# Секретные переменные (OBF_KEY) храните в .env рядом с этим файлом,
# а не здесь. Пример: echo "OBF_KEY=<64hex>" >> .env
env_file:
- path: .env
required: false
environment:
# Backend address: WireGuard → 127.0.0.1:51820 | Xray/sing-box → 127.0.0.1:443
CONNECT_ADDR: "127.0.0.1:51820"
# LISTEN_ADDR: "0.0.0.0:56000"
# MODE: "tcp" # tcp = TCP-форвардер для Xray/sing-box; default udp = WireGuard
# OBF_PROFILE: "rtpopus" # none (default) | rtpopus
# OBF_KEY задаётся в .env (не коммитьте ключ в git)
# DEBUG: "false"