🇷🇺 Что нового (RU)
Что решает этот релиз
v0.22.0 - небольшой feature-релиз для mtbuddy, который закрывает UX-пробел после security hardening runtime-логов.
Начиная с v0.21.x, mtproto-proxy намеренно больше не печатает user secrets и готовые proxy links в stdout/journald. Это правильно для systemd, Docker и shared-host окружений: runtime logs часто собираются централизованно, читаются другими сервисами или остаются в истории контейнера.
Но для операторов без dashboard появился неудобный вопрос: как заново получить tg:// / t.me ссылки из уже установленного config.toml? В discussion #239 это справедливо всплыло как недостающая CLI-команда.
В v0.22.0 добавлен явный sensitive-output workflow:
sudo mtbuddy links
sudo mtbuddy links --server proxy.example.com --config /opt/mtproto-proxy/config.toml
mtbuddy secretRuntime logs остаются чистыми, а оператор может осознанно вывести секреты и ссылки отдельной командой.
[!NOTE]
Изменений вconfig.tomlне требуется.
[!TIP]
Если вы запускаете proxy в своём контейнере без dashboard, используйтеmtbuddy links --config <path> --server <public-host>. Команда читает[access.users],[server].port,[server].public_ipи[censorship].tls_domain.
Что изменено
mtbuddy links: явный вывод client links (#240)
- Добавлена команда
mtbuddy links. - Команда печатает для каждого пользователя:
- raw
secret; tg://proxy?...;https://t.me/proxy?....
- raw
- По умолчанию config берётся из
/opt/mtproto-proxy/config.toml, а если его нет - из локальногоconfig.toml. - Можно явно задать:
--config <path>;--server <ip-or-domain>;--port <port>;--domain <tls-domain>.
- IPv6 endpoint escaping сохранён для deep links.
mtbuddy secret: генерация нового user secret (#240)
- Добавлена команда
mtbuddy secret. - Она печатает свежий 32-hex MTProto secret, совместимый с
[access.users]. - Это CLI-эквивалент
openssl rand -hex 16, но без зависимости от OpenSSL в пользовательском workflow.
Install UX: подсказка после установки (#240)
- После блока
Connection linkinstaller теперь подсказывает:
Run `sudo mtbuddy links` later to print these links again.
Runtime proxy logs intentionally hide secrets and links.
- README обновлён для no-dashboard и Docker сценариев.
Проверено
make testzig build -Dtarget=x86_64-linux -Doptimize=ReleaseFast
🇬🇧 Release notes (EN)
What this release addresses
v0.22.0 is a small mtbuddy feature release that closes a UX gap introduced by runtime log hardening.
Since v0.21.x, mtproto-proxy intentionally no longer prints user secrets or ready-made proxy links to stdout/journald. That is the right default for systemd, Docker, and shared-host environments: runtime logs are often collected centrally, read by other services, or kept in container history.
However, for operators without the dashboard, there was no obvious way to regenerate tg:// / t.me links from an existing config.toml. Discussion #239 correctly called out this missing CLI path.
v0.22.0 adds an explicit sensitive-output workflow:
sudo mtbuddy links
sudo mtbuddy links --server proxy.example.com --config /opt/mtproto-proxy/config.toml
mtbuddy secretRuntime logs stay clean, while operators can intentionally print secrets and links when they need them.
[!NOTE]
Noconfig.tomlchanges are required.
[!TIP]
If you run the proxy in your own container without the dashboard, usemtbuddy links --config <path> --server <public-host>. The command reads[access.users],[server].port,[server].public_ip, and[censorship].tls_domain.
What changed
mtbuddy links: explicit client link output (#240)
- Added
mtbuddy links. - The command prints, for every configured user:
- raw
secret; tg://proxy?...;https://t.me/proxy?....
- raw
- By default, config is read from
/opt/mtproto-proxy/config.toml, falling back to localconfig.toml. - You can override:
--config <path>;--server <ip-or-domain>;--port <port>;--domain <tls-domain>.
- IPv6 endpoint escaping is preserved for deep links.
mtbuddy secret: generate a new user secret (#240)
- Added
mtbuddy secret. - It prints a fresh 32-hex MTProto secret suitable for
[access.users]. - This is the CLI equivalent of
openssl rand -hex 16, without requiring OpenSSL in the user's workflow.
Install UX: post-install hint (#240)
- After the
Connection linkblock, installer now hints:
Run `sudo mtbuddy links` later to print these links again.
Runtime proxy logs intentionally hide secrets and links.
- README now documents the no-dashboard and Docker workflow.
Verified
make testzig build -Dtarget=x86_64-linux -Doptimize=ReleaseFast