2.6.2
DNS-маршрутизация:
- Полная переработка синхронизации с NDMS: переход с CLI-команд (parse) на нативные JSON RCI вызовы
- Инкрементальное обновление доменных списков — добавление/удаление отдельных доменов вместо пересоздания группы целиком
- Маршруты обновляются одной атомарной операцией вместо удаления и повторного создания
ASC-параметры (Managed VPN Server):
- Исправлено: генератор создавал невалидные ASC-параметры, отвергаемые NDMS, при этом UI показывал "успешно сохранено". Параметры H/S/J не сохранялись, только I1-I5
- Параметры генерации приведены к спецификации AmneziaWG (S1-S3: 15-32, S4: 6-18, Jmin: 64-128, Jmax: 256-512, H1-H4: непересекающиеся ranges)
- NDMS RCI ошибки теперь корректно обнаруживаются и показываются пользователю (NDMS возвращает HTTP 200 даже при ошибке — теперь проверяется тело ответа)
QR-коды:
- Снижен уровень коррекции ошибок QR до Low для увеличения ёмкости (2953 байт вместо 2331)
- Понятное сообщение при слишком большой конфигурации для QR-кода с предложением использовать .conf файл (QR код не может быть создан если в конфигурации есть большие I1-I5 параметры)
Стабильность при загрузке:
- Восстановлена задержка инициализации NDMS (120 сек) для kernel-туннелей при загрузке роутера — предотвращает циклы start/stop
- Уведомление в UI о процессе загрузки: "Kernel туннели будут запущены автоматически после инициализации NDMS"
- Защита от бесконечных циклов: если туннель получает > 4 событий disabled за 3 минуты, reconcile блокируется на 5 минут. Сброс через ручной Start/Stop из UI
Удаление программы:
- Исправлено: managed VPN-сервер и DNS-маршруты не удалялись при деинсталляции если не было туннелей
Терминал (Cherry-pick PR #3 от @iqubik):
- Увеличен timeout старта ttyd до 10 сек с автоматическим retry
- Обнаружение преждевременного завершения ttyd вместо generic timeout
- Вывод ttyd включается в сообщение об ошибке API
- Поиск login binary по /bin, /usr/bin, /opt/bin, PATH
- .gitattributes для принудительного LF в shell-скриптах