Home

Awesome

AFWall+ (Android Firewall+)

Android CI Crowdin GitHub F-Droid GitHub All Releases GitHub repo size

Description

Android Firewall+ (AFWall+) is an advanced iptables editor (GUI) for Android. It provides fine-grained control over which Android apps are allowed to access the network.

For more information and a community discussion ground, please visit the official XDA thread or the official Wiki page.

<img src="https://raw.githubusercontent.com/ukanth/afwall/0502e6f17ceda08069720ff2f260902690e65e9b/screenshots/Main_2.0.png" width="300">

<img src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" alt="Get it on Google Play" height="80"> <img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">

Index

Availability

AFWall can be downloaded via Google Play Store, GitHub or via F-Droid.

The changelog documents changes between each new release.

Supports

Highlights

Features

Bug Reports

Please check GitHub's issues section for existing bugs and in case you like to submit a new one. Feature requests are also welcome.

Before you report any problem/bug, take a look into the how-to-report a bug section.

Limitations

Compatibility

AFWall+ has been successfully tested under Android versions 4.x - 9.x. and is reported to work with most Android variants, including stock or exotic ROMs.

We do not recommend using AFWall+ in combination with any of the similar solutions (Avast, Kaspersky, NetGuard etc) because this could result in conflicts or even data leaks (e.g. IPtables could get overwritten).

Upgrading

The upgrading mechanism is really simple, basically you can just "over-install" the new version over the old one, however this is the best pratice (which we recommended):

Permissions

AFWall+ asks for the following Android permissions:

Frequently Asked Questions

Having some problems with AFWall+? Check out our FAQ before reporting a bug or problem that may already be known or answered.

License

AFWall+ is released under the GNU General Public License v3.0 License.

Acknowledgements

The original codebase was derived from DroidWall by Rodrigo Rosauro. DroidWall was sold to AVAST in December 2011, and is no longer actively maintained.

This project also uses some other open-source libraries such as:

<table> <tr> <td><strong>Project</strong></td> <td><strong>License</strong></td> <td><strong>Website</strong></td> </tr> <tr> <td>Android Color Picker</td> <td>Apache License 2.0</td> <td>https://github.com/attenzione/android-ColorPickerPreference</td> </tr> <tr> <td>Busybox</td> <td>GNU GPLv2</td> <td>http://www.busybox.net</td> </tr> <tr> <td>DBFlow</td> <td>MIT</td> <td>https://github.com/Raizlabs/DBFlow</td> </tr> <tr> <td>Prettytime</td> <td>Apache License 2.0</td> <td>https://github.com/ocpsoft/prettytime</td> </tr> <tr> <td>material-dialogs</td> <td>MIT License</td> <td>https://github.com/afollestad/material-dialogs</td> </tr> <tr> <td>iptables</td> <td>GNU GPLv2</td> <td>http://netfilter.org/projects/iptables/index.html</td> </tr> <tr> <td>Libsuperuser</td> <td>Apache License 2.0</td> <td>https://github.com/Chainfire/libsuperuser</td> </tr> <tr> <td>Locale Plugin</td> <td>Apache License 2.0</td> <td>http://www.twofortyfouram.com</td> </tr> <tr> <td>Networklog</td> <td>Mozilla Public License Version 2.0</td> <td>https://github.com/pragma-/networklog</td> </tr> <tr> <td>Root Tools</td> <td>Apache License 2.0</td> <td>https://github.com/Stericson/RootTools</td> </tr> </table>

Compiling the APK

Prerequisites:

Quick start:

git clone git://github.com/ukanth/afwall
cd afwall
./gradlew clean assembleDebug

For complete instructions, please take a look at the Wiki's How To Compile AFWAll section.

Compiling Native Binaries

You can compile the external binaries like BusyBox or the IPtables yourself, on the host side, you'll need to install the following:

This command will build the Android binaries and copy them into res/raw/:

make -C external NDK=/opt/android-ndk-r10

Contributing

You can fork the repository and contribute using pull requests.

All contributions no matter if large or small, major features, bug fixes, additional language translations, unit/integration tests are welcomed and appreciated. The pull requests and findings are usually getting reviewed and discussed with the developer and the community .

Translating

The res/values-* dirs are kept up-to-date automatically via the Crowdin Translate Extension. See our official translation page in case you like to contribute.

AFWall+ is available in many languages but if yours is not included - or if it needs updating or improving - please create an account and use the translation system and commit your changes.

Donations

Donations are optional and helps the project in order to keep up the development. The official donation link is the one below which points to the official AFWall+ PayPal account. You optionally can buy the unlocker key via Google Play Store which unlocks additional features in AFWall+, the unlocker is not avbl. via F-Droid.

Donate