ShizuWall Icon

ShizuWall

Файрвол для Android без VPN.
Приватность прежде всего, только локально, работает через Shizuku / локальный ADB-демон / root.

English · Türkçe · Deutsch · Italiano · Português · Čeština · Русский · العربية · हिन्दी · 中文 · 日本語

 

Last commit Repo size License Android Downloads Awesome

Get it on Google Play Get it on F-Droid

Buy Me A Coffee

## Почему ShizuWall - **Без VPN**: Не перехватывает пакеты и избавляет от побочных эффектов постоянного VPN-туннеля. - **Управление сетью для каждого приложения**: Включает и отключает сеть приложений через средства chain-3 в `connectivity` Android. - **Приватность по умолчанию**: Работает офлайн, без аналитики, телеметрии и слежки. - **Готов к автоматизации**: Поддерживает команды `adb broadcast` для скриптов и автоматизации задач. - **Способы управления**: ShizuWall предлагает три удобных способа управлять файрволом: плитка в быстрых настройках, виджет и плавающая кнопка файрвола. ## Скриншоты

## Требования - Android 11 (API 30) или новее - Один из бэкендов управления: Shizuku, локальный ADB-демон или root-доступ ## Бэкенды управления ShizuWall поддерживает три способа выполнения команд файрвола: | Способ | Описание | Настройка | |--------|---------|---------| | **Shizuku** | Безопасный API, взаимодействующий с системными службами. Требуется приложение Shizuku. Форки поддерживаются. | Установите и настройте приложение Shizuku, выдайте разрешения | | **Root** | Прямой root-доступ. | Получите root стандартными способами | | **LibADB (LADB)** | Использует встроенную функцию «Беспроводная отладка», чтобы телефон вёл себя как компьютер, подключённый по USB. Это позволяет приложению вносить сложные системные изменения без компьютера, root-прав и дополнительных приложений вроде Shizuku. | Включите беспроводную отладку и выполните сопряжение в параметрах разработчика (руководство есть в приложении) | ## Как это работает ShizuWall использует **Chain 3** Android (цепочку подключений) для управления сетью каждого приложения. Через Shizuku или локальный демон выполняются такие системные команды: ### Команды ADB Chain 3 ```bash # Включить механизм файрвола cmd connectivity set-chain3-enabled true # Заблокировать конкретное приложение cmd connectivity set-package-networking-enabled false # Разблокировать конкретное приложение cmd connectivity set-package-networking-enabled true # Отключить механизм файрвола cmd connectivity set-chain3-enabled false ``` **Chain 3** — механизм платформы Android, который перехватывает и контролирует сетевой доступ каждого пакета на системном уровне, обеспечивая точное управление файрволом. ## Автоматизация (ADB broadcast) Вы можете управлять ShizuWall из скриптов и средств автоматизации. **Действие**: `shizuwall.CONTROL` **Компонент**: `com.arslan.shizuwall/.receivers.FirewallControlReceiver` **Дополнительные параметры** - `state` (boolean, обязательный): `true` = включить, `false` = выключить - `apps` (строка, необязательный): список пакетов через запятую. Если не указан, ShizuWall использует сохранённые выбранные приложения. ### Примеры ```bash # Включить файрвол для сохранённых выбранных приложений adb shell am broadcast -a shizuwall.CONTROL -n com.arslan.shizuwall/.receivers.FirewallControlReceiver --ez state true # Выключить файрвол для сохранённых выбранных приложений adb shell am broadcast -a shizuwall.CONTROL -n com.arslan.shizuwall/.receivers.FirewallControlReceiver --ez state false # Включить файрвол для конкретных пакетов adb shell am broadcast -a shizuwall.CONTROL -n com.arslan.shizuwall/.receivers.FirewallControlReceiver --ez state true --es apps "com.example.app1,com.example.app2" # Выключить файрвол для конкретных пакетов adb shell am broadcast -a shizuwall.CONTROL -n com.arslan.shizuwall/.receivers.FirewallControlReceiver --ez state false --es apps "com.example.app1,com.example.app2" ``` > Чтобы броадкасты срабатывали, должен быть активен один из бэкендов управления (Shizuku, локальный ADB-демон или root). ## Примечания и ограничения - Правила файрвола сбрасываются при перезагрузке — так устроена платформа Android. - Перезагрузка устройства снимает все активные блокировки сети, установленные ShizuWall. - Приложение запрашивает `android.permission.INTERNET` только для сопряжения по беспроводной отладке (подключение к локальному демону LibADB). ## Сборка (для разработчиков) ### Приложение ```bash ./gradlew assembleRelease ``` ### Демон Демон, работающий на устройстве (`SystemDaemon.java`), автоматически компилируется в DEX (`daemon.bin`) в рамках обычной сборки Gradle задачей `compileDaemonDex`. Он собирается из исходников с помощью `javac` и `d8` из build-tools Android SDK и упаковывается как ресурс — готового бинарника в репозитории нет, поэтому серверы воспроизводимых сборок (например, F-Droid) создают его сами. Никаких ручных действий не требуется; `./gradlew assembleRelease` собирает и его. Задачу можно запустить и отдельно: ```bash ./gradlew :app:compileDaemonDex ``` ## Отказ от ответственности: безопасность и распространение ShizuWall предоставляется **«как есть»**, без каких-либо гарантий. Используя это приложение, вы подтверждаете, что оно опирается на расширенные системные разрешения (Shizuku/ADB/root), и принимаете все связанные риски. Разработчик не несёт ответственности за ущерб, включая нестабильность системы, потерю данных, перебои в работе служб или последствия блокировки сети. **Официальное распространение и риски третьих сторон** Разработчики и участники проекта ShizuWall не несут никакой ответственности за ущерб, нарушения безопасности, заражение вредоносным ПО или потерю данных, возникшие в результате загрузки, установки или использования APK-файлов, полученных из сторонних источников. ShizuWall официально разрабатывается и распространяется исключительно через Google Play Store, официальный репозиторий на GitHub и F-Droid. ShizuWall не владеет, не управляет и не поддерживает никакой официальный веб-сайт. Любой сайт или сторонняя платформа, утверждающие, что предлагают официальные загрузки ShizuWall, не имеют к проекту отношения и не авторизованы. Пользователи, получающие приложение вне официальных каналов, делают это строго на свой риск. **ShizuWall — приложение с открытым исходным кодом. Разработчик не несёт финансовой, моральной или юридической ответственности за использование этого приложения. Вся ответственность лежит на пользователе.** Всегда проверяйте, какие приложения вы блокируете. ## Лицензия Распространяется по лицензии **GNU General Public License v3.0 (GPLv3)**. См. [LICENSE.md](../LICENSE.md). Входящие в состав данные сигнатур трекеров не являются кодом и имеют собственную лицензию (ODbL v1.0). См. [TRACKER_DATA_LICENSE.md](../TRACKER_DATA_LICENSE.md). ## Поддержать - ⭐ Поставьте звезду проекту: [GitHub Stars](https://github.com/AhmetCanArslan/ShizuWall/stargazers) - ☕ Сделать пожертвование: [Buy Me a Coffee](https://buymeacoffee.com/ahmetcanarslan) - ⬇️ Скачать: [Google Play Store](https://play.google.com/store/apps/details?id=com.arslan.shizuwall) ## Благодарности - [Shizuku](https://github.com/RikkaApps/Shizuku) — API, обеспечивающий выполнение привилегированных команд. - [LibADB](https://github.com/MuntashirAkon/libadb-android) — Поддержка беспроводной отладки и подключения к демону. - [Exodus Privacy](https://exodus-privacy.eu.org/) — База сигнатур трекеров, используемая для обнаружения трекерных SDK внутри приложений, под лицензией [ODbL v1.0](https://opendatacommons.org/licenses/odbl/1-0/). ShizuWall включает сокращённую копию и никогда не обращается к их API. См. [TRACKER_DATA_LICENSE.md](../TRACKER_DATA_LICENSE.md).