Если не помогло

Служба Zapret: автозапуск и сообщение «service is installed»

Красная строка [ERROR] Windows service 'zapret' is installed — это отказ скрипта тестов, а не сбой сборки. Уберите службу через Remove Services, прогоните тесты и верните её Install Service.

Вы запустили 12. Run Tests, а тесты не начались: в окне красная строка [ERROR] Windows service 'zapret' is installed, под ней жёлтые подсказки Remove the service before running tests и Open service.bat and choose 'Remove Services'. Это не сбой сборки и не ошибка установки: скрипт тестов отказался работать, потому что в системе стоит служба zapret. Обход при этом никуда не пропал — он работает прямо сейчас. На время тестов службу нужно убрать, а потом вернуть.

Откуда берётся эта строка

Строку выводит скрипт тестов utils\test zapret.ps1, а не сама программа обхода. Перед стартом он проверяет, нет ли в системе службы zapret, и если находит её, печатает на экране ровно это:

[ERROR] Windows service 'zapret' is installed
         Remove the service before running tests
         Open service.bat and choose 'Remove Services'

Дальше идут Fix the errors above and rerun. и Press any key to exit..., и окно закрывается.

Скрипт устроен так: он сам запускает по очереди каждый файл general*.bat в папке сборки и измеряет, какая стратегия пробивает фильтры провайдера. Но если служба уже стоит, она уже держит обход своей стратегией. Два обходчика одновременно на одном драйвере мешают друг другу, и результаты тестов показывали бы службу, а не те файлы, которые скрипт перебирает. Поэтому тесты сначала требуют убрать её.

На старых версиях сборки тестов не было вовсе, поэтому в чужих инструкциях этой строки вы не найдёте; по обсуждениям на GitHub она появилась вместе с самим скриптом тестов.

Как убрать службу, прогнать тесты и вернуть её

Тесты за пять шагов

  1. 1

    Откройте service.bat

    Скрипт запросит права администратора, подтвердите. Появится меню с номерами.

  2. 2

    Выберите 2. Remove Services

    Служба удаляется, обход выключается. Что именно удаляет этот пункт и что остаётся, разобрано на странице Remove Services.

  3. 3

    Выберите 12. Run Tests

    Скрипт спросит тип тестов и набор файлов, дальше сам перебирает стратегии по очереди. На время тестов фильтр IPSet переводится в any, при следующем запуске скрипта он вернётся как был. Дождитесь таблицы результатов; файлы с ними лежат в папке utils\test results.

  4. 4

    Посмотрите, какая стратегия прошла

    Если прошли несколько, берите первую из списка прошедших, а остальные запомните: если выбранная через неделю перестанет работать, начнёте со следующей.

  5. 5

    Выберите 1. Install Service и укажите номер стратегии-победителя

    Служба встанет с этой стратегией, и обход снова будет запускаться сам при загрузке Windows.

Во время тестов обход не пропадает, потому что стратегии запускает сам скрипт. А вот в промежутке между Remove Services и Install Service обхода нет, если не запустить какой-нибудь bat-файл вручную.

Зачем нужна служба и что делает Install Service

Служба запускает тот же bat-файл со стратегией, только не человек двойным кликом, а сама Windows при каждой загрузке. Окно консоли держать открытым не нужно: winws.exe работает в фоне, а окно не появляется.

Когда вы выбираете 1. Install Service, сборка показывает список всех *.bat файлов в папке, кроме service*, с номерами:

Pick one of the options:
...
0. Exit
Input option (0-N, default: 0):

Выбранный файл сборка не запускает, а вычитывает из него строку с winws.exe и параметрами и создаёт службу zapret с этими параметрами: DisplayName= "zapret", start= auto, описание Zapret DPI bypass software. Имя bat-файла запоминается в реестре, поэтому Check Status потом показывает, из какого файла стоит стратегия.

Отсюда следствие: после обновления сборки или правки bat-файла службу нужно переставить. Старая служба держит старые параметры и про новые файлы не знает.

Служба или ручной запуск bat-файла? Если стратегия уже найдена и компьютером пользуется вся семья, ставьте службу. Пока перебираете варианты, запускайте bat вручную. Как перебирать стратегии и чем они отличаются, подробно разобрано на отдельной странице.

Как понять, стоит ли служба сейчас

Откройте service.bat и выберите 3. Check Status. Если служба стоит, вы увидите строки:

Service strategy installed from "general.bat"
"zapret" service is RUNNING.

Вместо general.bat будет имя вашего bat-файла. Если службы нет, строка про установленную стратегию не появится вовсе. Остальные строки статуса service is NOT running и is not installed разобраны на странице Check Status.

Есть и другой признак: если вы запускаете bat-файл, а служба уже стоит, в окне появляется строка "zapret" is ALREADY RUNNING as service, про неё есть отдельная страница. Само окно ZAPRET SERVICE MANAGER и все пункты меню описаны отдельно.

Частые вопросы

Тесты показали другую стратегию, чем та, что стояла. Ставить новую?

Да, ставьте ту, что прошла тесты сейчас. Тесты измеряют, что пробивает фильтры провайдера в этот момент, а фильтры со временем меняются, поэтому прежний выбор мог устареть. Если новая стратегия через неделю отвалилась, повторите круг: убрать службу, прогнать тесты, поставить победителя.

Можно просто закрыть скрипт и пользоваться дальше?

Можно. Тесты не обязательны, служба работает, и строка [ERROR] Windows service 'zapret' is installed ничего не ломает. Тесты нужны только для перебора стратегий. Если обход работает и вас всё устраивает, ничего не трогайте.

Убрал службу ради тестов, и Дискорд перестал открываться

Это ожидаемо: обход исчез вместе со службой, потому что до Install Service ничего его не заменяет. Доведите круг до конца, прогоните тесты и поставьте службу со стратегией-победителем, и Дискорд откроется снова. Бросать на полпути не стоит, ведь без службы обход не восстановится сам.

Служба стоит, но нужно проверить новую сборку после обновления. В каком порядке?

Уберите службу (2. Remove Services), удалите старую папку сборки, распакуйте новую, прогоните тесты и поставьте службу с победителем (1. Install Service). Полная переустановка по шагам описана на странице установки сборки.

Дальше по теме