Skip to content

OpenFlux v0.5.0: Major Mail.ru Docs & L3 Transparent Routing Release

Choose a tag to compare

@github-actions github-actions released this 20 Sep 14:55
· 9 commits to main since this release

OpenFlux v0.5.0 — Крупный релиз: Транспорт Mail.ru Docs, прозрачная L3 маршрутизация и Яндекс.Документы

Релиз v0.5.0 объединяет все наработки по интеграции и стабилизации транспортов совместного редактирования документов, прозрачной маршрутизации трафика и мобильного клиента.


🚀 Основные изменения и новые возможности

1. Транспорт Mail.ru Docs (mailru)

  • Скрытие сетевого трафика в документах Mail.ru Docs: Реализован полноценный транспорт через облачный редактор документов Mail.ru (doc.mail.ru, cloud.mail.ru). Сетевые пакеты маскируются под координаты курсора в протоколе совместного редактирования.
  • Полноценный цикл авторизации и работы с API: Автоматический запрос токена сессии (r7/edit), обработка прав доступа документа (permissions), аутентификация WebSocket через jwtOpen.
  • Отказоустойчивая авторизация (effectiveUserID): Добавлен fallback при отсутствии EditorUserID для надежной работы анонимных участников.

2. Поддержка Яндекс.Документов (Classic и Volga)

  • Автоматическое распознавание типа документа: Определение редактора Volga (vyandex) либо классического редактора (yandex) по метаданным документа.
  • Поддержка балансировщиков и динамических сокетов: Стабильное переподключение при миграции сессий на стороне облака.

3. Архитектура Exit-ноды: Прозрачная L3 маршрутизация (Kernel-like Routing)

  • Режим L3 по умолчанию: Режим выхода по умолчанию переведён на l3. На Linux VPS с правами root трафик транслируется прозрачно через Linux raw-сокеты (syscall.SOCK_RAW с флагом IP_HDRINCL).
  • Полноценный SNAT / DNAT и Conntrack:
    • Пакеты клиента с IP 10.10.10.2 транслируются в публичный IP-адрес сервера.
    • Входящие ответы перехватываются, сопоставляются по таблице соединений (5-tuple conntrack) и возвращаются клиенту в вебсокет.
    • Исправлен расчёт контрольных сумм заголовков IPv4 и TCP (RFC 791).
    • Буферы raw-сокетов увеличены до 16 МиБ для исключения потерь пакетов на высоких скоростях.
  • Режим L4 (gVisor Userspace Proxy): Сохранён как альтернативный вариант (--mode l4) для сред без доступа к сырым сокетам.

4. Безопасность и оптимизация

  • Сквозное шифрование AES-256-GCM: Защита трафика дополнительным слоем шифрования через флаги --encryption-key, --encryption-key-file или переменную OPENFLUX_KEY.
  • Кодеки сжатия: Поддержка как классического сжатия legacy (LZ4), так и пакетированного batched (zstd + coalescing).
  • Сборка бинарников: Готовые бинарники для Linux openflux-linux-amd64 и openflux-linux-arm64.