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 11 24H2 ARM64 с включенным testsigning
bcdedit /set {current} testsigning on - отдельная сборка под устаревшую Windows 7 SP1 64bit (build 7601) и WMF 5.1 (PowerShell 5.1)
- *ubuntu 20.04+ amd64 и aarch64
- Debian 11+ amd64 и aarch64
- актуальный 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(отдельноTCPиUDP) предназначен для переключения расширенного режима фильтрации портов (1024-65535), в осномном для игр. - Ярлык с именем
liberty-pre SWITCH - hidden modeпредназначен для переключения невидимого / скрытого режима работы. - Ярлык с именем
liberty-pre SWITCH - hostlist-autoпредназначен для переключения режима autohostlist (автоматическая разблокировка сайтов). Работает медленно, но в редких случаях может помочь.
Linux (для продвинутых): установить mono, запускать liberty-pre-linux.sh
Linux: запустите скрипт liberty-pre-linux.sh с аргументом --install, чтобы установить файл .desktop для интеграции в меню приложений:
cd path/to/liberty-pre/
./liberty-pre-linux.sh --install💯 Исполняемые файлы которые находятся в каталоге bin, к примеру winws.exe взяты из оригинального репозитория github.com/bol-van/zapret. Из других мест / авторов использовать небезопасно.
Для своей работы под 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Этот проект носит любительский характер и в первую очередь ориентирован на простоту и кросс-платформенность.
Если вы хотите внести изменения или улучшения - это всегда приветствуется!
Пожалуйста, по возможности сохраняйте совместимость с .NET Framework 4.5 / Mono (C# 7.3-8), а также старайтесь избегать излишнего усложнения кода.
В случае сомнений лучше обсудить изменения заранее.
- github.com/bol-van/zapret - компоненты
- github.com/Flowseal/zapret-discord-youtube - идея и списки доменов / IP сетей
- github.com/basil00/WinDivert - за замечательный драйвер