github sleep3r/mtproto.zig v0.21.3

latest releases: v1.10.3, v1.10.2, v1.10.1...
3 months ago
🇷🇺 Что нового (RU)

Что решает этот релиз

v0.21.3 - patch-релиз для installer/control-plane, который закрывает проблему из #236.

На Debian 12 установка через mtbuddy --interactive могла падать на шаге:

✖ nfqws build failed

А после ручной установки nfqws сервис mtproto-proxy мог уходить в restart loop с:

status=217/USER
Failed at step USER spawning /opt/mtproto-proxy/mtproto-proxy

Причин было две:

  • текущий upstream zapret/nfq линкуется с -lnfnetlink, а installer не ставил явный пакет libnfnetlink-dev;
  • systemd unit использует User=mtproto и Group=mtproto, но installer создавал только пользователя и не гарантировал наличие одноимённой system group.

В v0.21.3 mtbuddy install стал строже и понятнее: нужная dependency ставится явно, вывод сборки zapret/nfq больше не скрывается, а service user/group создаются детерминированно.

[!NOTE]
Изменений в config.toml не требуется.

[!TIP]
Если нужен быстрый bare install без OS-level TCP desync, можно использовать sudo mtbuddy install --no-nfqws ... или --no-dpi. Но для обычной установки с nfqws этот релиз должен закрыть проблему на Debian 12.

Что изменено

Installer: фикс сборки nfqws (#237)

  • В список build dependencies добавлен libnfnetlink-dev, который нужен zapret/nfq для -lnfnetlink.
  • git clone и make для zapret/nfq больше не глушат stderr/stdout.
  • При ошибке сборки mtbuddy теперь показывает хвост вывода команды, а не только общую строку nfqws build failed.
  • После сборки дополнительно проверяется наличие /opt/zapret/nfq/nfqws.

Installer: фикс systemd status=217/USER (#237)

  • Installer явно создаёт system group mtproto.
  • Service user теперь создаётся с --gid mtproto и home /opt/mtproto-proxy.
  • chown, systemctl daemon-reload, systemctl enable и systemctl restart стали strict-шагами: install больше не печатает ложный success, если сервис не стартовал.
  • При ошибке старта mtbuddy печатает systemctl status mtproto-proxy --no-pager -l.

Проверено

  • make test
  • zig build -Dtarget=x86_64-linux -Doptimize=ReleaseFast
  • Debian 12 container: установка dependencies + сборка zapret/nfq завершилась nfqws-ok

🇬🇧 Release notes (EN)

What this release addresses

v0.21.3 is an installer/control-plane patch release that fixes #236.

On Debian 12, installing through mtbuddy --interactive could fail at:

✖ nfqws build failed

After manually installing nfqws, mtproto-proxy could then enter a restart loop with:

status=217/USER
Failed at step USER spawning /opt/mtproto-proxy/mtproto-proxy

There were two root causes:

  • current upstream zapret/nfq links with -lnfnetlink, but the installer did not explicitly install libnfnetlink-dev;
  • the systemd unit uses User=mtproto and Group=mtproto, while the installer only created the user and did not guarantee the matching system group.

v0.21.3 makes mtbuddy install stricter and more diagnosable: the missing dependency is installed explicitly, zapret/nfq build output is no longer hidden, and service user/group creation is deterministic.

[!NOTE]
No config.toml changes are required.

[!TIP]
For a quick bare install without OS-level TCP desync, use sudo mtbuddy install --no-nfqws ... or --no-dpi. For the normal nfqws path, this release should fix the Debian 12 installer failure.

What changed

Installer: nfqws build fix (#237)

  • Added the explicit libnfnetlink-dev build dependency required by zapret/nfq for -lnfnetlink.
  • git clone and make for zapret/nfq no longer suppress stderr/stdout.
  • On build failure, mtbuddy now prints the tail of command output instead of only nfqws build failed.
  • The installer now verifies that /opt/zapret/nfq/nfqws exists after the build.

Installer: systemd status=217/USER fix (#237)

  • The installer now explicitly creates the mtproto system group.
  • The service user is created with --gid mtproto and home /opt/mtproto-proxy.
  • chown, systemctl daemon-reload, systemctl enable, and systemctl restart are now strict steps: install no longer prints a false success when the service fails.
  • On service startup failure, mtbuddy prints systemctl status mtproto-proxy --no-pager -l.

Verified

  • make test
  • zig build -Dtarget=x86_64-linux -Doptimize=ReleaseFast
  • Debian 12 container: dependency install + zapret/nfq build completed with nfqws-ok

Changelog

Don't miss a new mtproto.zig release

NewReleases is sending notifications on new releases.