github sleep3r/mtproto.zig v0.15.1

latest releases: v1.15.2, v1.15.1, v1.15.0...
5 months ago

🇷🇺 Что нового (RU)

Что решает этот релиз

• Полная развязка транспорта и оверлея: MiddleProxy теперь стабильно работает поверх direct, tunnel, socks5 и http без привязки к netns.
• Надёжная работа в сетях с блокировками: переход с namespace-маршрутизации на socket policy routing (SO_MARK=200 -> table 200) и более предсказуемый runtime.
• Операционная наблюдаемость и управление: в Dashboard появился полноценный блок Routing/Upstream с переключателями и диагностикой.

Что изменено

Proxy core

  • Исправлена потеря pipelined-данных после SOCKS5/HTTP CONNECT handshake.
  • MiddleProxy KDF переведён на логические адреса (L7), а не на физические адреса proxy-сокета (L4).
  • Для регионов без доступа к Telegram API стартовый refresh MiddleProxy теперь логируется как info (не как тревожный warn) с fallback на bundled defaults.

Tunnel architecture

  • upstream.type=tunnel больше не требует ip netns exec.
  • Трафик направляется через policy routing: fwmark 200 + table 200 + default dev awg0.
  • mtbuddy setup tunnel переписан под host-namespace модель; setup_tunnel.sh, Table = off, обновлённый systemd unit.

Dashboard

  • Новый блок Routing & Upstream: MiddleProxy state, upstream type, target, policy status, tunnel interface health.
  • Управление в UI: включение/выключение MiddleProxy, переключение upstream, выбор tunnel interface из доступных интерфейсов.
  • Inline-редактирование upstream-целей для SOCKS5/HTTP: host, port, username, password.

Build/Release pipeline

  • Для x86_64_v3 артефактов включён AES (x86_64_v3+aes).
  • CI и release workflows теперь проверяют AES-enabled профиль, чтобы не выпускать software-only AES сборки.
  • Обновлён bootstrap CPU preflight для корректного fallback.

Важно после обновления

• Если у вас был старый netns-based unit, запустите mtbuddy setup tunnel для миграции на policy routing.
• Сообщение Initial middle-proxy refresh unavailable (...) в заблокированных регионах — ожидаемое поведение; прокси продолжает работу на встроенном списке.


🇬🇧 Release notes (EN)

What this release addresses

• Full transport/overlay decoupling: MiddleProxy now works consistently across direct, tunnel, socks5, and http without netns coupling.
• Better behavior under regional blocking: tunnel egress moved to explicit socket policy routing (SO_MARK=200 -> table 200).
• Better operations UX: Dashboard now includes complete Routing/Upstream visibility and controls.

What changed

Proxy core

  • Fixed pipelined payload loss right after SOCKS5/HTTP CONNECT handshake completion.
  • MiddleProxy KDF now uses logical upstream addressing (L7) instead of physical proxy-socket addressing (L4).
  • In blocked regions, initial MiddleProxy refresh failures are treated as informational with bundled-default fallback.

Tunnel architecture

  • upstream.type=tunnel no longer depends on ip netns exec.
  • Egress now uses Linux policy routing (fwmark 200, table 200, default via awg0).
  • mtbuddy setup tunnel is rewritten for host-namespace operation (setup_tunnel.sh, Table = off, updated service unit).

Dashboard

  • New Routing & Upstream panel: MiddleProxy status, upstream mode, target, policy state, and tunnel interface health.
  • UI controls to toggle MiddleProxy, switch upstream type, choose tunnel interface from detected host interfaces.
  • Inline SOCKS5/HTTP upstream editor for host/port/username/password.

Build/Release pipeline

  • x86_64_v3 artifacts now explicitly enable AES (x86_64_v3+aes).
  • CI and release workflows validate AES-enabled profiles to prevent software-only AES builds.
  • Bootstrap CPU preflight updated for safer artifact selection and fallback.

Migration notes

• If you still run a legacy netns-based service unit, re-run mtbuddy setup tunnel to migrate to policy routing.
Initial middle-proxy refresh unavailable (...) in blocked regions is expected and non-fatal; bundled defaults remain active.

Don't miss a new mtproto.zig release

NewReleases is sending notifications on new releases.