Skip to content

OpenFlux v1.0.2

Choose a tag to compare

@github-actions github-actions released this 21 Sep 08:12
· 2 commits to main since this release

OpenFlux v1.0.2 — Релиз Exit-Node и клиента: Автодетекция кодеков Batched/LZ4 и фикс Mail.ru Docs

Релиз v1.0.2 устраняет проблемы с подключением через сервис Mail.ru Docs, вводит двустороннее автодетектирование пачечных кадров ZSTD и legacy LZ4, а также переводит серверную часть на кодек batched по умолчанию.


🚀 Что нового и что было исправлено

1. Двусторонняя автодетекция кодеков и Batched по умолчанию

  • Умный декодер кадров: Транспорт на приёме (Receive) теперь автоматически определяет формат входящих данных по первому байту:
    • Байт 0x02 — пакет является пачкой Zstandard (decodeBatch).
    • Байт 0x1F / 0x00 — пакет является сжатым LZ4 кадром или несжатым пакетом.
    • Байт 0x45 / 0x60 — сырой IPv4/IPv6 пакет.
    • Благодаря этому сервер и клиент могут свободно работать с любыми версиями друг друга без сбоев туннеля.
  • Переход на кодек Batched по умолчанию: Флаг --codec по умолчанию теперь равен batched.
  • Поддержка переменных окружения: Добавлено автоматическое чтение параметров OLCRTC_OPENFLUX_CODEC, OLCRTC_CODEC, OPENFLUX_CODEC при старте.

2. Полное восстановление Mail.ru Docs

  • Адаптация под протокол R7/ONLYOFFICE: WebSocket сессия переходит в подключенное состояние (SetConnected(true)) сразу после отправки пакета аутентификации auth2, а также валидируется при поступлении ответов documentOpen (status: "ok"), waitAuth и license.
  • Устранение блокировки в Send(): Метод отправки пакетов больше не блокирует трафик, если WebSocket соединение активно.
  • Сетевая стабильность через прокси: Удален флаг ForceAttemptHTTP2: true в utils/proxy.go, вызывавший сбои согласования ALPN при туннелировании через SOCKS5-прокси.

3. Graceful Shutdown

  • При остановке сервиса корректно закрываются все открытые WebSocket соединения, сессии совместного редактирования и фоновые горутины, исключая появление висячих сессий (zombie connections) на сервере.

📦 Инструкция по обновлению на VPS

Для ручного обновления бинарника openflux на сервере:

systemctl stop openflux@* || true
curl -fsSL https://github.com/Oleglog/OpenFlux-Android/releases/download/v1.0.2/openflux-linux-amd64 -o /usr/local/bin/openflux
chmod +x /usr/local/bin/openflux
systemctl restart openflux@* || true