Skip to content

Releases: Tchk-zz/cat-zapret

Zapret GUI 1.9.7

Choose a tag to compare

@github-actions github-actions released this 17 Sep 22:55

Исправляющий релиз самообновления и полное обновление публичной документации проекта.

Исправлено

  • Убран запуск установщика через cmd /c start с ручным добавлением кавычек.
    Windows повторно экранировала их и искала несуществующий файл во временной папке.
  • Проверенный установщик теперь запускается напрямую как отдельный процесс: путь
    передаётся одним необрамлённым элементом argv, а экранирование выполняет Windows.
  • Добавлены regression-тесты для обычного временного пути и пути с пробелами,
    а также проверка detached-флагов Windows.

Обновлено

  • Release-зависимости обновлены до cryptography 50.0.1 и PyInstaller 6.22.3;
    актуальные PyQt6 6.11.0, requests 2.34.2 и pywin32 312 сохранены.
  • GitHub Actions переведены на актуальные Node 24-совместимые версии
    checkout, setup-python и upload-artifact.
  • README, политика безопасности, руководство участника, release checklist,
    лицензии, шаблоны Issues и остальные GitHub-материалы полностью освежены.
  • В репозитории оставлены только полезные исходники и документация; локальные
    кэши и старые результаты сборок удалены без затрагивания пользовательских данных.

Важно при обновлении с 1.9.5/1.9.6

  • В этих версиях находится старый повреждённый механизм запуска. Если кнопка
    обновления показывает ошибку поиска временного EXE, один раз скачайте и запустите
    установщик 1.9.7 вручную со страницы Releases. Начиная с 1.9.7 последующие
    обновления снова устанавливаются из приложения.

Проверка целостности

SHA-256 ZapretGUI-Setup.exe:

e5e1ea53d6ccfdfb2367661598b4adf1fa2bea4dc4d526cb4647a8fbe9f5f25b

Проверить скачанный файл (PowerShell):

Get-FileHash .\ZapretGUI-Setup.exe -Algorithm SHA256

Zapret GUI 1.9.6

Choose a tag to compare

@github-actions github-actions released this 17 Sep 22:07

Исправляющий релиз после 1.9.5: полное обновление Zapret снова доставляет все
upstream-файлы, а функциональные иконки главного экрана отображаются во всех темах.
Установка поверх 1.9.5 безопасна; пользовательские настройки и списки сохраняются.

Исправлено

  • Восстановлены иконки карточек «Автоподбор» и «Тест обхода» в светлой и
    фиолетовой темах; логика функциональных иконок больше не связана с декоративным
    отображением маскота.
  • Обновление Zapret теперь объединяет проверенный release asset с исходным
    архивом тега и синхронизирует lists, HOSTS, IPSet, скрытую .service, BAT-
    стратегии, service.bat, бинарники и новые upstream-файлы.
  • Все lists/*-user.txt, config.json, пользовательские стратегии и состояние
    игрового фильтра сохраняются. Манифест управляемых файлов удаляет только
    действительно устаревшие upstream-файлы и не трогает неизвестные локальные.
  • Применение обновления сделано транзакционным: ошибка любого обязательного файла
    откатывает уже записанные изменения; неполный релиз больше не отмечается как
    установленный.
  • Build-fetch теперь переносит скрытую .service, строго проверяет полный состав
    bundle и пишет version/SHA-маркеры без BOM.
  • Обновление Telegram-прокси валидирует ограничения ZIP, устанавливает полный
    staged package атомарно, добавляет новые и удаляет исчезнувшие upstream-модули.

Проверки

  • Полный набор из 245 тестов, pyflakes, compileall, проверка уязвимостей и
    визуальный offline-аудит интерфейса выполнены успешно.

Установка

  • Требуется Windows 10/11 x64 и запуск с правами администратора для WinDivert.
  • WinDivert и winws.exe могут вызывать ложные срабатывания антивируса.
  • Используемый upstream-проект: https://github.com/Flowseal/zapret-discord-youtube

Проверка целостности

SHA-256 ZapretGUI-Setup.exe:

879f83caa60c6ffea69c267de05ef17831e6a356d744d2f8357652d6a8164a61

Проверить скачанный файл (PowerShell):

Get-FileHash .\ZapretGUI-Setup.exe -Algorithm SHA256

Zapret GUI 1.9.5

Choose a tag to compare

@Tchk-zz Tchk-zz released this 17 Sep 18:23

Релиз полного аудита безопасности, обновлений и интерфейса. Установка поверх
1.9.4 безопасна; пользовательские настройки и списки сохраняются.

Безопасность и надёжность

  • Обновление Zapret теперь ограничивает размеры архива и распаковки, блокирует
    ZIP-bomb, symlink и encrypted entries, проверяет полный набор ядра до записи,
    а при ошибке восстанавливает изменённые файлы из резервной копии.
  • Обновление Telegram-прокси устанавливает только полный проверенный набор
    модулей через staging и атомарную замену с rollback; исходники компилируются до
    установки, а строгая проверка TLS принудительно сохраняется.
  • WebSocket-движок корректно собирает fragmented messages и отклоняет frame или
    message больше 16 МиБ.
  • Самообновление приложения проверяет размер установщика по metadata,
    Content-Length и фактически полученным байтам, не допуская переполнения диска
    или запуска усечённого файла.
  • cryptography обновлена до 50.0.0, закрывающей CVE-2026-69247; в CI добавлена
    бесплатная проверка прямых runtime-зависимостей через OSV.

Обновления и сборка

  • Build-fetch Zapret всегда получает последний полный upstream bundle, сверяет
    опубликованный SHA-256 и заменяет vendor-каталог только после полной проверки.
  • Release-сборка использует закреплённые версии зависимостей; GitHub Actions
    проверяет Python 3.10 и 3.14, lint, тесты и OSV перед публикацией.
  • Исправлены предупреждения Inno Setup для архитектуры и удаления задания
    автозапуска.

Интерфейс

  • Исправлен белый текст на белых карточках «Автоподбор» и «Тест обхода» в светлой
    теме; добавлен regression-тест и offline renderer всех вкладок.

Проверка целостности

SHA-256 ZapretGUI-Setup.exe:

9b199630b4aff8d4e5d554dc2ae91f578a1e87d6e698d1bac906934ee35499e0

Проверить скачанный файл (PowerShell):

Get-FileHash .\ZapretGUI-Setup.exe -Algorithm SHA256

Zapret GUI 1.9.3

Choose a tag to compare

@Tchk-zz Tchk-zz released this 19 Aug 17:25

Релиз целиком про надёжность: исправлены шесть багов, из-за которых тихо ломались
автообновление, автозапуск и запуск движка. Функциональных изменений и новых
возможностей нет, обновление безопасно ставить поверх 1.9.2.

Исправлено

  • Обновление приложения больше не молчит на путях с пробелами.
    Скачанный установщик запускался через start без кавычек, и если %TEMP%
    содержал пробел (типично для имени пользователя из двух слов), обновление
    просто не ставилось без внятной ошибки. Путь теперь квотируется, а команда
    идёт через cmd /c start "" (start — встроенная команда оболочки, отдельного
    start.exe в Windows не существует).
  • Сравнение версий понимает предрелизы. 1.9.3-rc1 больше не считается равным
    1.9.3: теперь alpha < beta < rc < релиз, а билд-метаданные (+build.5) не
    влияют на старшинство. Раньше пользователь с rc-сборкой не видел выход финальной
    версии и оставался на тестовой навсегда.
  • Автозапуск не запускает программу два раза. При включённом автозапуске
    одновременно могли жить и задание планировщика, и ключ в реестре Run: вторая
    копия проигрывала гонку за WinDivert и падала — выглядело как случайный краш
    после входа в систему. После успешного создания задания старый ключ Run
    удаляется.
  • Автозапуск не дублирует запись при откате. Если schtasks отказал (нет прав),
    включался резервный путь через реестр, но функция продолжала работать дальше и
    могла перетереть свой же результат. Теперь откат завершает работу сразу.
  • Ошибки службы читаемы по-русски. Вывод sc.exe и schtasks.exe декодировался
    как UTF-8, и в интерфейсе вместо «Отказано в доступе» показывалась кракозябра.
    Добавлено чтение в OEM-кодировке (cp866), как уже было сделано для логов winws.
  • Предупреждение о конфликте со службой реально ждёт остановки. Пауза перед
    повторным запуском была пустышкой (таймер без действия), из-за чего движок
    иногда стартовал до того, как служба отпустила WinDivert.
  • Ошибка запуска больше не тянет за собой Telegram-прокси. Если движок не
    запустился, программа показывала ошибку, но всё равно поднимала прокси и не
    обновляла статус — интерфейс врал, что всё работает.

Внутренние изменения

  • Добавлено 8 регрессионных тестов на всё вышеперечисленное: всего 221 тест,
    pyflakes чистый.
  • Удалён мёртвый tools/repo.py (самодельный git на dulwich) — в проекте
    используется настоящий git.
  • Починены ссылки на несуществующий tests/test_core_logic.py в CI, check_lint.py
    и GUI-тестах; в RELEASE_CHECKLIST.md обновлены пути к окружению разработки.

Проверка целостности

SHA-256 ZapretGUI-Setup.exe:

845ef0032326f87cb2cffe2d1cb52fcc21d9085377e0d3192635edbacf403f2c

Проверить скачанный файл (PowerShell):

Get-FileHash .\ZapretGUI-Setup.exe -Algorithm SHA256

v1.9.2

Choose a tag to compare

@Tchk-zz Tchk-zz released this 31 Jul 20:47

1.9.2

  • Исправлен баг светлой темы: на главном экране в карточках Telegram Proxy и Zapret (заголовки, статус, сервер/порт/секрет, стратегия) и в панели автоподбора текст был белым на белом фоне и становился невидимым. Теперь цвет текста подстраивается под тему.
  • Версия увеличена для проверки автоматического тихого обновления из приложения.

Cat Zapret v1.9.1 — Рефакторинг интерфейса и исправления

Choose a tag to compare

@Tchk-zz Tchk-zz released this 31 Jul 19:32

✨ Что нового в версии 1.9.1

⚠️ Примечание: работа над унификацией тем продолжается. Светлые темы (Снег, Песок) и остальные небольшие визуальные правки будут доделаны в следующей версии.


🛠️ Рефакторинг и архитектура

  • Разбивка main_window.py на отдельные миксины: auto_select_flow.py, editor_flow.py, update_flow.py — файл сократился с ~2225 до ~1264 строк.
  • Единый макет главного экрана — убран дублирующий тёмный вариант _arrange_home_classic; теперь один _arrange_home() работает для всех тем.
  • Ленивая загрузка кадров кота-маскота и сжатие ассетов (home_cat.png, фоны тем) — запуск приложения стал быстрее, потребление памяти снизилось.

🐛 Исправления

  • Окошки (карточки) на главном экране теперь видны во всех темах. Раньше подложки под блоками «Telegram Proxy», «Zapret» и кнопками «Автоподбор» / «Тест обхода» рисовались только в тёмной теме — в остальных текст «висел» прямо на фоне без рамки и фона. Теперь карточка рисуется везде, цвет берётся из палитры темы.
  • Обновление потоков обновления — исправлены ситуации, в которых Worker-потоки могли завершиться без уведомления UI.
  • Логирование в tg_proxy.py — 15 ранее молчаливых except-блоков теперь пишут диагностику в лог (%LOCALAPPDATA%\ZapretGUI\logs\zapret-gui.log), что упрощает отладку проблем с Telegram-прокси.

🎨 Интерфейс

  • Темы теперь используют единый макет главного экрана (раньше некоторые элементы отображались только в тёмной теме).
  • Карточки на главном экране адаптированы под каждую тему: тёмная — без изменений, остальные — с правильным цветом фона и рамки.
  • Тень под карточками обновляется при переключении темы.
  • Фоновые изображения тем оптимизированы (меньше размер, быстрее загрузка).

✅ Тесты

  • Все 222 теста проходят без ошибок.
  • Добавлены 13 новых тестов для модуля автоподбора стратегии (tests/test_auto_select_flow.py).
  • Линтер (pyflakes) чистый по всем 65 файлам.

📋 Планы на следующую версию

  • Полная унификация тем: маскот, панель автоподбора и настройки должны выглядеть одинаково во всех темах
  • Доработка светлых тем (Снег, Песок) — адаптация цвета текста и элементов под светлый фон
  • Добавление i18n для оставшихся хардкодных строк
  • Иконки SVG, единый стиль попапов

🔄 Автообновление (добавлено после релиза)

  • Установщик в этом релизе обновлён: добавлено тихое автообновление — установка новой версии из приложения теперь проходит полностью в фоне (без окон), приложение само перезапускается и показывает окно со списком изменений.
  • Номер версии не менялся, обновлён только сам установщик.

Cat Zapret v1.9.0

Choose a tag to compare

@Tchk-zz Tchk-zz released this 26 Jul 16:15

Что изменилось

Версия про надёжность и порядок внутри. Снаружи программа выглядит и
работает так же, как 1.8.4 — новых кнопок нет.

Журнал работы. Программа теперь ведёт файл журнала:
%LOCALAPPDATA%\ZapretGUI\logs\zapret-gui.log (до ~512 КБ, хранятся ещё
2 предыдущих файла). Если что-то не сработало, причину видно в журнале, а не
приходится угадывать. При удалении программы журнал удаляется вместе с
настройками.

Сбои больше не проходят молча. В журнал попадают: ошибки запуска и работы
движка обхода, проблемы с сохранением и чтением настроек, неудачная проверка
обновлений, сбои обновления стратегий (в том числе если не записалась метка
версии или не пересобрался список стратегий), проблемы со списками сайтов и с
настройками Telegram-прокси.

Исправлено:

  • программа больше не предлагает одно и то же обновление по кругу, если не
    смогла определить свою версию;
  • если отменить скачивание обновления, недокачанный файл удаляется, а не
    остаётся мусором на диске.

Проверки качества: тестов стало 202 вместо 121. Добавлены тесты на
обновление программы, автозапуск, службу Windows, запуск движка и журнал.
Автопроверка на GitHub переведена на Python 3.14.

Порядок в коде: самые большие файлы разделены на части по смыслу,
удалена неиспользуемая зависимость psutil, обновлён чек-лист выпуска.

Установка

Скачайте ZapretGUI-Setup.exe и запустите. Нужны Windows 10/11 (64-бит) и
права администратора — без них не работает драйвер перехвата трафика
WinDivert.

Уже установленная версия 1.8.4 обновится сама кнопкой «Обновить приложение».

Контрольная сумма установщика

SHA-256 ZapretGUI-Setup.exe:

bf3772f51bb8e8127593eae625e7d8070af6229833df6f7ce7ab21e6d318dc0a

Антивирусы

Возможны ложные срабатывания на WinDivert и winws.exe: это обычная
реакция на драйвер перехвата сетевого трафика, а не вирус.

Основано на

Cat Zapret v1.8.4

Choose a tag to compare

@Tchk-zz Tchk-zz released this 26 Jul 11:52

Что нового

  • Иконки разделов в верхней панели: Главная, Настройки, Стратегия, Игры и сервисы, Telegram.
  • Линии иконок ложатся строго на пиксельную сетку — без замыленности.
  • Иконки подстраиваются под тему: тёмная, светлая, фиолетовая.
  • Верхняя панель стала компактнее и не выезжает за рамки экрана.

SHA-256 установщика: 1e78df374f602933f7a503ee0ece4580d1ccc456765c4b8cbf53cd9db057a1cd

Cat Zapret v1.8.3

Choose a tag to compare

@Tchk-zz Tchk-zz released this 26 Jul 02:31

Исправлено обновление из приложения: установщик больше не завершался вместе с закрываемым ZapretGUI.exe, из-за чего установка обрывалась и оставалась старая версия.

Cat Zapret v1.8.2

Choose a tag to compare

@Tchk-zz Tchk-zz released this 26 Jul 02:19

Что нового

  • Светлая тема сделана с нуля: больше нет белого текста на белом фоне.
  • Установщик больше не закрывает программу до того, как вы подтвердили установку.
  • При удалении программы настройки удаляются только с вашего согласия (и из правильной папки).
  • Кнопка «Обновить приложение» честно сообщает, если проверка не удалась, а не молчит.
  • Установщик без контрольной суммы SHA-256 больше не запускается.
  • Исправлен артефакт свечения у полосы автопоиска на экранах Full HD.