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:
+4
-2
@@ -25,6 +25,8 @@ import (
|
||||
"github.com/samosvalishe/btp/internal/wire/srtpmimicry"
|
||||
)
|
||||
|
||||
const dtlsHandshakeConcurrency = 3
|
||||
|
||||
// manualCaptchaSolver связывает контракт vkauth.ManualSolveFunc
|
||||
// с локальным captcha-обработчиком (internal/client/captcha/manual).
|
||||
func manualCaptchaSolver(ctx context.Context, e *captcha.Error, d net.Dialer) (string, string, error) {
|
||||
@@ -107,7 +109,7 @@ func main() {
|
||||
if cfg.Proxy.Mode != config.ProxyModeUDP {
|
||||
tcpDtlsDialer := &dtlsdial.Dialer{
|
||||
HandshakeTimeout: 30 * time.Second,
|
||||
HandshakeSem: make(chan struct{}, 3),
|
||||
HandshakeSem: make(chan struct{}, dtlsHandshakeConcurrency),
|
||||
}
|
||||
bondH := &bondclient.Handler{Deps: bondclient.Deps{Log: logger}}
|
||||
tcpDeps := &tcpfwd.Deps{
|
||||
@@ -134,7 +136,7 @@ func main() {
|
||||
|
||||
udpDtlsDialer := &dtlsdial.Dialer{
|
||||
HandshakeTimeout: 20 * time.Second,
|
||||
HandshakeSem: make(chan struct{}, 3),
|
||||
HandshakeSem: make(chan struct{}, dtlsHandshakeConcurrency),
|
||||
}
|
||||
udpParams := &udprelay.Params{
|
||||
Host: cfg.TURN.Host,
|
||||
|
||||
+1
-1
@@ -96,7 +96,7 @@ func main() {
|
||||
os.Exit(1)
|
||||
}
|
||||
context.AfterFunc(ctx, func() {
|
||||
if err = listener.Close(); err != nil {
|
||||
if err := listener.Close(); err != nil {
|
||||
logger.Errorf("listener close: %v", err)
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user