v0.17.0
sleep3r/mtproto.zigv0.17.0Apr 13, 2026by sleep3r
Upgrading?
AI Summary
Improves IPv4/IPv6 predictability by adding explicit bind address support and fixes IPv6 deep-link generation.
Key Highlights
- New `--bind` flag and `bind_address` config option for specific IP binding.
- IPv6 deep-link generation now correctly handles brackets and encoding.
- Public IP detection now prefers IPv4 over IPv6.
New Features
- Custom interface binding for proxy startup.
- Corrected URL encoding for IPv6 in generated links.
- Automatic dashboard redeployment during updates.
Full Release Notes
### 🇷🇺 Что нового (RU) **Что решает этот релиз** • Установка и ссылки стали предсказуемее в mixed IPv4/IPv6 окружениях. • Появилась возможность привязать прокси к конкретному IP/интерфейсу. • Обновление теперь корректно переустанавливает dashboard, если он уже был включен. **Что изменено** • **Новый bind address в установке и рантайме** • `mtbuddy install --bind <ip>` • `[server].bind_address` в `config.toml` • Прокси слушает ровно указанный IPv4/IPv6 адрес; при невалидном адресе старт останавливается с понятной ошибкой. • Если параметр не задан, поведение прежнее: попытка `[::]` с fallback на `0.0.0.0`. • **Исправлены ссылки подключения для IPv6** • `tg://` и `t.me` ссылки теперь корректно URL-encoded для IPv6/скобок. • Исправление применено в `mtbuddy` summary, startup banner прокси и dashboard. • Убрана тихая обрезка адреса при формировании ссылки. • **Авто-детект публичного IP теперь предпочитает IPv4** • Сначала проверяются IPv4-сервисы, затем fallback на IPv6. • Это снижает число кейсов, когда Telegram-клиенты не принимают IPv6-only deep link. • **Обновление dashboard при `mtbuddy update`** • Если сервис `proxy-monitor` уже активен, dashboard автоматически переdeployится после обновления. • Во время update это делается в quiet-режиме, без лишнего summary-шума. • **Документация** • Обновлены `README.md` и `config.toml.example` для `--bind` / `bind_address`. • Добавлена явная подсказка про ручной IPv4 override через `[server].public_ip`. > [!IMPORTANT] > Если клиент не принимает ссылку с IPv6, задайте IPv4 вручную в `/opt/mtproto-proxy/config.toml`: > > ```toml > [server] > public_ip = "203.0.113.10" > ``` **Примеры** ```bash # Установка с привязкой к конкретному адресу sudo mtbuddy install --port 443 --domain wb.ru --bind 127.0.0.1 --yes ``` ```toml [server] bind_address = "10.0.0.5" public_ip = "203.0.113.10" ``` -------- ### 🇬🇧 Release notes (EN) **What this release addresses** • Setup and generated links are now more predictable on mixed IPv4/IPv6 hosts. • You can bind the proxy to a specific interface address. • `mtbuddy update` now keeps dashboard deployments in sync when monitoring is already enabled. **What changed** • **New bind address support in install + runtime** • `mtbuddy install --bind <ip>` • `[server].bind_address` in `config.toml` • Proxy now binds to the exact IPv4/IPv6 address you set; invalid values fail fast with a clear startup error. • If not set, default behavior stays the same: try `[::]`, then fall back to `0.0.0.0`. • **IPv6 deep-link fixes** • `tg://` and `t.me` links now URL-encode server addresses correctly (including IPv6/brackets). • Applied in `mtbuddy` post-install summary, proxy startup banner, and dashboard. • Removed silent truncation when building encoded server links. • **Public IP detection now prefers IPv4** • Installer/runtime first query IPv4 endpoints, then fall back to IPv6. • Helps in environments where Telegram clients/networks reject IPv6-only deep links. • **Dashboard redeploy on update** • `mtbuddy update` now redeploys dashboard automatically when `proxy-monitor` is already active. • This path runs in quiet mode to avoid noisy extra summary output. • **Docs updates** • Updated `README.md` and `config.toml.example` for `--bind` / `bind_address`. • Added explicit guidance for forcing IPv4 via `[server].public_ip`. > [!IMPORTANT] > If a client rejects IPv6 links, force an IPv4 public endpoint in `/opt/mtproto-proxy/config.toml`: > > ```toml > [server] > public_ip = "203.0.113.10" > ``` **Examples** ```bash # Install and bind to a specific interface address sudo mtbuddy install --port 443 --domain wb.ru --bind 127.0.0.1 --yes ``` ```toml [server] bind_address = "10.0.0.5" public_ip = "203.0.113.10" ``` -------- ### Changelog * feat: mtbuddy enhancements and custom bind IP ([#177](https://github.com/sleep3r/mtproto.zig/issues/177)) ([8c6796f](https://github.com/sleep3r/mtproto.zig/commit/8c6796f69030557f422d2aa6480ab440db9e2432))
Related Repositories
lightpanda-io/browser★ 36,856
Lightpanda: the headless browser designed for AI and automation
tigerbeetle/tigerbeetle★ 17,229
The financial transactions database designed for mission critical safety and performance.
nullclaw/nullclaw★ 8,131
Fastest, smallest, and fully autonomous AI assistant infrastructure written in Zig
zml/zml★ 4,195
Any model. Any hardware. Zero compromise. Built with @ziglang / @openxla / MLIR / @bazelbuild
dmtrKovalenko/odiff★ 3,280
A very fast SIMD-first image comparison library (with nodejs API)