v0.10.0

sleep3r/mtproto.zigv0.10.0Apr 8, 2026by sleep3r

Upgrading?

AI Summary

Introduces per-user direct routing bypass for MiddleProxy and improves stability with AmneziaWG/WireGuard.

Key Highlights

  • New `[access.direct_users]` section for admin users to bypass MiddleProxy
  • Improved NAT IP detection for AWG/WireGuard
  • Explicit override for middle proxy NAT IP
  • Expanded middle-proxy diagnostics

New Features

  • Per-user direct routing
  • Improved NAT detection

Full Release Notes

## [0.10.0](https://github.com/sleep3r/mtproto.zig/compare/v0.9.4...v0.10.0) (2026-04-08)

### 🇷🇺 Release notes (RU)

**Что решает этот релиз**
- Добавляет точечный режим для «админских»/сервисных пользователей: можно принудительно обходить MiddleProxy и ходить напрямую в Telegram DC.
- Сохраняет текущую логику для остальных пользователей: promo parity и поведение `use_middle_proxy` не ломаются.
- Повышает стабильность middle-proxy в связке с AmneziaWG/WireGuard за счёт более точного NAT IP выбора и расширенной диагностики рукопожатия.

**Что изменено**
- **Per-user bypass MiddleProxy**:
  - Новый раздел: `[access.direct_users]` (алиас: `[access.admins]`).
  - Формат: `<name> = true` (также поддерживаются `1` / `yes`).
  - `<name>` должен совпадать с пользователем из `[access.users]`.
  - Для таких пользователей прокси всегда выбирает direct-path (включая media/DC203).
- **Routing behavior**:
  - Для обычных пользователей маршрутизация осталась прежней (`use_middle_proxy` / `force_media_middle_proxy`).
  - При включённом `fast_mode` direct-пользователи сохраняют fast-path семантику.
- **MiddleProxy NAT/diagnostics (AWG)**:
  - Улучшено определение NAT IP для middle-proxy key derivation в AWG/WireGuard-сценариях.
  - Добавлен/поддержан явный override: `[server].middle_proxy_nat_ip`.
  - Расширены диагностические логи middle-proxy handshake/frames, чтобы проще локализовать проблемы в проде.

**Важно**
- Миграция `config.toml` не обязательна.
- Если хотите включить bypass только для отдельных ключей, добавьте их в `[access.direct_users]`.
- Имена в `[access.direct_users]` должны совпадать с ключами из `[access.users]`.

### 🇬🇧 Release notes (EN)

**What this release addresses**
- Adds a targeted mode for admin/service users: force direct Telegram DC routing and bypass MiddleProxy per user.
- Preserves existing behavior for everyone else: promo parity and `use_middle_proxy` logic stay intact.
- Improves middle-proxy stability with AmneziaWG/WireGuard by refining NAT IP selection and adding deeper handshake diagnostics.

**What changed**
- **Per-user MiddleProxy bypass**:
  - New section: `[access.direct_users]` (alias: `[access.admins]`).
  - Format: `<name> = true` (`1` / `yes` are also accepted).
  - `<name>` must match a user key from `[access.users]`.
  - Matching users are always routed directly (including media/DC203 paths).
- **Routing behavior**:
  - Regular users keep previous routing (`use_middle_proxy` / `force_media_middle_proxy`).
  - With `fast_mode` enabled, direct users keep fast-path semantics.
- **MiddleProxy NAT/diagnostics (AWG)**:
  - Improved NAT IP detection for middle-proxy key derivation in AWG/WireGuard deployments.
  - Explicit override supported via `[server].middle_proxy_nat_ip`.
  - Expanded middle-proxy handshake/frame diagnostics to speed up production troubleshooting.

**Important**
- No `config.toml` migration is required.
- Add only selected users to `[access.direct_users]` if you need targeted direct routing.
- Names in `[access.direct_users]` must match keys in `[access.users]`.

---

### Features

* **config:** add per-user MiddleProxy direct bypass ([#107](https://github.com/sleep3r/mtproto.zig/issues/107)) ([877b410](https://github.com/sleep3r/mtproto.zig/commit/877b410ebf20cdf5912968ba61ea61c5c054df12))

### Bug Fixes

* **proxy:** improve middle-proxy NAT detection for AWG tunnels ([#105](https://github.com/sleep3r/mtproto.zig/issues/105)) ([7b30617](https://github.com/sleep3r/mtproto.zig/commit/7b30617bb4b22776a0a8499aed65ac1ee2966ca0))

Related Repositories