v1.1.1
sleep3r/mtproto.zigv1.1.1Jun 8, 2026by sleep3r
Upgrading?
AI Summary
Patch for v1.1.0 to fix the fronting-domain x25519 check compatibility with Ubuntu 20.04 (OpenSSL 1.1.1).
Key Highlights
- Fixed OpenSSL 1.1.1 compatibility for x25519 group negotiation
- Changed group name from `x25519` to `X25519`
- Improved output messages for domain checks
- Fixed false positive warnings on Ubuntu 20.04
New Features
- OpenSSL 1.1.1 compatibility fix
- Improved domain check messaging
Full Release Notes
<details open> <summary>🇷🇺 Что нового (RU)</summary> ## Что чинит этот релиз `v1.1.1` — патч к [v1.1.0](https://github.com/sleep3r/mtproto.zig/releases/tag/v1.1.0): чинит проверку пригодности fronting-домена, которая **ломалась на каждой установке на Ubuntu 20.04** (focal — ОС, поддержку которой как раз добавили в 1.1.0). ### В чём была проблема Установщик проверяет, что `tls_domain` договаривается о **single-round x25519** (иначе наш FakeTLS-ServerHello не совпадёт), через `openssl s_client -groups x25519`. **OpenSSL 1.1.1** (focal) отвергает имя группы в нижнем регистре с ошибкой `Error with command: "-groups x25519"` — проба не давала вывода, и проверка **срабатывала ложно на любом домене**: предупреждала, что рекомендуемый по умолчанию `rutube.ru` «не удалось подтвердить», и в том же сообщении советовала… `rutube.ru`. (OpenSSL 3.x принимает нижний регистр, поэтому раньше это работало только на новых ОС.) ### Что исправлено - **`x25519` → `X25519`** (верхний регистр) — принимается и 1.1.1f, и 3.0.13. Проверено в реальных контейнерах: rutube/ozon/vk договариваются о `X25519, 253 bits` за один раунд; wb.ru подключается, но temp-ключа не отдаёт. - **Понятный вывод** вместо одного пугающего предупреждения — три случая: домен **подходит** (молча), **доступен, но отвергает x25519** (настоящее предупреждение — и советуем *другие* домены, не тот, что упал), **недоступен** (мягкая заметка «пропускаю — это связность, а не плохой домен»). Список рекомендаций больше не включает домен, который только что не прошёл проверку. ## Проверено - Проба на OpenSSL 1.1.1f и 3.0.13 (поведение good/bad/unreachable) в реальных контейнерах. - Сквозной installer-e2e на **ubuntu:20.04**: проверка домена теперь проходит чисто для rutube.ru — без противоречивого предупреждения. - Юнит-тест на список рекомендаций; CI на 5 ОС, `zig build test`, `zig fmt` — зелёные. </details> --- <details> <summary>🇬🇧 Release notes (EN)</summary> ## What this release fixes `v1.1.1` patches [v1.1.0](https://github.com/sleep3r/mtproto.zig/releases/tag/v1.1.0): the fronting-domain suitability check **broke on every Ubuntu 20.04 install** (focal — the OS support 1.1.0 just added). ### The bug The installer verifies that `tls_domain` negotiates **single-round x25519** (else our FakeTLS ServerHello won't match) via `openssl s_client -groups x25519`. **OpenSSL 1.1.1** (focal) rejects the lowercase group name with `Error with command: "-groups x25519"`, so the probe produced no output and the check **mis-fired on every domain** — warning that the recommended default `rutube.ru` "could not be confirmed" while recommending `rutube.ru` in the same message. (3.x accepts lowercase, so it only ever worked on newer OSes.) ### The fix - **`x25519` → `X25519`** (uppercase) — accepted by both 1.1.1f and 3.0.13. Verified in real containers: rutube/ozon/vk negotiate `X25519, 253 bits` single-round; wb.ru connects but yields no temp key. - **Clearer output** instead of one scary catch-all — three cases: domain is **suitable** (silent), **reachable but rejects x25519** (the real warning, recommending *other* domains — not the one that failed), **couldn't reach** (a soft "skipping — connectivity, not a bad domain" note). The recommendation list no longer includes the domain that just failed. ## Verified - Real-container probe across OpenSSL 1.1.1f and 3.0.13 (good/bad/unreachable behaviors). - End-to-end installer-e2e on **ubuntu:20.04**: the domain check now passes cleanly for rutube.ru — no contradictory warning. - Unit test for the recommendation list; 5-OS CI, `zig build test`, `zig fmt` — green. </details> ## Changelog * fix(install): fronting-domain x25519 check works on OpenSSL 1.1.1 + clearer output ([#319](https://github.com/sleep3r/mtproto.zig/pull/319)) ([28e40fb](https://github.com/sleep3r/mtproto.zig/commit/28e40fb))
Related Repositories
lightpanda-io/browser★ 36,854
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,194
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)