🇷🇺 Что нового (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, либо самой Amneziavpn://ссылкой. - Убрана безусловная проверка
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 containingvpn://..., that still works; inv0.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
.confpath or the Amneziavpn://link itself. - Removed the unconditional
fileExistscheck before normalization, which rejected directvpn://links as missing files. - For
vpn://, the link is written into the targetawg0.confand passed through the existing normalization pipeline: Amnezia link decoding, AWG/WG config extraction, DNS/empty-parameter cleanup,Table = off, andawg-quick strippreflight. - Native
.conffiles keep the previous behavior, now through the sharedinstallAwgConfigSourcepath with0600permissions. - 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.confand direct'vpn://...'.
Tests
- Added regression coverage for installing directly from
vpn://: the resultingawg0.confcontains the converted[Interface]/[Peer]config, not the raw link.