free-turn-proxy 1.0.0
Changelog
Features
- 65aa55b: feat(auth): добавить заготовку Authenticator (samosvalishe samosvalishe@users.noreply.github.com)
- f1b047e: feat: Client ID шлётся всегда, симметричный wire авторизации (samosvalishe samosvalishe@users.noreply.github.com)
- 942d0ff: feat: initial commit (samosvalishe samosvalishe@users.noreply.github.com)
- 7827001: feat: main ветка -> master (samosvalishe samosvalishe@users.noreply.github.com)
- 12c1ad6: feat: абстракция провайдера (vk + static) (samosvalishe samosvalishe@users.noreply.github.com)
- e061345: feat: авторизация по client-id, freeturn:// URI и подписки (samosvalishe samosvalishe@users.noreply.github.com)
- 7651986: feat: автоустановка сервера и обновление документации (samosvalishe samosvalishe@users.noreply.github.com)
- 7433305: feat: вырезать идентифицирующие proxy-заголовки, расширить пул имён (samosvalishe samosvalishe@users.noreply.github.com)
- 334a17f: feat: добавить флаг для своих DNS-серверов (samosvalishe samosvalishe@users.noreply.github.com)
- 953e575: feat: добавлены CONTRIBUTING.md и ISSUE_TEMPLATE.md (samosvalishe samosvalishe@users.noreply.github.com)
- 198d314: feat: идемпотентный установщик с выбором версии и обновлением (samosvalishe samosvalishe@users.noreply.github.com)
- 4e5690c: feat: перенести DoH-резолвер, добавить флаг -dns (samosvalishe samosvalishe@users.noreply.github.com)
- 369ba1e: feat: поддержка refactor-коммитов в release-workflow (samosvalishe samosvalishe@users.noreply.github.com)
Bug Fixes
- d0dabee: fix(bond): ограничить pending-map в copyBondToTCP против OOM (samosvalishe samosvalishe@users.noreply.github.com)
- ac69560: fix(bondclient): слать Hello с реальным числом lane после фильтрации (samosvalishe samosvalishe@users.noreply.github.com)
- a8361f3: fix(bondframe): ограничить размер ReadFrame значением MaxChunk (samosvalishe samosvalishe@users.noreply.github.com)
- f54f59b: fix(bondserver): отмена при spin из-за потери lane (samosvalishe samosvalishe@users.noreply.github.com)
- 5735b4a: fix(captcha/dnsdial): начать DI-миграцию package-level логгеров (samosvalishe samosvalishe@users.noreply.github.com)
- 7ffa21b: fix(captcha/manual): останавливать HTTP-сервер при отмене ctx (samosvalishe samosvalishe@users.noreply.github.com)
- 0bf46b1: fix(cli): корректно обрабатывать -help/-h вместо exit 1 (samosvalishe samosvalishe@users.noreply.github.com)
- 1437601: fix(client): применить HandshakeSem к VLESS-диалеру (samosvalishe samosvalishe@users.noreply.github.com)
- f8bc3f5: fix(deps): обновить x/net до v0.55.0, toolchain до go1.26.3 (samosvalishe samosvalishe@users.noreply.github.com)
- dfbfae2: fix(docker): исправить сборку, добавить compose, убрать VLESS_BOND (samosvalishe samosvalishe@users.noreply.github.com)
- 21138fe: fix(dtlsdial): Dial использует хелпер GenerateSelfSignedCert внутри (samosvalishe samosvalishe@users.noreply.github.com)
- ef549dc: fix(dtlsdial): унифицировать генерацию self-signed сертификата (samosvalishe samosvalishe@users.noreply.github.com)
- 1b154a2: fix(install): переписать установщик сервера — TUI, надёжность, non-interactive (samosvalishe samosvalishe@users.noreply.github.com)
- dd82332: fix(lint): устранить замечания golangci-lint + переход на dockers_v2 (samosvalishe samosvalishe@users.noreply.github.com)
- 7b0a907: fix(routes): починить установку маршрутов в routes.ps1 на Windows (samosvalishe samosvalishe@users.noreply.github.com)
- fb711c1: fix(server): ограниченное ожидание второго сигнала; предупреждение при выключенном -wrap (samosvalishe samosvalishe@users.noreply.github.com)
- 98e1d7c: fix(turndial): подавить периодический CreatePermission refresh (samosvalishe samosvalishe@users.noreply.github.com)
- 1459f39: fix(udprelay): ctx-aware jitter-паузы; учёт listener в WaitGroup; всплытие ошибки записи DTLS (samosvalishe samosvalishe@users.noreply.github.com)
- 6588544: fix(udprelay): инкремент ConnectedStreams до ResetErrors (samosvalishe samosvalishe@users.noreply.github.com)
- 9090d58: fix(udprelay): параллельный старт стримов (samosvalishe samosvalishe@users.noreply.github.com)
- fba9a5e: fix(udprelay): синхронизировать watcher-горутину с возвратом Run (samosvalishe samosvalishe@users.noreply.github.com)
- 587e95d: fix: ci (samosvalishe samosvalishe@users.noreply.github.com)
- b4f8cbc: fix: ci (samosvalishe samosvalishe@users.noreply.github.com)
- 029c3ab: fix: ci (samosvalishe samosvalishe@users.noreply.github.com)
- dab5848: fix: ci (samosvalishe samosvalishe@users.noreply.github.com)
- ed68259: fix: исправить баги, sentinel-ошибки, устаревшие доки (samosvalishe samosvalishe@users.noreply.github.com)
- d292d30: fix: описание флагов (samosvalishe samosvalishe@users.noreply.github.com)
- ada9b94: fix: правки после рефакторинга (samosvalishe samosvalishe@users.noreply.github.com)
- 8b2e028: fix: устранить замечания комплексной проверки (samosvalishe samosvalishe@users.noreply.github.com)
- 52e7cb8: fix: утечки, уровни logx, обход логгера (samosvalishe samosvalishe@users.noreply.github.com)
- e134893: fix: форматирование (samosvalishe samosvalishe@users.noreply.github.com)
Performance
- 085b719: perf(bond): убрать аллокацию на чанк в copyTCPToBond (samosvalishe samosvalishe@users.noreply.github.com)
- 9459e94: perf(bondserver): убрать аллокацию snapshotLanes на каждый retry записи (samosvalishe samosvalishe@users.noreply.github.com)
- 7a0f98f: perf: убрать аллокации на горячем пути, TCP DPI-split и KCP FEC (samosvalishe samosvalishe@users.noreply.github.com)
Refactoring
- 4a962d8: refactor(bondframe): вынести Reorder; разделить между bondclient и bondserver (samosvalishe samosvalishe@users.noreply.github.com)
- 52271d0: refactor(bondserver): tenant-scoped ключ Registry (samosvalishe samosvalishe@users.noreply.github.com)
- acbd90f: refactor(captcha): вынести ручной flow в internal/client/captcha/manual (samosvalishe samosvalishe@users.noreply.github.com)
- 6b8b82f: refactor(client): убрать deprecated-теги с package-level логгеров (samosvalishe samosvalishe@users.noreply.github.com)
- bf59e5c: refactor(config): единообразные имена переменных флагов, ужать help-текст (samosvalishe samosvalishe@users.noreply.github.com)
- 6c9bfba: refactor(config): сгруппировать опции по доменам (samosvalishe samosvalishe@users.noreply.github.com)
- 5b68683: refactor(config): убрать флаги -no-dtls и серверный -vless-bond (samosvalishe samosvalishe@users.noreply.github.com)
- 483e45d: refactor(kcptun): передавать Profile/FEC явно через config вместо process-wide env (samosvalishe samosvalishe@users.noreply.github.com)
- 2167ba9: refactor(layout): переезд в cmd/, свернуть client/internal в internal/client (samosvalishe samosvalishe@users.noreply.github.com)
- 1fb869b: refactor(layout): переименовать пакеты (split wire/transport/proxy) (samosvalishe samosvalishe@users.noreply.github.com)
- 9d7d754: refactor(logging): унифицировать stdlib log.* в logx по client/cmd (samosvalishe samosvalishe@users.noreply.github.com)
- 7fd2d95: refactor(logx): заменить Deps{Debug,Debugf} на интерфейс logx.Logger (samosvalishe samosvalishe@users.noreply.github.com)
- 7b4d6be: refactor(netconn): вынести BiCopy; использовать в tcpfwd и tcpfwdserver (samosvalishe samosvalishe@users.noreply.github.com)
- cf47f37: refactor(provider): убрать static-провайдер, оставить абстракцию (samosvalishe samosvalishe@users.noreply.github.com)
- 2b85d93: refactor(provider/vk): перенести vkauth/captcha/browserprofile/namegen под provider/vk/internal (samosvalishe samosvalishe@users.noreply.github.com)
- e212465: refactor(proxy): вынести общие хелперы (минимальный объём) (samosvalishe samosvalishe@users.noreply.github.com)
- 2b24471: refactor(tcpfwd): заменить busy-loop poll пула на Ready-канал; тихий accept-цикл при shutdown (samosvalishe samosvalishe@users.noreply.github.com)
- d82258f: refactor(udprelay): разбить на run/loop/listener (samosvalishe samosvalishe@users.noreply.github.com)
- 0e2d42c: refactor(vkauth): разбить token.go на файлы по шагам (samosvalishe samosvalishe@users.noreply.github.com)
- 4bedd00: refactor(wire): переименовать srtpmimicry → rtpopus, заменить bool -obf на -obf-profile (samosvalishe samosvalishe@users.noreply.github.com)
- e2dd09a: refactor(wrap): заменить DTLS-мимикрию на noise-only AEAD (samosvalishe samosvalishe@users.noreply.github.com)
- 729557d: refactor(wrap): перейти на мимикрию под SRTP в обход content-фильтра VK TURN (samosvalishe samosvalishe@users.noreply.github.com)
- 39f95a8: refactor(wrap): переписать как мимикрию под DTLS 1.2 ApplicationData с AEAD (samosvalishe samosvalishe@users.noreply.github.com)
- 82f231d: refactor: вынести UDP proxy-цикл в internal/proxy/udp (samosvalishe samosvalishe@users.noreply.github.com)
- 5bf6dd0: refactor: вынести VK-авторизацию в client/internal/vkauth (samosvalishe samosvalishe@users.noreply.github.com)
- 0909656: refactor: вынести VLESS-режим в internal/proxy/vless (samosvalishe samosvalishe@users.noreply.github.com)
- 29771b1: refactor: вынести bond-клиент в internal/bond/client (samosvalishe samosvalishe@users.noreply.github.com)
- dc2e413: refactor: вынести bond-сервер в internal/bond/server (samosvalishe samosvalishe@users.noreply.github.com)
- b3f81ad: refactor: вынести namegen в internal-пакет, расширить пулы имён (samosvalishe samosvalishe@users.noreply.github.com)
- ada0c74: refactor: вынести stats, netadapt, bond в internal/ (samosvalishe samosvalishe@users.noreply.github.com)
- bc1aea6: refactor: вынести turnpipe и dtlsdial в internal/ (samosvalishe samosvalishe@users.noreply.github.com)
- 322e8db: refactor: вынести wrap в internal/wrap (samosvalishe samosvalishe@users.noreply.github.com)
- 817def3: refactor: вынести разбор CLI в internal/config (samosvalishe samosvalishe@users.noreply.github.com)
- ac3a603: refactor: вынести солвер captcha в internal/captcha (samosvalishe samosvalishe@users.noreply.github.com)
- 31e35ef: refactor: переименовать флаги и поля CLI/конфига (samosvalishe samosvalishe@users.noreply.github.com)
- 51bda46: refactor: симметрия, вынос серверных хендлеров (samosvalishe samosvalishe@users.noreply.github.com)
- 130d5e9: refactor: убрать суффикс V2 из солвера captcha (samosvalishe samosvalishe@users.noreply.github.com)
- 5137ddd: refactor: удалить slider POC путь captcha (samosvalishe samosvalishe@users.noreply.github.com)
- 1c6b7a8: refactor: удалить v1-солвер captcha и осовременить стиль (samosvalishe samosvalishe@users.noreply.github.com)
- d1e8075: refactor: удалить пакет internal/auth (samosvalishe samosvalishe@users.noreply.github.com)
- ead97d0: refactor: удалить поддержку Yandex Telemost и мёртвый код (samosvalishe samosvalishe@users.noreply.github.com)
- aff95e8: refactor: унифицировать логирование в internal/proxy/* через logx.Logger (samosvalishe samosvalishe@users.noreply.github.com)
Other
- 6fb3b69: build(docker): обновить docker-compose.yml под новые env-переменные (samosvalishe samosvalishe@users.noreply.github.com)
- 278903f: build(docker): обновить entrypoint под новые флаги (samosvalishe samosvalishe@users.noreply.github.com)
- 8427887: chore(deps): обновить Go-зависимости, GitHub Actions и Task до последних версий (samosvalishe samosvalishe@users.noreply.github.com)
- 6c3d3d3: chore(lint): расширить golangci-конфиг и устранить замечания (samosvalishe samosvalishe@users.noreply.github.com)
- 8c0f8e4: chore(master): release 1.0.0 (Anton 47962758+samosvalishe@users.noreply.github.com)
- 75471c6: test(bond/server): покрыть reorder, pending drain, lane churn (samosvalishe samosvalishe@users.noreply.github.com)
- 71e3bb1: test(bondserver): тест изоляции tenant (samosvalishe samosvalishe@users.noreply.github.com)