Skip to content

Repository files navigation

Null Zapret

Null Zapret

Обход DPI zapret одним тумблером.

Никаких .bat-ников и правки командных строк — выбери стратегию или дай приложению подобрать её самому.

License: MIT Platform: Windows Built with Tauri

Русский · English


Что это

zapret рассинхронизирует TCP/TLS-хендшейк, и оборудование DPI теряет соединение из виду. Сам движок — консольный, а популярная сборка Flowseal оборачивает его в папку .bat-файлов: по одному на стратегию, и рабочую под своего провайдера ты ищешь, запуская их по очереди.

Null Zapret — десктопная оболочка для этой сборки. Скачивает движок, разбирает каждый .bat в стратегию, проверяет их на реально заблокированных доменах и включает победителя. Всё, что запускается, — дословно команда из оригинального .bat; приложение никогда не собирает аргументы само.

Возможности

Один тумблер Включить и выключить обход. Закрытие окна не останавливает его — полный выход через трей
Автоподбор Сначала смотрит, что закрыто с выключенным обходом, потом оценивает каждую стратегию относительно этого замера и включает лучшую
Вердикт, а не цифры Стратегия либо «Рекомендовано», либо без плашки, либо «Не работает». Никаких «открыла 6 из 8», которые читаются как провал
Проверка доступа Настоящие HTTPS-запросы к YouTube и Discord с задержкой по каждому домену
Telegram Второй тумблер — TG WS Proxy и кнопка подключения по tg://-ссылке
Терминал Живой вывод winws.exe, сворачивается и тянется мышкой
Трей и автозапуск Старт вместе с Windows, включение обхода при запуске, сворачивание в трей
Языки и темы Русский и английский, тёмная и светлая

Скриншоты

Главное окно

Результаты автоподбора и настройки

Автоподбор

Настройки

Установка

Установщик — на странице Releases.

Нужны права администратора. Обход работает через драйвер WinDivert, а его нельзя загрузить без повышения прав. Если приложение запустилось, но тумблер падает с ошибкой 740 — запусти от имени администратора.

Антивирус может ругаться. WinDivert — легальный подписанный драйвер перехвата пакетов, но, поскольку перехватом пакетов пользуются и вредоносы, часть движков помечает его эвристикой. Это известное ложное срабатывание у всех оболочек для zapret. Можно проверить установщик на VirusTotal и почитать исходники — они здесь.

Как пользоваться

  1. При первом запуске приложение скачает сборку zapret (~15 МБ с GitHub).
  2. Нажми Подобрать. Обход выключится, приложение посмотрит, что реально закрыто, переберёт стратегии и оставит лучшую.
  3. Всё. Стратегия сохранится и будет использоваться при следующих запусках.

Если подбор ничего не нашёл — выбери стратегию из списка руками, у большинства провайдеров работают General и его варианты ALT. Стратегия применяется сразу по клику, даже если обход уже включён.

Почему в проверке доступа нет Telegram, Instagram и Facebook

Потому что ни одна стратегия их не открывает, и их присутствие в списке делало бы вид, будто рабочие стратегии не работают:

  • Telegram Desktop ходит по MTProto прямо на IP-адреса Telegram. Все стратегии сборки работают по хостлисту и до этого трафика просто не дотягиваются. Ради этого и сделан отдельный тумблер TG WS Proxy.
  • Instagram и Facebook в России блокируются по IP. Рассинхронизировать нечего — TLS-хендшейка уже не происходит. Помогает только туннель.

Сборка из исходников

Нужны Node 18+, Rust и зависимости Tauri под Windows (Build Tools с рабочей нагрузкой C++ и WebView2 — в Windows 11 уже стоит).

git clone https://github.com/GhostCorpTech/null-zapret.git
cd null-zapret
npm install
npm run tauri:dev      # разработка
npm run tauri:build    # установщики -> src-tauri/target/release/bundle/

Собирать нужно на Windows: Tauri линкуется с Windows SDK и WebView2 и не кросс-компилится из Linux или macOS.

Чтобы вшить сборку zapret в установщик, а не качать её при первом запуске, выполни npm run fetch-zapret перед сборкой.

Как работает автоподбор

Ради этого проект и затевался — наивная реализация объявляет провалом стратегии, которые прекрасно работают.

  1. База. Обход выключается, каждый домен проверяется настоящим HTTPS-запросом. Что открывается и так — не задача обхода; что не открывается — становится списком целей.
  2. Оценка. Каждая стратегия сравнивается с базой: сколько целей открыла и сколько рабочего сломала. Фиксированного порога нет — стратегия, открывшая большинство целей, это результат.
  3. Полный проход. Проверяются все стратегии, чтобы получился рейтинг, а не первая попавшаяся. Досрочный выход — только при идеальном результате.
  4. Вердикт. Победитель включается и сохраняется. Оценки не теряются при перезапуске.

Подбор по порогу здесь ломается, потому что не отличает «стратегия не работает» от «этот домен не открыть ничем». Замер базы снимает эту неоднозначность.

Архитектура

Tauri 2: фронтенд на React + TypeScript, бэкенд на Rust. У вебвью нет прав ни на shell, ни на файловую систему — все процессы запускаются из Rust.

src/                     интерфейс
  App.tsx                состояние и подписки на события
  api.ts                 типизированные обёртки invoke/listen
  components/            плитки, панели, терминал, настройки
src-tauri/src/
  main.rs                состояние, трей, сворачивание, очистка при выходе
  strategies.rs          разбор .bat в аргументы winws.exe
  zapret.rs              жизненный цикл процесса
  autotune.rs            замер базы и оценка стратегий
  probe.rs               параллельные HTTPS-пробы
  tgproxy.rs             TG WS Proxy: скачивание, запуск, tg://-ссылка
  config.rs              настройки, группы проверки, оценки, миграции

Подробности и инварианты, которые нельзя ломать, — в ARCHITECTURE.md.

Благодарности

Null Zapret — это оболочка. Сложная часть, сам обход, сделана другими людьми:

Сделано в GhostCorp.

Лицензия

MIT © GhostCorp — та же лицензия, под которой распространяются zapret и сборка Flowseal, чьи компоненты приложение скачивает и запускает.

About

One-switch DPI bypass launcher for Windows. GUI for zapret with automatic strategy tuning, access checks and a built-in Telegram proxy.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages