Skip to content

Mr-Precise/liberty-pre

Repository files navigation

liberty-pre - zapret Launcher (DPI bypass)

Read in English language

Что это?

Реализация лаунчера для winws.exe или nfqws (инструмента для обхода DPI) на языке C#, с поддержкой профилей.
Поможет Вам обойти блокировки Youtube, Discord и т. д.
В настоящее время находится в разработке.

Как работает?

При запуске программа делает все необходимые для правильной работы проверки, наличие существующего процесса, язык интерфейса и ОС.
Читает указанный конфигурационный файл (профиль) с аргументами запуска, затем запускает winws.exe с правами администратора в свёрнутом окне. Если мы на linux, ещё проверяем наличие sudo, запрашиваем пароль и запускается nfqws.
По умолчанию читается конфигурация (профиль) default.cfg
При первом запуске программа сама автоматически создаст нужные ярлыки с вариантами профилей возле себя.
Чтобы запустить с пользовательской конфигурацией, запускайте liberty-pre с аргументом -c config_name.cfg
К примеру, создайте ярлык на liberty-pre.exe с аргументом liberty-pre.exe -c discord.cfg чтобы использовать только для discord.

Локализация

Программа автоматически определяет язык ОС:

  • Если язык системы русский, то все сообщения выводятся на русском языке.
  • Для любого другого системного языка сообщения выводятся только на английском языке.

Совместимость с ОС

Полная поддержка Windows:

  • 8.1 - 11 64bit
  • отдельная сборка под устаревшую Windows 7 SP1 64bit (build 7601) и WMF 5.1 (PowerShell 5.1)

Экспериментальная поддержка Linux / Mono (в разработке):

  • *ubuntu 20.04+ amd64
  • Debian 11+ amd64
  • актуальный Arch/Manjaro

Зачем?

Удобно и почему нет.
Просто альтернативная реализация.

Как использовать?

Скачать последний релиз, распаковать, запустить, ярлыки на остальные профили создадутся автоматически.
Если провайдер перехватывает или подменяет DNS запросы - используйте шифрованный DNS (DoT/DoH).
Ярлык с именем liberty-pre - STOP останавливает процесс и завершает работу драйвера WinDivert.
Ярлык с именем liberty-pre SWITCH - ipset mode предназначен для переключения ipset файла. Агрумент командной строки --ipset
У этого переключателя ipset есть два состояния: полный (с валидным списком сетей) и заглушка (IP из диапазона TEST-NET-3).
Ярлык с именем liberty-pre SWITCH - Extended Ports предназначен для переключения режима фильтрации портов (1024-65535).
Ярлык с именем liberty-pre SWITCH - hidden modes предназначен для переключения невидимого / скрытого режима работы.
Linux (для продвинутых): установить mono, запускать liberty-pre-linux.sh
Linux: запустите скрипт liberty-pre-linux.sh с аргументом --install, чтобы установить файл .desktop для интеграции в меню приложений.
Linux: Возможно потребуется дополнительная настройка iptables/nftables.

Осторожно:

💯 Исполняемые файлы которые находятся в каталоге bin, к примеру winws.exe взяты из оригинального репозитория github.com/bol-van/zapret. Из других мест / авторов использовать небезопасно.

⚠️ Почему антивирус может реагировать на winws (WinDivert)?
Для своей работы под Windows winws.exe использует драйвер WinDivert. Этот драйвер позволяет перехватывать и модифицировать сетевой трафик, что необходимо для обхода блокировок, поскольку в Windows нет встроенных аналогов iptables/nftables как в Linux.

WinDivert — это легитимный и подписанный инструмент, но его возможности по вмешательству в сетевой стек также могут использоваться вредоносными программами. Поэтому антивирусы и Защитник Windows часто классифицируют подобные драйверы как инструменты хакеров или потенциально нежелательное ПО.
Это нормально. Сам драйвер не является вирусом. Чтобы компонент из zapret работал без помех, просто добавьте папку с программой в исключения вашего антивируса. Подробности.

Как скомпилировать?

Установить git:
Ubuntu/Debian: sudo apt install git / Windows: git-scm.com/downloads/win
Рекурсивно склонировать исходный код:
git clone --recursive https://github.com/Mr-Precise/liberty-pre
Использовать Visual Studio, Visual Studio Code + C# дополнение или Monodevelop/Dotdevelop для сборки
Требования: .net framework (msbuild) или Mono (xbuild), если в Linux/macOS.
Для успешной сборки и использования на linux требуется ubuntu 20.04/22.04 LTS и mono nightly (6.13) версии.
Можете изучить .github/workflows/build.yml
Пример:

sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/mono-official-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/mono-official-archive-keyring.gpg] https://download.mono-project.com/repo/ubuntu nightly-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-nightly.list
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/mono-official-archive-keyring.gpg] https://download.mono-project.com/repo/ubuntu preview-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-preview.list
sudo apt install mono-complete nuget git
git clone --recursive https://github.com/Mr-Precise/liberty-pre
cd liberty-pre
nuget restore
xbuild /p:Configuration=Release liberty-pre.sln

Использованы компоненты из репозиториев и благодарности: