v0.9.3
sleep3r/mtproto.zigv0.9.3Apr 8, 2026by sleep3r
Upgrading?
AI Summary
Fixes proxy link generation in AmneziaWG tunnels and adds a `public_ip` configuration option.
Key Highlights
- Fixes incorrect proxy link (shows VPN exit IP instead of server IP)
- Adds `[server].public_ip` config parameter
- Faster startup when `public_ip` is set
- Fixed crash in `setup_tunnel.sh` on re-run
New Features
- `public_ip` configuration option
- AmneziaWG link fix
Full Release Notes
## [0.9.3](https://github.com/sleep3r/mtproto.zig/compare/v0.9.2...v0.9.3) (2026-04-08) ### 🇷🇺 Release notes (RU) **Что решает этот релиз** - Исправляет неправильную ссылку на прокси при работе через AmneziaWG туннель: вместо IP сервера подставлялся IP точки выхода VPN. - Добавляет параметр `public_ip` в конфиг для явного указания адреса (IP или домена), который используется в сгенерированных `tg://` ссылках. **Что изменено** - **Конфиг: `[server].public_ip`**: новый параметр, позволяющий зафиксировать IP-адрес или доменное имя (например `proxy.example.com`) в стартовом баннере и connection-ссылках. Если не задан — поведение прежнее (авто-определение через `ifconfig.me`). - **Баннер**: при наличии `public_ip` HTTP-запросы к внешним сервисам пропускаются — быстрее старт, нет зависимости от сети. - **`setup_tunnel.sh`**: автоматически определяет реальный IPv4 хоста (`curl -s4`) **до** запуска прокси внутри network namespace и инжектит `public_ip` в `config.toml`. Ранее `curl` мог вернуть IPv6 хоста или ничего. - **`setup_tunnel.sh`**: исправлен краш (`set -e`) при `cp` конфига AmneziaWG, когда source и destination совпадают (повторный запуск скрипта). - **Документация**: `config.toml.example` и README Configuration reference обновлены описанием нового параметра. **Важно** - Миграция `config.toml` **не требуется**: параметр `public_ip` опционален, старое поведение сохранено. - При первом перезапуске `setup_tunnel.sh` на существующем сервере `public_ip` пропишется автоматически. - Для стабильных ссылок рекомендуется использовать доменное имя: `public_ip = "proxy.example.com"`. ### 🇬🇧 Release notes (EN) **What this release addresses** - Fixes incorrect proxy link when running behind an AmneziaWG tunnel: the VPN exit IP was printed instead of the server's real address. - Adds a `public_ip` config parameter to explicitly set the address (IP or domain) used in generated `tg://` links. **What changed** - **Config: `[server].public_ip`**: new parameter to pin an IP address or domain name (e.g. `proxy.example.com`) in the startup banner and connection links. When unset, behavior is unchanged (auto-detect via `ifconfig.me`). - **Banner**: when `public_ip` is set, external HTTP requests are skipped — faster startup, no network dependency. - **`setup_tunnel.sh`**: now detects the real host IPv4 (`curl -s4`) **before** launching the proxy inside the network namespace and injects `public_ip` into `config.toml`. Previously `curl` could return the host's IPv6 or fail silently. - **`setup_tunnel.sh`**: fixed crash (`set -e`) on `cp` when AmneziaWG source and destination config are the same file (re-running the script). - **Docs**: `config.toml.example` and README Configuration reference updated with the new parameter. **Important** - No `config.toml` migration required: `public_ip` is optional, existing behavior is preserved. - On first `setup_tunnel.sh` re-run, `public_ip` will be auto-injected. - For stable links, use a domain name: `public_ip = "proxy.example.com"`. ### Bug Fixes * public IP in AmneziaWG tunnel mode ([#97](https://github.com/sleep3r/mtproto.zig/issues/97)) ([119705b](https://github.com/sleep3r/mtproto.zig/commit/119705b5d5dd5d01585ed5798c908c61aea15ff9)), closes [#96](https://github.com/sleep3r/mtproto.zig/issues/96)
Related Repositories
lightpanda-io/browser★ 36,859
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)