v0.15.1

sleep3r/mtproto.zigv0.15.1Apr 10, 2026by sleep3r

Upgrading?

AI Summary

Major architectural update moving from netns routing to socket policy routing and improving proxy core stability.

Key Highlights

  • Decoupled transport and overlay layers (no netns dependency).
  • Implemented socket policy routing (`SO_MARK`) for tunnel egress.
  • New Routing & Upstream dashboard panel for management.

New Features

  • Policy routing implementation for tunnel traffic.
  • Generic upstream support (direct, tunnel, socks5, http).
  • Dashboard UI for routing and upstream management.

Full Release Notes

### 🇷🇺 Что нового (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.

Related Repositories