mirror of
https://github.com/hackdiaz-dev/free-turn-proxy.git
synced 2026-10-12 09:41:53 +02:00
513e462fc9
Open and close ports through firewalld; detect the gum binary instead of the wrapper function
3.7 KiB
3.7 KiB
Развёртывание сервера
Установка скриптом (рекомендуется)
curl -fsSL https://raw.githubusercontent.com/hackdiaz-dev/free-turn-proxy/master/scripts/install.sh | sudo bash
Мастер спросит:
- VPN на сервере - новый WireGuard (скрипт поднимет его сам) или уже установленный VPN (Amnezia, wg-easy, 3x-ui и т.п.: указываете его
host:port). - Запуск -
dockerилиsystemd. - Порт и обфускация.
В конце - ссылка freeturn:// для приложения (и WireGuard-конфиг, если VPN новый).
Управление:
freeturn # меню: клиенты, настройки, обновление, логи, удаление
freeturn client add phone # новый клиент и его ссылка
freeturn client list
freeturn client qr phone # показать ссылку и QR ещё раз
freeturn client remove phone
Без вопросов:
curl -fsSL https://raw.githubusercontent.com/hackdiaz-dev/free-turn-proxy/master/scripts/install.sh | \
sudo bash -s -- -y --backend=new --method=docker
Все флаги: freeturn --help.
Ручная установка
Ключ обфускации (одинаковый на сервере и клиенте): openssl rand -hex 32.
Docker Compose
services:
free-turn-proxy:
image: ghcr.io/hackdiaz-dev/free-turn-proxy:latest
network_mode: host
restart: unless-stopped
environment:
- CONNECT_ADDR=127.0.0.1:51820 # ваш VPN
- LISTEN_ADDR=0.0.0.0:56000
- OBF_PROFILE=rtpopus3
- OBF_KEY=<ВАШ_КЛЮЧ>
| Переменная | По умолчанию | |
|---|---|---|
CONNECT_ADDR |
обязательна | адрес вашего VPN |
LISTEN_ADDR |
0.0.0.0:56000 |
внешний адрес |
MODE |
udp |
udp (WireGuard) | tcp (Xray/VLESS), как на клиенте |
OBF_PROFILE |
none |
none | rtpopus | rtpopus2 | rtpopus3 |
OBF_KEY |
- | ключ обфускации |
CLIENTS_FILE |
- | список разрешённых Client ID |
KCP_* |
- | тюнинг MODE=tcp, см. docs/flags.md |
DEBUG |
false |
подробные логи |
systemd
sudo mkdir -p /opt/free-turn-proxy
sudo curl -L -o /opt/free-turn-proxy/server \
https://github.com/hackdiaz-dev/free-turn-proxy/releases/latest/download/server-linux-amd64
sudo chmod +x /opt/free-turn-proxy/server
/etc/systemd/system/free-turn-proxy.service:
[Unit]
Description=Free Turn Proxy
After=network-online.target
[Service]
ExecStart=/opt/free-turn-proxy/server -listen 0.0.0.0:56000 -connect 127.0.0.1:51820 -obf-profile rtpopus3 -obf-key <ВАШ_КЛЮЧ>
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl enable --now free-turn-proxy
Доступ по Client ID
Без списка подключиться может любой, у кого есть ключ обфускации. Список:
sudo CLIENTS_FILE=/opt/free-turn-proxy/clients.json \
/opt/free-turn-proxy/server clients add $(openssl rand -hex 16) phone
Запуск с -clients-file /opt/free-turn-proxy/clients.json (Docker: CLIENTS_FILE + volume). На клиенте - -client-id или ссылка freeturn://.
Порт
Откройте внешний порт по UDP (при MODE=tcp тоже): sudo ufw allow 56000/udp (firewalld: sudo firewall-cmd --permanent --add-port=56000/udp && sudo firewall-cmd --reload). Скрипт делает это сам.