github sleep3r/mtproto.zig v0.20.3

latest releases: v1.15.3, v1.15.2, v1.15.1...
4 months ago
🇷🇺 Что нового (RU)

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

Этот релиз закрывает UX-пробел после v0.20.2. Tunnel setup уже умел распаковывать Amnezia vpn:// links, но входной параметр всё ещё воспринимался как путь к файлу: интерактивный мастер просил .conf, help показывал <conf>, а выполнение проверяло fileExists до конвертации. Поэтому прямой вызов вроде sudo mtbuddy setup tunnel 'vpn://...' падал с Config file not found.

Теперь vpn://... — полноценный источник конфигурации для tunnel setup. Ссылку можно вставить напрямую в интерактивном мастере или передать через CLI; обычные WireGuard/AmneziaWG .conf файлы продолжают работать как раньше.

[!NOTE]
Изменений в пользовательской конфигурации не требуется. Если у вас уже был файл, внутри которого лежит vpn://..., он продолжит работать; в v0.20.3 файл-обёртка больше не обязателен.

Что изменено

Tunnel setup: прямой ввод Amnezia vpn:// (#222)

  • Источник туннельной конфигурации теперь может быть либо путём к .conf, либо самой Amnezia vpn:// ссылкой.
  • Убрана безусловная проверка fileExists до нормализации, из-за которой прямые vpn:// ссылки отбрасывались как несуществующие файлы.
  • Для vpn:// ссылка записывается в целевой awg0.conf и проходит существующий pipeline нормализации: декодирование Amnezia link, извлечение AWG/WG конфига, очистка DNS/пустых параметров, Table = off и preflight через awg-quick strip.
  • Для обычных .conf файлов сохранено прежнее поведение, но установка теперь идёт через общий путь installAwgConfigSource с правами 0600.
  • Сообщения об ошибках разделяют отсутствующий файл, невалидный vpn:// link и ссылку без AWG-конфига.

CLI / TUI / документация

  • Интерактивный prompt больше не говорит только про путь: теперь это “Конфигурация VPN или ссылка”.
  • CLI usage обновлён до mtbuddy setup tunnel <conf-path-or-vpn-link>, help — до <conf|vpn://>.
  • Буфер ввода TUI увеличен до 16 KiB, чтобы длинные Amnezia share links не обрезались при вставке.
  • README показывает оба варианта запуска: /path/to/awg0.conf и прямой 'vpn://...'.

Тесты

  • Добавлен regression test на прямую установку из vpn://: на выходе в awg0.conf лежит уже сконвертированный [Interface] / [Peer], а не сырая ссылка.

🇬🇧 Release notes (EN)

What this release addresses

This release closes a UX gap left after v0.20.2. Tunnel setup could already unpack Amnezia vpn:// links, but the input was still treated as a file path: the interactive wizard asked for a .conf, help showed <conf>, and execution checked fileExists before conversion. As a result, direct usage such as sudo mtbuddy setup tunnel 'vpn://...' failed with Config file not found.

vpn://... is now a first-class tunnel config source. You can paste the link directly in the interactive wizard or pass it through CLI; native WireGuard/AmneziaWG .conf files continue to work as before.

[!NOTE]
No user configuration changes are required. If you already used a file containing vpn://..., that still works; in v0.20.3, the wrapper file is no longer required.

What changed

Tunnel setup: direct Amnezia vpn:// input (#222)

  • The tunnel config source can now be either a .conf path or the Amnezia vpn:// link itself.
  • Removed the unconditional fileExists check before normalization, which rejected direct vpn:// links as missing files.
  • For vpn://, the link is written into the target awg0.conf and passed through the existing normalization pipeline: Amnezia link decoding, AWG/WG config extraction, DNS/empty-parameter cleanup, Table = off, and awg-quick strip preflight.
  • Native .conf files keep the previous behavior, now through the shared installAwgConfigSource path with 0600 permissions.
  • Error handling now distinguishes missing files, invalid vpn:// links, and links that do not contain an AWG config.

CLI / TUI / docs

  • The interactive prompt no longer asks only for a path: it now accepts a VPN config or share link.
  • CLI usage is updated to mtbuddy setup tunnel <conf-path-or-vpn-link>, and help shows <conf|vpn://>.
  • The TUI input buffer is increased to 16 KiB so long Amnezia share links are not truncated when pasted.
  • README now documents both invocation styles: /path/to/awg0.conf and direct 'vpn://...'.

Tests

  • Added regression coverage for installing directly from vpn://: the resulting awg0.conf contains the converted [Interface] / [Peer] config, not the raw link.

Changelog

  • fix: Accept Amnezia vpn links for tunnel setup (#222) (4568c6a)

Don't miss a new mtproto.zig release

NewReleases is sending notifications on new releases.