Перейти к содержимому

Обновления

anonymizer обновляется через явный флоу в UI. Никакого тихого автообновления — вы решаете когда.

macOS-приложение

У нативного приложения свой встроенный апдейтер (Sparkle — индустриальный стандарт на macOS). Check for Updates в меню проверяет по требованию; тумблер «Автоматически проверять наличие обновлений» в настройках включает плановую проверку (не чаще раза в сутки — при запуске или во время работы). Обновления скачиваются с dl.anonymizer.site, проверяются подписью до установки и применяются с перезапуском приложения — настройки и скачанные языковые модели сохраняются. Приложение не использует version.json — этот файл обслуживает только CLI-флоу ниже.

Как работает проверка обновлений CLI

  1. При каждом запуске веб-интерфейса фоновый запрос идёт на https://anonymizer.site/version.json с таймаутом 2 секунды.
  2. Если доступна более новая версия — сверху UI появляется баннер [Update]. По клику — changelog и кнопка «Обновить сейчас».
  3. Клик по «Обновить сейчас» запускает отдельный процесс anonymizer.updater, который выполняет uv tool upgrade --reinstall-package docs-anonymizer docs-anonymizer. Запущенный веб-интерфейс закрывается (HTTP-ответ сначала возвращает overlay), а отдельный процесс перезапускает anonymize после успешного обновления. Перезапускать вручную не нужно.

Эта проверка — единственный исходящий сетевой запрос CLI. Движок редактуры сокет не открывает — это проверяет тест. (Сетевое поведение macOS-приложения — на странице Что покидает ваш компьютер.)

Что в version.json

{
"version": "0.2.28",
"sha256": "928c06cf2830a9c32b19724e1c28cd445ccb69cf2edba68cc7b04c7b65259266",
"url": "https://pypi.org/project/docs-anonymizer/0.2.28/",
"released_at": "2026-05-28T09:46:58Z",
"schema_version": 1,
"notes_url": "https://anonymizer.site/changelog#v0-2-28"
}

sha256 совпадает с wheel, опубликованным на PyPI для этой версии — можно сверить целостность перед обновлением.

Отключение проверки

Для air-gapped или параноидальных окружений — либо CLI-флаг (разово), либо переменная окружения (постоянно):

Окно терминала
anonymize --no-update-check
Окно терминала
export ANONYMIZER_NO_UPDATE_CHECK=1
anonymize

Оба способа полностью пропускают запрос версии. Баннер не появляется.

Указать проверку на зеркало

В air-gapped окружении можно держать свою копию version.json и указать на неё через ANONYMIZER_VERSION_URL:

Окно терминала
export ANONYMIZER_VERSION_URL=https://updates.your-corp.example/anonymizer/version.json

Само обновление выполняется через uv tool upgrade в отдельном процессе, который наследует окружение — UV_INDEX_URL с вашим приватным PyPI-зеркалом тоже учитывается:

Окно терминала
export UV_INDEX_URL=https://pypi.your-corp.example/simple

См. Корпоративная установка — полный сценарий для IT-админа.