Обновления
anonymizer обновляется через явный флоу в UI. Никакого тихого автообновления — вы решаете когда.
macOS-приложение
У нативного приложения свой встроенный апдейтер (Sparkle — индустриальный
стандарт на macOS). Check for Updates в меню проверяет по требованию;
тумблер «Автоматически проверять наличие обновлений» в настройках включает
плановую проверку (не чаще раза в сутки — при запуске или во время работы).
Обновления скачиваются с dl.anonymizer.site, проверяются подписью до
установки и применяются с перезапуском приложения — настройки и скачанные
языковые модели сохраняются. Приложение не использует version.json —
этот файл обслуживает только CLI-флоу ниже.
Как работает проверка обновлений CLI
- При каждом запуске веб-интерфейса фоновый запрос идёт на
https://anonymizer.site/version.jsonс таймаутом 2 секунды. - Если доступна более новая версия — сверху UI появляется баннер [Update]. По клику — changelog и кнопка «Обновить сейчас».
- Клик по «Обновить сейчас» запускает отдельный процесс
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-checkexport ANONYMIZER_NO_UPDATE_CHECK=1anonymizeОба способа полностью пропускают запрос версии. Баннер не появляется.
Указать проверку на зеркало
В 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-админа.