samosvalishe 1b154a2e84 fix(install): переписать установщик сервера — TUI, надёжность, non-interactive
Чинит тихий выход после выбора метода (set -e + установка WireGuard
в мастере убивали скрипт без диагностики) и неудобный выбор.

- trap ERR с номером строки и командой вместо тихой смерти
- WireGuard только детектится (порт бэкенда), без авто-установки
- whiptail-TUI: gauge-прелоадеры (pull/up/download/deps), меню с
  --default-item, backtitle, валидация портов/hex-ключа; fallback на
  текст со спиннером, чтение из /dev/tty (работает через curl | bash)
- non-interactive режим: -y + флаги (--method/--mode/--obf-key/
  --version/--update/--uninstall/--purge), CLI бьёт install.conf
- health-check после старта (docker inspect / systemctl is-active):
  падение даёт ошибку с логами, а не ложное «Готово»
- docs: curl | bash one-liner + примеры non-interactive
2026-05-26 00:52:46 +03:00
2026-05-25 01:53:42 +03:00
2026-05-25 00:42:23 +03:00
2026-05-25 01:56:18 +03:00
2026-05-25 00:46:25 +03:00
2026-05-23 23:29:22 +03:00
2026-05-23 23:48:01 +03:00
2026-05-25 01:33:22 +03:00

License Go Docker Platform

О проекте

Free Turn Proxy — универсальный прокси-туннель для инкапсуляции UDP/TCP трафика поверх протокола TURN. Клиент извлекает временные TURN-учётки из ссылок на WebRTC-звонки и прозрачно маршрутизирует ваш VPN-трафик (WireGuard, Xray/VLESS) до сервера на VPS, используя DTLS и мощные механизмы маскировки пакетов.

Разработка

Зависимости

  • Go ≥ 1.26 — https://go.dev/dl/
  • Task (runner) — go install github.com/go-task/task/v3/cmd/task@v3.40.0 или winget install Task.Task / brew install go-task

Остальные dev-инструменты (golangci-lint, govulncheck, goimports, goreleaser) ставит сам Task:

task tools:install

Команды

task                # список доступных задач
task build          # собрать client + server в dist/ для текущего хоста
task build:all      # кросс-сборка всех target через goreleaser snapshot
task test           # go test -race
task test:cover     # тесты + покрытие → cover.html
task lint           # golangci-lint
task fmt            # gofmt + goimports (форматирование)
task fmt:check      # проверить форматирование (используется в CI)
task vet            # go vet
task vuln           # govulncheck
task ci             # полный набор: fmt:check + vet + lint + test + vuln
task tidy           # go mod tidy
task clean          # удалить dist/, cover.out, cover.html

Документация

Благодарности

Огромное спасибо за вклад и идеи:


Telegram канал: Free Turn

S
Description
FreeTurn: core and server
Readme MIT 2.4 MiB
Languages
Go 87.6%
Shell 11.4%
JavaScript 0.7%
PowerShell 0.3%