-
Zapret Dev 21.1.6.57
Pre-releasereleased this
2026-10-02 02:46:59 +03:00 | 32 commits to main since this releaseZapret 21.1.6.57 — что изменилось с версии 21.1.6.56
Выпуск целиком посвящён тому, как программа запускает и останавливает обход и как обращается с драйвером WinDivert (в системе он виден как служба Monkey, файл Monkey64.sys). Эта часть программы переписана: вместо пауз «на всякий случай» программа теперь ждёт настоящего подтверждения от Windows и от самого winws.
Служба драйвера Monkey больше не зависает
Раньше служба драйвера могла застрять: она оставалась в системе, не удалялась, а следующий запуск обхода падал с ошибкой. Причина оказалась в самой программе.
- Программа проверяла состояние службы и из-за ошибки не закрывала за собой обращение к ней. Пока программа работала, Windows не могла убрать службу — и служба висела до закрытия программы или перезагрузки.
- Из-за той же ошибки программа считала, что службы нет, хотя она была, и на этом основании пыталась её «чинить».
- Обычное состояние работающего драйвера программа принимала за поломку и запускала тяжёлую очистку, которая сначала закрывала все winws, включая исправные.
- Программа больше не правит запись службы в реестре и не меняет её настройки: такие «лечения» как раз и оставляли службу в системе до перезагрузки.
Кнопка «Стоп» убирает драйвер
- После кнопки «Стоп», выхода из программы с остановкой обхода и перед обновлением программа выгружает драйвер, и служба Monkey исчезает из системы.
- Драйвер выгружается, только когда им никто не пользуется. Если работает ещё один winws, драйвер остаётся загруженным.
- При перезапуске обхода и смене пресета драйвер не трогается: следующий запуск просто открывает уже загруженный драйвер.
- Если в системе осталась старая запись службы от прошлых версий, программа убирает и её.
Запуск и остановка стали быстрее
- Запуск считается состоявшимся, когда winws сам сообщил, что драйвер открыт и перехват начался. Раньше программа просто ждала секунду и смотрела, жив ли процесс.
- Остановка считается состоявшейся, когда Windows подтвердила, что процесс завершился. Раньше после остановки шли паузы по полсекунды и секунде.
- Убраны паузы между проверкой пресета и запуском, между остановкой старого и запуском нового процесса, перед повтором после сбоя.
- Если процесс не завершился, программа теперь честно об этом сообщает. Раньше остановка всегда докладывала об успехе.
- Редкий разовый сбой запуска процесса (примерно раз на двести запусков) лечится немедленным повтором, а не ожиданием.
Чужие копии запрета
- Программа останавливает только winws, запущенные из её собственной папки. Раньше она закрывала любой процесс с таким именем — в том числе запущенный из другой копии запрета.
- Чужой winws больше не мешает остановке: раньше из-за него программа сообщала, что не удалось остановить обход.
- Пока драйвером пользуется чужой winws, программа драйвер не выгружает.
Понятные сообщения, если служба всё же застряла
Служба драйвера может застрять и не по вине программы — если её держит открытой другая программа.
- Перед запуском программа проверяет службу драйвера и, если та застряла, сразу сообщает причину вместо долгих повторов.
- В сообщении сказано, что делать: закрыть окно «Службы», Process Hacker, Process Explorer или другую программу обхода блокировок, а если не поможет — перезагрузить компьютер.
- Если драйвер как раз выгружается, программа даёт ему до трёх секунд закончить и запускает обход.
Оркестратор и подбор стратегий
- Оркестратор запускается по подтверждению от winws и перезапускается без паузы: применение блокировки или закрепления стратегии занимает около полсекунды.
- Остановка оркестратора подтверждается так же, как остановка обычного обхода.
- Подбор стратегий останавливается с понятным сообщением, если служба драйвера застряла и ни одна стратегия запуститься не сможет.
Для первой версии движка (winws)
- Вывод winws теперь сохраняется, поэтому при сбое запуска программа называет настоящую причину. Раньше этот вывод терялся, и причина определялась только по коду завершения.
Если у вас Kaspersky
- На компьютерах с Kaspersky драйвер по-прежнему не выгружается: выгрузка драйвера рядом с фильтрами этого антивируса может привести к синему экрану. Служба Monkey у вас останется в системе до перезагрузки — это сделано намеренно.
- Если программа не смогла определить, есть ли Kaspersky, драйвер тоже не выгружается.
Downloads
-
Source code (ZIP)
15 downloads
-
Source code (TAR.GZ)
1 download