Files
free-turn-proxy/cmd
samosvalishe 6c9bfbae82 refactor(config): сгруппировать опции по доменам
Заменяет плоские структуры config.Client / config.Server на
доменно-сгруппированные под-структуры, чтобы форма повторяла концептуальные
слои прокси:

  type Client struct {
      TURN  TURNOpts   // Host, Port, UDP, N
      Obf   ObfOpts    // WrapMode, WrapKey, GenWrapKey
      Proxy ProxyOpts  // Mode, Listen, Peer
      VK    VKOpts     // Link, StreamsPerCred, ManualCaptcha
      DNS   DNSOpts    // Mode, Servers
      Log   LogOpts    // Debug
  }
  type Server struct { Obf; Proxy{Mode, Listen, Connect}; Log }

Enum ProxyMode (udp | tcpfwd | tcpfwd-bond) заменяет два параллельных bool
VLESSMode / VLESSBond в коде вызывающих. Поверхность CLI (-vless, -vless-bond)
не изменена; clientProxyMode / serverProxyMode в Parse* мапят bool в enum.

cmd/vk-turn-{client,server}/main.go: каждый cfg.X теперь cfg.Group.X. Тесты
обновлены; новый TestParseClient_ProxyMode покрывает все четыре комбинации
флагов (включая -vless-bond без -vless, который молча игнорируется как и раньше).

Без изменений флагов CLI, дефолтов, поведения и wire-формата. go build /
go vet / go test / gofmt чисто.
2026-05-19 20:59:23 +03:00
..