v0.9.4

sleep3r/mtproto.zigv0.9.4Apr 8, 2026by sleep3r

Upgrading?

AI Summary

Fixes port configuration issues in helper scripts and adds automated Docker support.

Key Highlights

  • Helper scripts now honor `[server].port` from config
  • Increased default rate limit for shared networks
  • Automated Docker image publishing to GHCR
  • Strict port parsing to avoid ambiguity

New Features

  • Configurable port support in scripts
  • GHCR Docker publishing

Full Release Notes

## [0.9.4](https://github.com/sleep3r/mtproto.zig/compare/v0.9.3...v0.9.4) (2026-04-08)

### 🇷🇺 Release notes (RU)

**Что решает этот релиз**
- Исправляет сценарий, когда после смены `server.port` прокси становился недоступен: helper-скрипты больше не привязаны к `443`.
- Снижает ложные срабатывания лимитера в shared/NAT-сетях за счёт более мягкого дефолта `rate_limit_per_subnet`.
- Добавляет автоматическую публикацию Docker-образов в GHCR для релиз-тегов.

**Что изменено**
- **Deploy helper scripts теперь используют `[server].port` из конфига**:
  - `install.sh`: `ufw` и TCPMSS-правила в `iptables/ip6tables` применяются к настроенному порту.
  - `setup_nfqws.sh`: NFQUEUE-правила ставятся на настроенный порт; очистка удаляет старые правила очереди, чтобы не оставались смешанные порты после смены `server.port`.
  - `setup_tunnel.sh`: DNAT/netns-переадресация подставляет настроенный порт.
  - Парсинг порта сделан строгим по секции `[server]`, чтобы не путать `port` и `mask_port`.
- **Конфигурация по умолчанию**: `rate_limit_per_subnet` повышен с `8` до `30` conn/sec на `/24`.
- **CI/CD**: добавлен workflow публикации multi-arch Docker image в GHCR:
  - архитектуры: `linux/amd64`, `linux/arm64`
  - теги: `vX.Y.Z`, `X.Y.Z`, `latest`
  - README дополнен примером `docker pull ghcr.io/sleep3r/mtproto.zig:latest`.

**Важно**
- Миграция `config.toml` не требуется.
- Если вы раньше меняли порт и запускали старую версию `setup_nfqws.sh`, после обновления рекомендуется один раз перезапустить `setup_nfqws.sh` для нормализации NFQUEUE-правил.
- Этот релиз закрывает проблему из [#101](https://github.com/sleep3r/mtproto.zig/issues/101).

### 🇬🇧 Release notes (EN)

**What this release addresses**
- Fixes the scenario where changing `server.port` could make the proxy unreachable: helper scripts are no longer hardcoded to `443`.
- Reduces false-positive rate limiting for shared/NAT networks by relaxing the default `rate_limit_per_subnet`.
- Adds automated Docker image publishing to GHCR on release tags.

**What changed**
- **Deploy helper scripts now honor `[server].port` from config**:
  - `install.sh`: `ufw` and TCPMSS `iptables/ip6tables` rules use the configured port.
  - `setup_nfqws.sh`: NFQUEUE rules target the configured port; cleanup now removes stale queue rules so mixed-port leftovers are not retained after port changes.
  - `setup_tunnel.sh`: DNAT/netns forwarding now uses the configured port.
  - Port parsing is strict to the `[server]` section, avoiding `port` vs `mask_port` ambiguity.
- **Default config tuning**: `rate_limit_per_subnet` increased from `8` to `30` conn/sec per `/24`.
- **CI/CD**: added GHCR multi-arch Docker publishing workflow:
  - architectures: `linux/amd64`, `linux/arm64`
  - tags: `vX.Y.Z`, `X.Y.Z`, `latest`
  - README now includes `docker pull ghcr.io/sleep3r/mtproto.zig:latest`.

**Important**
- No `config.toml` migration is required.
- If you previously changed ports and applied older `setup_nfqws.sh`, run updated `setup_nfqws.sh` once to normalize NFQUEUE rules.
- This release closes [#101](https://github.com/sleep3r/mtproto.zig/issues/101).

---

### Bug Fixes

* **deploy:** honor configured server port in helper scripts ([#101](https://github.com/sleep3r/mtproto.zig/issues/101)) ([#102](https://github.com/sleep3r/mtproto.zig/issues/102)) ([07b3b93](https://github.com/sleep3r/mtproto.zig/commit/07b3b93987f2b1906a60a9b904deff5816517317))

### Configuration

* config: bump `rate_limit_per_subnet` default `8 -> 30` ([#99](https://github.com/sleep3r/mtproto.zig/issues/99)) ([4050190](https://github.com/sleep3r/mtproto.zig/commit/4050190b2a24441382e0e13cf3e7ea69d22d7b99))

### Continuous Integration

* ci: add GHCR docker publish workflow and README note ([#100](https://github.com/sleep3r/mtproto.zig/issues/100)) ([f9d81a7](https://github.com/sleep3r/mtproto.zig/commit/f9d81a72951a48489c56b9ad6fb78a6c6c5b2f8a))

Related Repositories