mirror of
https://github.com/hackdiaz-dev/free-turn-proxy.git
synced 2026-10-12 09:41:53 +02:00
fix: устранить замечания комплексной проверки
Критичное: - go.mod: версия 1.25.5→1.25.0 (go mod tidy); Dockerfile: тег 1.25 - release.yml: go-version 1.25.5 → stable - удалён temp-файл types.go.tmp.18500.1c9f4278a15a - udprelay/loop.go: defer conn1/conn2.Close() при сбое Dial; лог write-error Безопасность/код: - browserprofile: пермиссии 0644→0600 - bondserver: once.Do перед go readLane (ordering fix) - cmd/server: err= → err:= (shadow fix в AfterFunc) - vkauth/client: vkDelayRandom ctx-aware (возвращает error) - captcha/manual: whitelist хостов в /generic_proxy (SSRF mitigation) Инфра: - .dockerignore: исключить .git/.github/notes/dist из build context - docker-compose.yml: env_file .env для OBF_KEY - entrypoint.sh: позиционные аргументы вместо unquoted vars; валидация host:port CI: - ci.yml: исправлен путь go module cache (~/go/pkg/mod); добавлен -race - .gitignore: добавлены /dist/, *.test, coverage.out, .env, *.tmp - .golangci.yml: добавлены gosec и staticcheck - routes-macos.sh: set -eu вместо set -u Код: - bondclient/bondserver: errors.Is(err, io.EOF) вместо err != io.EOF - cmd/client: константа dtlsHandshakeConcurrency для HandshakeSem Доки: - quickstart.md: добавлен Intel Mac (darwin-amd64) - build.md: версия Go, Windows/macOS cross-compile инструкции - flags.md: уточнено описание -bond
This commit is contained in:
+31
-1
@@ -1,6 +1,6 @@
|
||||
# Сборка
|
||||
|
||||
Нужен Go 1.25.x.
|
||||
Нужен Go 1.24.x.
|
||||
|
||||
```bash
|
||||
go build -o client ./cmd/client
|
||||
@@ -44,3 +44,33 @@ GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w -checklinkname=0"
|
||||
```
|
||||
|
||||
> Все `.so` выше — обычные ELF под `.so`-именем (`CGO_ENABLED=0`, не настоящий shared library). Настоящий `c-shared` — `CGO_ENABLED=1` + NDK toolchain (см. `.github/workflows/release.yml`).
|
||||
|
||||
**Windows amd64:**
|
||||
|
||||
```powershell
|
||||
$env:GOOS="windows"; $env:GOARCH="amd64"; $env:CGO_ENABLED="0"
|
||||
go build -ldflags="-s -w -checklinkname=0" -trimpath -o client-windows-amd64.exe ./cmd/client
|
||||
go build -ldflags="-s -w -checklinkname=0" -trimpath -o server-windows-amd64.exe ./cmd/server
|
||||
```
|
||||
|
||||
**Windows arm64:**
|
||||
|
||||
```powershell
|
||||
$env:GOOS="windows"; $env:GOARCH="arm64"; $env:CGO_ENABLED="0"
|
||||
go build -ldflags="-s -w -checklinkname=0" -trimpath -o client-windows-arm64.exe ./cmd/client
|
||||
go build -ldflags="-s -w -checklinkname=0" -trimpath -o server-windows-arm64.exe ./cmd/server
|
||||
```
|
||||
|
||||
**macOS amd64 (Intel):**
|
||||
|
||||
```bash
|
||||
GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o client-darwin-amd64 ./cmd/client
|
||||
GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o server-darwin-amd64 ./cmd/server
|
||||
```
|
||||
|
||||
**macOS arm64 (Apple Silicon):**
|
||||
|
||||
```bash
|
||||
GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o client-darwin-arm64 ./cmd/client
|
||||
GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o server-darwin-arm64 ./cmd/server
|
||||
```
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
| `-n` | `10` | параллельных TURN-потоков |
|
||||
| `-transport` | `tcp` | транспорт до TURN-реле: `tcp` (TCP/TLS) \| `udp` |
|
||||
| `-mode` | `udp` | режим туннеля: `udp` (UDP-релей для WireGuard) \| `tcp` (TCP-форвардер для Xray/sing-box) |
|
||||
| `-bond` | `false` | распределять TCP-соединение по smux-сессиям (только с `-mode tcp`) |
|
||||
| `-bond` | `false` | распределять одно TCP-соединение по всем активным smux-сессиям (только с `-mode tcp`) |
|
||||
| `-turn` | из ссылки | переопределить IP TURN-сервера |
|
||||
| `-port` | из ссылки | переопределить порт TURN-сервера |
|
||||
| `-obf` | `false` | SRTP-мимикрия payload |
|
||||
|
||||
+9
-1
@@ -41,7 +41,7 @@ Invoke-WebRequest -Uri https://github.com/samosvalishe/btp/releases/latest/downl
|
||||
.\client.exe -listen 127.0.0.1:9000 -peer <vps>:56000 -link "<vk-link>" -debug 2>&1 | .\scripts\routes.ps1
|
||||
```
|
||||
|
||||
**macOS:**
|
||||
**macOS (Apple Silicon / ARM):**
|
||||
|
||||
```bash
|
||||
curl -L -o client https://github.com/samosvalishe/btp/releases/latest/download/client-darwin-arm64
|
||||
@@ -49,6 +49,14 @@ chmod +x client
|
||||
./client -listen 127.0.0.1:9000 -peer <vps>:56000 -link "<vk-link>" -debug 2>&1 | ./scripts/routes-macos.sh
|
||||
```
|
||||
|
||||
**macOS (Intel / amd64):**
|
||||
|
||||
```bash
|
||||
curl -L -o client https://github.com/samosvalishe/btp/releases/latest/download/client-darwin-amd64
|
||||
chmod +x client
|
||||
./client -listen 127.0.0.1:9000 -peer <vps>:56000 -link "<vk-link>" -debug 2>&1 | ./scripts/routes-macos.sh
|
||||
```
|
||||
|
||||
Когда скрипт напечатает `Ensuring route to ...` — включайте WireGuard.
|
||||
|
||||
> Скачали только бинарник без репо? Возьмите скрипты отдельно:
|
||||
|
||||
Reference in New Issue
Block a user