mirror of
https://github.com/hackdiaz-dev/free-turn-proxy.git
synced 2026-10-12 09:41:53 +02:00
4bedd00662
Готовим зонтик `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` Доки + тесты подтянуты под новые имена.
2.1 KiB
2.1 KiB
Развёртывание
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