De1984
- Firewall: if a start fails while you want it on, it is retried; the Down banner gets a "Turn off" button
- Firewall: a mode change in Settings or a boot restore no longer undoes your OFF
- Health checks: 3 failures in a row stop the restarts and report the firewall Down
- Log export includes the previous log file #121
The name **De1984** is inspired by George Orwell’s novel Nineteen Eighty-Four, reflecting the app’s philosophy of resisting surveillance and reclaiming digital privacy. It symbolizes a reversal of the dystopian control described in the book, empowering users to take back control over their devices and data.
FIREWALL FEATURES
- Multiple firewall capabilities: iptables (root, or Shizuku in root mode), ConnectivityManager (Shizuku, Android 13+), NetworkPolicyManager (Shizuku, chosen manually), and VPN fallback
- Automatic firewall method selection based on device capabilities
- Comprehensive iptables method for rooted devices provides kernel-level blocking with superior performance
- ConnectivityManager for Android 13+ devices with Shizuku, no root required
- NetworkPolicyManager with Shizuku, selectable manually. On ROMs without POLICY_REJECT_ALL it can only block metered background data, not WiFi
- VPN backend as fallback for maximum compatibility (no root required)
- Block apps on WiFi, Mobile Data and Roaming separately with iptables and VPN. Roaming is part of Mobile Data. ConnectivityManager and NetworkPolicyManager block an app on all networks or none
- Block LAN access, enforced only by iptables
- Global firewall policies: "Block All by Default" (allowlist) or "Allow All by Default" (blocklist). Switching the policy resets every app's WiFi, Mobile, Roaming and LAN rules to the new default, with no confirmation. System-recommended apps keep theirs, and critical and VPN apps keep theirs only while "Allow Firewall Critical Packages" is on
- Captive portal detection settings (root or Shizuku). These system settings stay changed after De1984 is uninstalled
- Screen-off blocking to save battery and data
- Real-time network state monitoring and automatic rule application
PACKAGE MANAGEMENT (with Shizuku or root)
- Enable/disable system apps
- Force stop running apps
- Uninstall system and user apps
- Works with Shizuku (no root required) or traditional root access
- Filter packages by system/user apps, enabled/disabled state
- Search functionality for quick package lookup
PRIVACY FIRST
- Zero tracking or analytics
- No telemetry
- Local-only data storage
- No proprietary libraries
- No Google Play Services
- 100% open source (MIT License)
- Buildable from source
REQUIREMENTS
- Android 8.0 (API 26) or higher
- For iptables firewall: Root access OR Shizuku in root mode
- For ConnectivityManager firewall: Shizuku + Android 13+
- For NetworkPolicyManager firewall: Shizuku
- For VPN firewall: VPN permission (no root required, works on all Android versions)
- For package management: Shizuku or root access
PERMISSIONS
- ACCESS_NETWORK_STATE: Monitor network connectivity for automatic rule application
- BIND_VPN_SERVICE: Create local VPN for VPN-based firewall backend
- QUERY_ALL_PACKAGES: View all installed apps
- POST_NOTIFICATIONS: Show notifications for new app installations (optional)
- RECEIVE_BOOT_COMPLETED: Start the firewall again after a reboot, if you had turned it on
- ACCESS_WIFI_STATE: Read the network state for per-network rules
- FOREGROUND_SERVICE, FOREGROUND_SERVICE_SPECIAL_USE: Keep the firewall services running
- REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: Ask Android not to stop the firewall to save battery (optional)
- KILL_BACKGROUND_PROCESSES: Last fallback for force stop
- Shizuku API permission: Talk to Shizuku or Sui
- INTERACT_ACROSS_USERS: Read apps in other profiles. When another profile exists, De1984 grants it to itself through root or Shizuku, without asking
- WRITE_SECURE_SETTINGS, CHANGE_COMPONENT_ENABLED_STATE: Only checked, to show the permission status
- REQUEST_DELETE_PACKAGES, INSTALL_SHORTCUT, ACCESS_SUPERUSER: Declared, but not used
- Shizuku or root access: For the iptables, ConnectivityManager and NetworkPolicyManag
- Author: Doru Moraru
- License: MIT License
- Issue Tracker
- Source Code
- Changelog
- Build Metadata
- Reproducibility Status
Donate
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid-
This version requires Android 8.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 6.3 MiB PGP Signature | Build Log
-
This version requires Android 8.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 6.3 MiB PGP Signature | Build Log
-
This version requires Android 8.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 6.3 MiB PGP Signature | Build Log
Set LAN access with the firewall off or in any mode when root is available; on iptables the Wi-Fi icon shows the LAN state #113
Optionally show apps of other users on this device #109
Search also matches package names #112
Arabic translation #100
Messages that wrongly said the device was not rooted or the mode was set to AUTO




