github sleep3r/mtproto.zig v0.17.0

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

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

[server]
public_ip = "203.0.113.10"

Примеры

# Установка с привязкой к конкретному адресу
sudo mtbuddy install --port 443 --domain wb.ru --bind 127.0.0.1 --yes
[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:

[server]
public_ip = "203.0.113.10"

Examples

# Install and bind to a specific interface address
sudo mtbuddy install --port 443 --domain wb.ru --bind 127.0.0.1 --yes
[server]
bind_address = "10.0.0.5"
public_ip = "203.0.113.10"

Changelog

  • feat: mtbuddy enhancements and custom bind IP (#177) (8c6796f)

Don't miss a new mtproto.zig release

NewReleases is sending notifications on new releases.