github D4n13l3k00/mikrotik-lists-manager v1.6.0

latest releases: v1.7.0, v1.6.1
one day ago

[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

Don't miss a new mikrotik-lists-manager release

NewReleases is sending notifications on new releases.