9288fc95cbe2f495a1b077bce29e61c6af12f61d
fetch-zapret.mjs кладёт файлы через copyFile, а тот ставит текущее время: после каждой сборки CI mtime новее при тех же байтах. Сравнение по времени требовало UAC при каждом обновлении приложения и упиралось в занятый WinDivert64.sys, ещё загруженный в ядро. Теперь сравниваем SHA-256, а если файл всё же занят — уводим его в сторону переименованием. Ожидание состояния службы переехало внутрь одного скрипта PowerShell: раньше каждый опрос был отдельным процессом (~1 с на подъём .NET) с интервалом 300 мс, из чего и складывалась основная задержка включения.
RKNboost
очередная обертка под zapret
Требования
- Node.js 20+ (проверено на 24)
- npm 10+
Команды
npm install # зависимости + скачивание бинарника Electron
npm run dev # dev-режим: HMR для UI, авто-рестарт main-процесса
npm run start # запуск собранной версии без упаковки
npm run build # typecheck + сборка main/preload/renderer в out/
npm run lint # ESLint
npm run format # Prettier
npm run typecheck # tsc для node- и web-частей отдельно
npm run build:unpack # быстрая проверка: приложение без установщика (release/*-unpacked)
npm run build:mac # .dmg + .zip (x64 + arm64)
npm run build:win # NSIS .exe (x64; arm64 не собираем — нет подписанного WinDivert)
npm run build:linux # AppImage + .deb
Ссылки
- bol-van/zapret — сам движок zapret, спасибо за столь хороший инструмент
- Flowseal/zapret-discord-youtube —
списки сайтов (
resources/zapret/lists/) и fake-пакеты (resources/zapret/fakes/).
Languages
TypeScript
80.7%
JavaScript
7.3%
Shell
7%
CSS
4.3%
NSIS
0.6%
Other
0.1%