[v1.6.0] - 2026-09-16
Добавлено
- Единое имя команды и бинарник
mlm(cmd/mlm):- Утилита полностью стандартизирована под лаконичное имя
mlm(cmd/mlm/main.go). - Установка через Go пакетный менеджер одной командой:
go install github.com/D4n13l3k00/mikrotik-lists-manager/cmd/mlm@latest. - Все команды, примеры, подсказки и автодополнение (
completion) переведены наmlm. - Автоматическое определение версии через
runtime/debug.ReadBuildInfo(). - Полная обратная совместимость с конфигами
.mikrotik-lists-manager.yamlи старыми папками снимков.
- Утилита полностью стандартизирована под лаконичное имя
- Синхронизация напрямую по URL (
internal/source):- Поддержка ссылок
http://иhttps://во всех командах работы со списками (sync,append,optimize,diff,validate). - Автоматический заголовок User-Agent, валидация кодов ответа и таймауты.
- Единая обработка локальных файлов, удалённых URL и стандартного ввода (
-).
- Поддержка ссылок
- Локальный DNS-резолвинг доменов (
internal/dnsresolver):- Флаг
--resolve-domainsдля командsync,appendиdiff. - Разрешение доменных имён в IPv4/IPv6 на клиенте с параллельным пулом воркеров.
- Сохранение исходного домена в комментарии записи (
[resolved: domain.com]). - Флаг
--dnsдля указания кастомного DNS-сервера (например1.1.1.1:53или8.8.8.8).
- Флаг
- Глубокая валидация и проверка списков (
validate&internal/validator):- Новая команда
mlm validate <file|url>. - Обнаружение синтаксических ошибок, неканонических CIDR (ненулевые биты хоста), дубликатов и поглощённых подсетей (shadowed subnets).
- Сводная статистика (хосты, подсети, домены, выключенные).
- Флаг
--strictдля CI/CD и pre-commit проверок (exit code 1) и вывод в--json.
- Новая команда
- Автономная команда
diff(diff):- Новая команда
mlm diff <source1> [source2]. - Оффлайн-режим: сравнение двух списков/URL без подключения к роутеру.
- Сравнение источника со списком адресов на MikroTik (
mlm diff list.lst -l vpn). - Наглядный цветной unified-diff (
+,−,~) и поддержка--json.
- Новая команда
- Быстрый откат и система снимков (
internal/snapshot,snapshot&rollback):- Автоматическое создание снимка перед применением изменений в
sync(отключается флагом--no-snapshot). - Команды
mlm snapshot list,create,delete. - Команда
mlm rollback -l <list>для быстрого отката к последнему (latest) или указанному (--id) снимку. - Автоматическая ротация (хранение до 10 последних снимков) и защита от массового удаления (
--force / -y).
- Автоматическое создание снимка перед применением изменений в
- Комплексная поддержка прокси (
internal/netutil,--proxy,MT_PROXY):- Поддержка протоколов SOCKS5, SOCKS5h, HTTP CONNECT и HTTPS.
- Туннелирование DNS-запросов через TCP (RFC 1035 / RFC 7766) через прокси для надёжной работы за фаерволами.
- Прямое подключение к REST API MikroTik (без прокси).
- Настройка через CLI-флаг
--proxy, переменную окруженияMT_PROXYили секциюproxy:в конфиге и профилях.
Исправлено
- HTTP CONNECT прокси буферизация: Устранена потеря начальных байтов данных целевого сервера в
httpConnectDialerиз-за опережающего чтенияbufio.Reader(внедрёнbufferedConn). - Стабилизация сетевых тестов: Устранены гонки сокетов и ложный
EOFвinternal/netutil/proxy_test.go.
Full Changelog: v1.5.0...v1.6.0