mirror of
https://github.com/hackdiaz-dev/free-turn-proxy.git
synced 2026-10-12 09:41:53 +02:00
53 KiB
53 KiB
Changelog
4.0.3 (2026-10-10)
Bug Fixes
- deps: bump Go to 1.26.9 and x/net to v0.60.0 (cc71a1a)
4.0.2 (2026-10-10)
Bug Fixes
- installer: firewalld support and gum detection (513e462)
4.0.1 (2026-09-24)
Bug Fixes
- naturalyiiBlondinNaVsyStranuTakoy1 (a2d9a88)
4.0.0 (2026-09-23)
⚠ BREAKING CHANGES
- auth: подтверждение Client ID с повтором по таймеру
- install: install.sh с JSON RPC proto 3 и голым WireGuard вместо AWG
Features
- auth: подтверждение Client ID с повтором по таймеру (d3e4cfc)
- client: провайдер direct - прямо на сервер без TURN-реле (ee30afc)
- diagnostics: связывать события сессии и попытки восстановления (e102acb)
- installer: вывод всех 3 форматов QR-кодов и поддержка скачивания картинок на ПК (092ea59)
- installer: генерация QR в PNG, M3 TUI для клиентов и фикс утечки escape-последовательностей (b894608)
- installer: глобальный CLI freeturn, авторизация по Client ID по умолчанию и компактный QR (8d551c6)
- installer: раздача QR-кодов и конфигов по веб-ссылкам без вывода в терминал (065385e)
- installer: токен на клиента и TTL для веб-раздачи (e72157f)
- install: install.sh с JSON RPC proto 3 и голым WireGuard вместо AWG (0ee0d53)
- mobile: отключаемый кольцевой буфер логов (a7ec2b9)
- rebranding (58924dc)
- tcp: вернуть поддержку bond (6f84a18)
- uri: ссылка на звонок и пейсинг обфускации в freeturn:// (64f8b63)
- загрузка локально собранного бинаря на сервер (af33b47)
Bug Fixes
- captcha: слать баннер ручной капчи в логгер, а не в stdout (3b48a17)
- clients: останавливать горячую перезагрузку базы по контексту (b621182)
- clients: сохранять авторизацию при ошибке записи базы (061e3b8)
- clients: фиксировать базу на диск через fsync (ac43e63)
- cli: предупреждать, что встроенный туннель из ссылки не поднимается (f18e694)
- dns: не залипать на первом резолвере doh-форвардера (ece494a)
- dns: проба udp/53 не теряет второй сервер, doh до смены сети (b0e3cfe)
- dns: сбрасывать udp-резолверы, если сессия их не задала (4865a73)
- installer: передача obf_profile, obf_key и proxy_mode в systemd и docker args (5dc5095)
- mobile: отказ protect возвращать ошибкой сокета (5a1c6e2)
- netconn: отдавать остаток очереди при закрытии пира (273a5fa)
- relay: восстановление потоков при отказах turn и занятой квоте (6570cd9)
- server: не ронять процесс паникой в обработчике соединения (fd5c4f9)
- sub: резолвить подписку через dns-диалер приложения (8b3bea7)
- task: заглушки mobile-dist в windows (639582c)
- turn: отмена контекста прерывает allocate (6f81528)
- udp: датаграммы до 2048 байт на всём пути (5b175bf)
- udp: завершать релей при отказе чтения локального сокета (f4e8e0c)
- udp: логировать причину обрыва DTLS-сессии перед паузой (caa8fea)
- udp: ограничить очередь между сокетом и DTLS (5508cd6)
- udp: ошибка obf до аллокации, без петли allocate (c13490f)
- ui: убрать утечку OSC 11/CPR escape-последовательностей при выводе плашек (5568670)
- vk: определять ошибки авторизации по sentinel, а не по тексту (3f9b3b6)
- гард для релизера (192dd27)
- отбрасывать опоздавший повтор client id, общий backoff квоты (05bbe99)
Performance
- netconn: адрес пайпа без аллокации на каждое чтение (b1cbafd)
- obf: держать поток ChaCha8 в соединении rtpopus3 (f422acb)
- randx: rejection sampling вместо math/big (e32008b)
- tcp: смерть smux-сессии без поллинга (5b6ac18)
- udp: убрать сисколлы и аллокации с горячего пути релея (a0c4656)
Refactoring
- cli: общий обработчик сигналов для клиента и сервера (69dd5f9)
- config: брать режимы dns из dnsdial (dd0bc21)
- dtls: убрать дублирующий doc.go (7df3a3f)
- logx: общий Holder вместо пакетных переменных Log (56dfc9a)
- vk: не держать write-lock кеша реквизитов во время запроса (0a3becc)
- wake: убрать неиспользуемый Notifier (7e5b2d4)
- wire: один listener на все профили обфускации (322c700)
- сложность функций под лимиты линтера (a8b8363)
3.4.0 (2026-09-07)
Features
- профиль freeturn vpn со вшитым wg и фикс ui_spin (9da2c8e)
3.3.2 (2026-09-07)
Bug Fixes
3.3.1 (2026-09-07)
Bug Fixes
3.3.0 (2026-09-06)
Features
- scripts: поддержка amneziawg 3.1, управление клиентами и qr-коды в установщике (daf8cec)
- прямой туннель без релея (2812ded)
Bug Fixes
- fmt (67f9a4f)
- tunnel: race (02c696f)
- tunnel: обработка защиты сокетов и стабильность прямого режима (1cc5e93)
3.2.0 (2026-08-25)
Features
- proxy: tcp-режим для xray/sing-box поверх turn (f712909)
- session: реконнект релея без пересоздания туннеля (f61dc8c)
- tunnel: параметры обфускации awg 3+ (77fbdec)
Bug Fixes
- captcha: не жечь персону, когда страница не дошла до вердикта (1547aae)
- core: паника горутины больше не убивает процесс приложения (748d5a0)
- logs: убрать пострим-шум из лога без debug (c2a9f0f)
- udprelay: не зависать на фатальной ошибке провайдера (4863161)
- udprelay: фатальная ошибка не ждёт барьер прогрева (03eb41e)
- vkauth: не считать отменённый поход за реквизитами нагрузкой на провайдера (623ef46)
- vkauth: сбрасывать реквизиты при неподтверждённом deallocate (7fc7fe2)
Performance
- udprelay: общий шлюз на allocate вместо per-stream джиттера (e63279d)
3.1.1 (2026-08-19)
Bug Fixes
- captcha: адаптация (9d454db)
3.1.0 (2026-08-18)
Features
- server: адрес клиента в логах сессии и handshake (c670378)
Bug Fixes
- ci (c3fc939)
- ci (022692e)
- session: рецикл после пробуждения только при тишине в канале (9c2cc93)
- udprelay: рецикл turn-аллокации пересоздаёт dtls-сессию (fd9c6ab)
- vkauth: отмена капчи не сжигает персону (60e3a69)
3.0.0 (2026-08-17)
⚠ BREAKING CHANGES
- флаги -mode и -bond удалены; конфиги и ссылки freeturn:// с tcp-режимом больше не принимаются.
Features
Bug Fixes
- captcha: персонная модель PoW и кэш TURN-кредов (6b14a95)
- captcha: устранение регрессий (5b5c93f)
- readme (d208a0d)
- soft reconnect on network handover without tunnel drop (0bef2e8)
- udprelay: рецикл аллокации на простое туннеля (a033cfb)
- vkauth: ловим 486 как auth-error для рецикла аллокации (5fdd8c3)
- возврат фонового детектора сна для рецикла аллокаций (53b8345)
- убрал лишний артефакт (6bc4faf)
- устранение предупреждений линтера (49eecb3)
- устранение предупреждений линтера (65bc8a8)
Performance
- меньше фоновых таймеров при поднятом туннеле и опрос метрик только при видимом окне (3cf7831)
Breaking Changes
- выпил tcp-режим туннеля (74241de)
2.1.2 (2026-08-14)
Bug Fixes
- captcha: fmt (95803f4)
- captcha: выровнять авторешение по живому браузеру (235ab1a)
- deps: обновить Go 1.26.5 -> 1.26.6 (5bc164f)
2.1.1 (2026-08-04)
Bug Fixes
- captcha: блокировать рекламные хосты в ручном режиме (4174f29)
- captcha: линтер в трассировке запросов (59a8c84)
- captcha: не жечь персону на эскалации checkbox -> slider (ee13563)
- captcha: обновить пин debug_info под виджет 1.1.1388 (ea477a3)
- captcha: привести запросы к поведению живого виджета 1.1.1388 (4fa7810)
- captcha: разносить попытки слайдера по дорожке (8eb3873)
- captcha: убрать reverse-скор из ранжирования slider-кандидатов (d9a0554)
Refactoring
- captcha: убрать трассировку запросов (1ca3451)
2.1.0 (2026-08-01)
Features
- proxy: встроенное управление маршрутами к TURN-серверам (a7798cd)
Bug Fixes
- routes: linter (cdc7ee8)
Refactoring
- перенос логики сессии в internal/session и обновление mobile-фасада (1f86fda)
2.0.2 (2026-07-30)
Bug Fixes
- captcha: адаптация под новую версию виджета (7c28498)
2.0.1 (2026-07-28)
Bug Fixes
- captcha: дожимать эскалацию checkbox -> slider в той же сессии (d1b769a)
2.0.0 (2026-07-28)
⚠ BREAKING CHANGES
- captcha: флаг -browser убран, семейство персоны всегда Chrome - только Chromium даёт NetworkInformation и Generic Sensors, без которых телеметрия captcha неполна. Класс устройства по-прежнему за -platform.
Features
- captcha: телеметрия виджета и одна Chrome-персона на установку (3211ed9)
Bug Fixes
- update deps for vuln pass (34746e2)
1.8.0 (2026-07-13)
Features
- автопубликация телеграм анонса при релизе (e678ee1)
Bug Fixes
- captcha: persona-модель вместо захвата профиля браузера (305754c)
1.7.3 (2026-07-12)
Bug Fixes
- captcha: адаптировать авторешение под SPA-капчу VK (b4189f8)
- deps: обновить Go 1.26.4 -> 1.26.5 (ea410a0)
1.7.2 (2026-07-07)
Bug Fixes
- captcha: linter (4c0bed1)
Refactoring
- captcha: вынести inject.js из Go и убрать легаси image-капчу (ea1cb93)
1.7.1 (2026-07-07)
Bug Fixes
- captcha: устойчивый разбор debug_info и сигнал дрейфа версии скрипта (3b33d33)
1.7.0 (2026-07-02)
Features
- mobile: add host socket protector (SetProtect) for tun/VPN hosts (0a6bc0a)
Bug Fixes
- vkauth: fast-fail on terminal call/link errors (9000/9008, anonymous-only, full) (805228e)
- vkauth: классификация terminal-ошибок по коду перед текстом (b391d7b)
1.6.0 (2026-06-30)
Features
- vk: улучшение браузерных отпечатков для captcha (12161ae)
1.5.2 (2026-06-25)
Bug Fixes
- ci (ab9c708)
1.5.1 (2026-06-25)
Bug Fixes
- ci (7eb33da)
1.5.0 (2026-06-25)
Features
- mobile: переименование ios -> mobile, универсальный движок для iOS/Android (575f278)
Bug Fixes
1.4.4 (2026-06-24)
Bug Fixes
- заменить устаревший token_type=messages на анонимные скоупы в VK авторизации (384c350)
1.4.3 (2026-06-22)
Bug Fixes
1.4.2 (2026-06-22)
Bug Fixes
- captcha (d73f426)
1.4.1 (2026-06-19)
Bug Fixes
- оставлены только VK app_id с доступом к calls.getAnonymousToken (ebb1f6b)
Refactoring
- единая константа версии VK API для calls.* (b76e212)
1.4.0 (2026-06-19)
Features
Bug Fixes
- -obf-timing допустим только с -mode udp и включённой обфускацией (e50febc)
- потокобезопасность send-состояния obf-кодеков rtpopus3 и shape (9564f34)
- устранены блокеры линтера в obf/multi (bafdcdd)
1.3.2 (2026-06-17)
Bug Fixes
- dnsdial: вернуть простую UDP-пробу auto до auto-пробы реального хоста (7d1ae10)
1.3.1 (2026-06-17)
Bug Fixes
- dnsdial: не вешать старт auto на DoH-пробу (1ec4fd4)
1.3.0 (2026-06-17)
Features
- dnsdial: auto-проба реального хоста с DoH recovery (1ec2b26)
- netconn: анти-DPI мульти-сплит ClientHello по SNI (cc40510)
- vkauth: флаг -browser и профиль Firefox (69a68bb)
- wire: профиль rtpopus2 и интерфейс Codec (f8e840c)
Bug Fixes
1.2.0 (2026-06-11)
Features
- uri: переход на base64url(json), расширенные параметры (402606e)
1.1.1 (2026-06-11)
Bug Fixes
- dnsdial: убрать динамический фоллбэк на DoH (40796b4)
1.1.0 (2026-06-11)
Features
- turn: фоллбэк по нескольким relay-адресам при allocate (40000fd)
Bug Fixes
- dnsdial: динамический фоллбэк на DoH при отказе UDP/53 после пробы (f24c541)
- install: неинтерактивный apt, чтобы needrestart/debconf не вешали установку (b518dc4)
- turndial: детект блэкхола по ChannelBind, не CreatePermission refresh (2534bbe)
- udprelay: детект блэкхола permission по логу pion вместо трафик-эвристики (106a485)
1.0.3 (2026-06-04)
Bug Fixes
- bump go toolchain (3cb39d4)
- captcha: обновить captchaScriptVersion до 1.1.1348 (1ff8dd9)
- client: сохранять client_id в доступный для записи каталог (3bdc8e8)
- udprelay: рециклить стрим при блэкхоле TURN permission (a337bb0)
- vkauth: фрагментировать ClientHello на control plane (56da9fe)
1.0.2 (2026-06-01)
Bug Fixes
- captcha: обновить captchaScriptVersion до 1.1.1346 (5fc2a09)
- dtlsdial: уникальный self-signed cert на каждый handshake (43180f0)
- install.sh (4b26d63)
- install.sh (854cab9)
- install.sh (375cf55)
- turndial: не переопределять PermissionRefreshInterval (дефолт pion) (a0ea846)
- udprelay: барьер старта стримов для прогрева кэша creds (a97ad6c)
Performance
- udprelay: in-place wrap/unwrap obf без копий payload (89c390c)
1.0.1 (2026-05-26)
Bug Fixes
- release: drop package-name so root component is empty (issue 2214) (281dd3e)
- release: set empty component for release-please tagging (issue 2214) (e976f7d)
Refactoring
- install.sh (0f74c23)
1.0.0 (2026-05-25)
Features
- auth: добавить заготовку Authenticator (65aa55b)
- Client ID шлётся всегда, симметричный wire авторизации (f1b047e)
- initial commit (942d0ff)
- main ветка -> master (7827001)
- абстракция провайдера (vk + static) (12c1ad6)
- авторизация по client-id, freeturn:// URI и подписки (e061345)
- автоустановка сервера и обновление документации (7651986)
- вырезать идентифицирующие proxy-заголовки, расширить пул имён (7433305)
- добавить флаг для своих DNS-серверов (334a17f)
- добавлены CONTRIBUTING.md и ISSUE_TEMPLATE.md (953e575)
- идемпотентный установщик с выбором версии и обновлением (198d314)
- перенести DoH-резолвер, добавить флаг -dns (4e5690c)
- поддержка refactor-коммитов в release-workflow (369ba1e)
Bug Fixes
- bondclient: слать Hello с реальным числом lane после фильтрации (ac69560)
- bondframe: ограничить размер ReadFrame значением MaxChunk (a8361f3)
- bondserver: отмена при spin из-за потери lane (f54f59b)
- bond: ограничить pending-map в copyBondToTCP против OOM (d0dabee)
- captcha/dnsdial: начать DI-миграцию package-level логгеров (5735b4a)
- captcha/manual: останавливать HTTP-сервер при отмене ctx (7ffa21b)
- ci (029c3ab)
- ci (587e95d)
- ci (b4f8cbc)
- ci (dab5848)
- client: применить HandshakeSem к VLESS-диалеру (1437601)
- cli: корректно обрабатывать -help/-h вместо exit 1 (0bf46b1)
- deps: обновить x/net до v0.55.0, toolchain до go1.26.3 (f8bc3f5)
- docker: исправить сборку, добавить compose, убрать VLESS_BOND (dfbfae2)
- dtlsdial: Dial использует хелпер GenerateSelfSignedCert внутри (21138fe)
- dtlsdial: унифицировать генерацию self-signed сертификата (ef549dc)
- install: переписать установщик сервера - TUI, надёжность, non-interactive (1b154a2)
- lint: устранить замечания golangci-lint + переход на dockers_v2 (dd82332)
- routes: починить установку маршрутов в routes.ps1 на Windows (7b0a907)
- server: ограниченное ожидание второго сигнала; предупреждение при выключенном -wrap (fb711c1)
- turndial: подавить периодический CreatePermission refresh (98e1d7c)
- udprelay: ctx-aware jitter-паузы; учёт listener в WaitGroup; всплытие ошибки записи DTLS (1459f39)
- udprelay: инкремент ConnectedStreams до ResetErrors (6588544)
- udprelay: параллельный старт стримов (9090d58)
- udprelay: синхронизировать watcher-горутину с возвратом Run (fba9a5e)
- исправить баги, sentinel-ошибки, устаревшие доки (ed68259)
- описание флагов (d292d30)
- правки после рефакторинга (ada9b94)
- устранить замечания комплексной проверки (8b2e028)
- утечки, уровни logx, обход логгера (52e7cb8)
- форматирование (e134893)
Performance
- bondserver: убрать аллокацию snapshotLanes на каждый retry записи (9459e94)
- bond: убрать аллокацию на чанк в copyTCPToBond (085b719)
- убрать аллокации на горячем пути, TCP DPI-split и KCP FEC (7a0f98f)
Refactoring
- bondframe: вынести Reorder; разделить между bondclient и bondserver (4a962d8)
- bondserver: tenant-scoped ключ Registry (52271d0)
- captcha: вынести ручной flow в internal/client/captcha/manual (acbd90f)
- client: убрать deprecated-теги с package-level логгеров (6b8b82f)
- config: единообразные имена переменных флагов, ужать help-текст (bf59e5c)
- config: сгруппировать опции по доменам (6c9bfba)
- config: убрать флаги -no-dtls и серверный -vless-bond (5b68683)
- kcptun: передавать Profile/FEC явно через config вместо process-wide env (483e45d)
- layout: переезд в cmd/, свернуть client/internal в internal/client (2167ba9)
- layout: переименовать пакеты (split wire/transport/proxy) (1fb869b)
- logging: унифицировать stdlib log.* в logx по client/cmd (9d7d754)
- logx: заменить Deps{Debug,Debugf} на интерфейс logx.Logger (7fd2d95)
- netconn: вынести BiCopy; использовать в tcpfwd и tcpfwdserver (7b4d6be)
- provider/vk: перенести vkauth/captcha/browserprofile/namegen под provider/vk/internal (2b85d93)
- provider: убрать static-провайдер, оставить абстракцию (cf47f37)
- proxy: вынести общие хелперы (минимальный объём) (e212465)
- tcpfwd: заменить busy-loop poll пула на Ready-канал; тихий accept-цикл при shutdown (2b24471)
- udprelay: разбить на run/loop/listener (d82258f)
- vkauth: разбить token.go на файлы по шагам (0e2d42c)
- wire: переименовать srtpmimicry -> rtpopus, заменить bool -obf на -obf-profile (4bedd00)
- wrap: заменить DTLS-мимикрию на noise-only AEAD (e2dd09a)
- wrap: перейти на мимикрию под SRTP в обход content-фильтра VK TURN (729557d)
- wrap: переписать как мимикрию под DTLS 1.2 ApplicationData с AEAD (39f95a8)
- вынести bond-клиент в internal/bond/client (29771b1)
- вынести bond-сервер в internal/bond/server (dc2e413)
- вынести namegen в internal-пакет, расширить пулы имён (b3f81ad)
- вынести stats, netadapt, bond в internal/ (ada0c74)
- вынести turnpipe и dtlsdial в internal/ (bc1aea6)
- вынести UDP proxy-цикл в internal/proxy/udp (82f231d)
- вынести VK-авторизацию в client/internal/vkauth (5bf6dd0)
- вынести VLESS-режим в internal/proxy/vless (0909656)
- вынести wrap в internal/wrap (322e8db)
- вынести разбор CLI в internal/config (817def3)
- вынести солвер captcha в internal/captcha (ac3a603)
- переименовать флаги и поля CLI/конфига (31e35ef)
- симметрия, вынос серверных хендлеров (51bda46)
- убрать суффикс V2 из солвера captcha (130d5e9)
- удалить slider POC путь captcha (5137ddd)
- удалить v1-солвер captcha и осовременить стиль (1c6b7a8)
- удалить пакет internal/auth (d1e8075)
- удалить поддержку Yandex Telemost и мёртвый код (ead97d0)
- унифицировать логирование в internal/proxy/* через logx.Logger (aff95e8)
Changelog
All notable changes to this project are documented here.
This file is maintained automatically by Release Please based on Conventional Commits.