ShizuWall Icon

ShizuWall

Android-Firewall ohne VPN.
Datenschutz zuerst, rein lokal, betrieben über Shizuku / lokalen ADB-Daemon / 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

## Warum ShizuWall - **Kein VPN**: Vermeidet Paketmitschnitt und die Nebenwirkungen eines dauerhaften VPN-Tunnels. - **Netzwerksteuerung pro App**: Schaltet den Netzwerkzugriff von Apps über Androids `connectivity`-Chain-3-Steuerung ein und aus. - **Datenschutz by Design**: Offline-first, keine Analyse, keine Telemetrie, kein Tracking. - **Automatisierbar**: Unterstützt `adb broadcast`-Befehle für Skripte und Aufgabenautomatisierung. - **Steuerungsmöglichkeiten**: ShizuWall bietet drei bequeme Wege zur Steuerung der Firewall: Schnelleinstellungen-Kachel, App-Widget und schwebende Firewall-Schaltfläche. ## Screenshots

## Voraussetzungen - Android 11 (API 30) oder höher - Ein Steuerungs-Backend: Shizuku, lokaler ADB-Daemon oder Root-Zugriff ## Steuerungs-Backends ShizuWall unterstützt drei Methoden zur Ausführung von Firewall-Befehlen: | Methode | Beschreibung | Einrichtung | |--------|---------|---------| | **Shizuku** | Sichere API, die mit Systemdiensten kommuniziert. Erfordert die Shizuku-App. Forks werden unterstützt. | Shizuku-App installieren und einrichten, Berechtigungen erteilen | | **Root** | Direkter Root-Zugriff. | Gerät mit den üblichen Methoden rooten | | **LibADB (LADB)** | Nutzt die integrierte Funktion "Drahtloses Debugging" deines Telefons, sodass es sich wie ein per USB verbundener Computer verhält. So kann die App fortgeschrittene Systemänderungen vornehmen – ohne Computer, Root oder zusätzliche Apps wie Shizuku. | Drahtloses Debugging in den Entwickleroptionen aktivieren und koppeln (Anleitung ist in der App) | ## Funktionsweise ShizuWall nutzt Androids **Chain 3** (Connectivity-Chain), um den Netzwerkzugriff pro App zu steuern. Dies sind die Plattformbefehle, die über Shizuku oder den lokalen Daemon ausgeführt werden: ### ADB-Chain-3-Befehle ```bash # Firewall-Framework aktivieren cmd connectivity set-chain3-enabled true # Bestimmte App blockieren cmd connectivity set-package-networking-enabled false # Blockierung einer bestimmten App aufheben cmd connectivity set-package-networking-enabled true # Firewall-Framework deaktivieren cmd connectivity set-chain3-enabled false ``` **Chain 3** ist ein Android-Plattformmechanismus, der den Netzwerkzugriff pro Paket auf Systemebene abfängt und steuert und so eine feingranulare Firewall-Kontrolle ermöglicht. ## Automatisierung (ADB-Broadcast) Du kannst ShizuWall aus Skripten und Automatisierungswerkzeugen steuern. **Action**: `shizuwall.CONTROL` **Komponente**: `com.arslan.shizuwall/.receivers.FirewallControlReceiver` **Extras** - `state` (Boolean, erforderlich): `true` = aktivieren, `false` = deaktivieren - `apps` (String, optional): Paketliste als CSV. Wird sie weggelassen, verwendet ShizuWall die gespeicherten ausgewählten Apps. ### Beispiele ```bash # Firewall für gespeicherte ausgewählte Apps aktivieren adb shell am broadcast -a shizuwall.CONTROL -n com.arslan.shizuwall/.receivers.FirewallControlReceiver --ez state true # Firewall für gespeicherte ausgewählte Apps deaktivieren adb shell am broadcast -a shizuwall.CONTROL -n com.arslan.shizuwall/.receivers.FirewallControlReceiver --ez state false # Firewall für bestimmte Pakete aktivieren adb shell am broadcast -a shizuwall.CONTROL -n com.arslan.shizuwall/.receivers.FirewallControlReceiver --ez state true --es apps "com.example.app1,com.example.app2" # Firewall für bestimmte Pakete deaktivieren adb shell am broadcast -a shizuwall.CONTROL -n com.arslan.shizuwall/.receivers.FirewallControlReceiver --ez state false --es apps "com.example.app1,com.example.app2" ``` > Eines der Steuerungs-Backends (Shizuku, lokaler ADB-Daemon oder Root) muss aktiv sein, damit Broadcasts funktionieren. ## Hinweise & Einschränkungen - Firewall-Regeln werden durch das Verhalten der Android-Plattform beim Neustart gelöscht. - Ein Neustart des Geräts setzt alle von ShizuWall gesetzten aktiven Netzwerksperren zurück. - Die App fordert `android.permission.INTERNET` ausschließlich für das Koppeln beim drahtlosen Debugging an (Verbindung zum lokalen LibADB-Daemon). ## Build (Entwickler) ### App ```bash ./gradlew assembleRelease ``` ### Daemon Der Daemon auf dem Gerät (`SystemDaemon.java`) wird im Rahmen des normalen Gradle-Builds durch die Aufgabe `compileDaemonDex` automatisch zu einer DEX-Datei (`daemon.bin`) kompiliert. Er wird mit `javac` und `d8` aus den Android-SDK-Build-Tools aus dem Quellcode erzeugt und als Asset gepackt – im Repository liegt keine vorkompilierte Binärdatei, damit Server für reproduzierbare Builds (z. B. F-Droid) sie selbst erzeugen. Es ist kein manueller Schritt nötig; `./gradlew assembleRelease` baut ihn mit. Die Aufgabe kann auch einzeln ausgeführt werden: ```bash ./gradlew :app:compileDaemonDex ``` ## Haftungsausschluss zu Sicherheit und Verbreitung ShizuWall wird **"wie besehen"** ohne jegliche Gewährleistung bereitgestellt. Mit der Nutzung dieser App erkennst du an, dass sie auf weitreichenden Systemberechtigungen (Shizuku/ADB/Root) beruht, und akzeptierst alle damit verbundenen Risiken. Der Entwickler haftet nicht für Schäden wie Systeminstabilität, Datenverlust, Dienstunterbrechungen oder Nebenwirkungen blockierter Netzwerkverbindungen. **Offizielle Verbreitung und Risiken durch Dritte** Die Entwickler und Mitwirkenden von ShizuWall übernehmen keinerlei Haftung für Schäden, Sicherheitsverletzungen, Malware-Infektionen oder Datenverluste, die sich aus dem Herunterladen, Installieren oder Verwenden von APK-Dateien aus Drittquellen ergeben. ShizuWall wird offiziell ausschließlich über den Google Play Store, das offizielle GitHub-Repository und F-Droid entwickelt und verbreitet. ShizuWall besitzt, betreibt oder unterstützt keine offizielle Website. Jede Website oder Drittplattform, die behauptet, offizielle ShizuWall-Downloads anzubieten, steht in keinerlei Verbindung zum Projekt und ist nicht autorisiert. Wer die Anwendung außerhalb der offiziellen Kanäle bezieht, tut dies ausschließlich auf eigenes Risiko. **ShizuWall ist eine Open-Source-Anwendung. Der Entwickler übernimmt keine finanzielle, moralische oder rechtliche Verantwortung für die Nutzung dieser Anwendung. Die gesamte Verantwortung liegt beim Nutzer.** Prüfe immer, welche Apps du blockierst. ## Lizenz Lizenziert unter der **GNU General Public License v3.0 (GPLv3)**. Siehe [LICENSE.md](../LICENSE.md). Die mitgelieferten Tracker-Signaturdaten sind kein Code und stehen unter einer eigenen Lizenz (ODbL v1.0). Siehe [TRACKER_DATA_LICENSE.md](../TRACKER_DATA_LICENSE.md). ## Unterstützung - ⭐ Projekt mit einem Stern versehen: [GitHub Stars](https://github.com/AhmetCanArslan/ShizuWall/stargazers) - ☕ Spenden: [Buy Me a Coffee](https://buymeacoffee.com/ahmetcanarslan) - ⬇️ Herunterladen: [Google Play Store](https://play.google.com/store/apps/details?id=com.arslan.shizuwall) ## Danksagungen - [Shizuku](https://github.com/RikkaApps/Shizuku) — API, die den Ablauf für privilegierte Befehlsausführung ermöglicht. - [LibADB](https://github.com/MuntashirAkon/libadb-android) — Unterstützung für drahtloses Debugging und Daemon-Verbindung. - [Exodus Privacy](https://exodus-privacy.eu.org/) — Tracker-Signaturdatenbank zur Erkennung von Tracker-SDKs in Apps, lizenziert unter [ODbL v1.0](https://opendatacommons.org/licenses/odbl/1-0/). ShizuWall enthält eine gekürzte Kopie und kontaktiert deren API niemals. Siehe [TRACKER_DATA_LICENSE.md](../TRACKER_DATA_LICENSE.md).