AntiFeatures:NonFreeAdd
Categories:Security,Internet
License:GPL-3.0
Web Site:https://github.com/ukanth/afwall/wiki
Source Code:https://github.com/ukanth/afwall
Issue Tracker:https://github.com/ukanth/afwall/issues
Changelog:https://github.com/ukanth/afwall/blob/HEAD/Changelog.md
Donate:http://forum.xda-developers.com/donatetome.php?u=3249429

Auto Name:AFWall+
Summary:Control network traffic
Description:
Firewall (iptables frontend), based on DroidWall which is no longer being
developed. A paid "donate"-version with more features it advertised within the
app.

* Import/Export Rules to external storage
* Search Applications
* Multiple profiles with custom names
* Highlights system applications with custom color
* Notify on new installations
* VPN Support
* Device Admin support to protect against being uninstalled

Requires root: Yes. iptables must run as root.
.

Requires Root:yes

Repo Type:git
Repo:https://github.com/ukanth/afwall.git

Build:1.2.0,120
    commit=1.2.0
    srclibs=ActionBarSherlock@4.2.0,LockPattern@1c1307,Busybox@83785f0,iptables@android-4.2.2_r1
    extlibs=android/android-support-v4.jar
    prebuild=rm -rf res/raw/busybox_g1 res/raw/iptables_armv5 external/ && \
        mv libs/android-support-v4.jar $$ActionBarSherlock$$/libs/ && \
        sed -i 's@\(android.library.reference.1=\).*@\1$$ActionBarSherlock$$@' project.properties && \
        sed -i 's@\(android.library.reference.2=\).*@\1$$LockPattern$$@' project.properties && \
        export PATH=$$NDK$$/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin:$PATH && \
        mkdir -p bb/ && \
        cp -r $$Busybox$$/* bb/ && \
        cd bb/ && \
        wget https://raw.github.com/tias/android-busybox-ndk/bd2bf4f384350a2bb2f81444012a882ddd48662a/android_ndk_defconfigPlus && \
        mv android_ndk_defconfigPlus .config && \
        make CONFIG_SYSROOT="$$NDK$$/platforms/android-9/arch-arm" && \
        mv busybox ../res/raw/busybox_g1 && \
        cd ../ && \
        git clone https://android.googlesource.com/platform/external/iptables && \
        cd iptables && \
        wget https://hg.adblockplus.org/adblockplusandroid/raw-file/c3c62b79e758/iptables.patch -P ../ && \
        git apply ../iptables.patch && \
        sed -i 's@ndk-build@$$NDK$$/ndk-build@g' Makefile && \
        make fixextensions build && \
        mv libs/armeabi/iptables ../res/raw/iptables_armv5

Build:1.2.4,124
    commit=v1.2.4
    srclibs=ActionBarSherlock@4.2.0,LockPattern@1c1307,Busybox@1_21_0,BusyboxConfigs@e71bc43bd0,iptables@android-4.2.2_r1
    extlibs=android/android-support-v4.jar,afwall.patch
    prebuild=rm -rf res/raw/busybox_g1 res/raw/iptables_armv5 external/busybox/* external/iptables/* && \
        mv libs/android-support-v4.jar $$ActionBarSherlock$$/libs/ && \
        sed -i 's@\(android.library.reference.1=\).*@\1$$ActionBarSherlock$$@' project.properties && \
        sed -i 's@\(android.library.reference.2=\).*@\1$$LockPattern$$@' project.properties && \
        cp -r $$iptables$$/* external/iptables/ && \
        mv libs/afwall.patch . && \
        touch external/iptables/extensions/fixinit.py && \
        git apply afwall.patch && \
        cp -r $$Busybox$$/* external/busybox/ && \
        cp -r $$BusyboxConfigs$$/* external/busybox/configs/ && \
        cd external/busybox && \
        for i in configs/patches/*.patch; do patch -p1 < $i; done && \
        mv configs/android_ndk_stericson-like .config
    build=export PATH=$$NDK$$/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin:$PATH && \
        cd external/busybox/ && \
        make CONFIG_SYSROOT="$$NDK$$/platforms/android-9/arch-arm" ARCH=arm ANDROID_NDK=$$NDK$$ && \
        mv busybox ../../res/raw/busybox_g1 && \
        cd ../iptables && \
        python extensions/fixinit.py && \
        $$NDK$$/ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk && \
        mv libs/armeabi/iptables ../../res/raw/iptables_armv5

Build:1.2.4.1,125
    commit=v1.2.4.1
    srclibs=ActionBarSherlock@4.2.0,LockPattern@1c1307,Busybox@1_21_0,BusyboxConfigs@e71bc43bd0,iptables@android-4.2.2_r1
    extlibs=android/android-support-v4.jar,afwall.patch
    prebuild=rm -rf res/raw/busybox_g1 res/raw/iptables_armv5 external/busybox/* external/iptables/* && \
        mv libs/android-support-v4.jar $$ActionBarSherlock$$/libs/ && \
        sed -i 's@\(android.library.reference.1=\).*@\1$$ActionBarSherlock$$@' project.properties && \
        sed -i 's@\(android.library.reference.2=\).*@\1$$LockPattern$$@' project.properties && \
        cp -r $$iptables$$/* external/iptables/ && \
        mv libs/afwall.patch . && \
        touch external/iptables/extensions/fixinit.py && \
        git apply afwall.patch && \
        cp -r $$Busybox$$/* external/busybox/ && \
        cp -r $$BusyboxConfigs$$/* external/busybox/configs/ && \
        cd external/busybox && \
        for i in configs/patches/*.patch; do patch -p1 < $i; done && \
        mv configs/android_ndk_stericson-like .config
    build=export PATH=$$NDK$$/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin:$PATH && \
        cd external/busybox/ && \
        make CONFIG_SYSROOT="$$NDK$$/platforms/android-9/arch-arm" ARCH=arm ANDROID_NDK=$$NDK$$ && \
        mv busybox ../../res/raw/busybox_g1 && \
        cd ../iptables && \
        python extensions/fixinit.py && \
        $$NDK$$/ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk && \
        mv libs/armeabi/iptables ../../res/raw/iptables_armv5

Build:1.2.5.2,129
    commit=v1.2.5.2
    srclibs=ActionBarSherlock@4.2.0,LockPattern@1c1307,Busybox@1_21_0,BusyboxConfigs@e71bc43bd0,iptables@android-4.2.2_r1
    extlibs=android/android-support-v4.jar,afwall.patch
    prebuild=rm -rf res/raw/busybox_g1 res/raw/iptables_armv5 external/busybox/* external/iptables/* && \
        mv libs/android-support-v4.jar $$ActionBarSherlock$$/libs/ && \
        sed -i 's@\(android.library.reference.1=\).*@\1$$ActionBarSherlock$$@' project.properties && \
        sed -i 's@\(android.library.reference.2=\).*@\1$$LockPattern$$@' project.properties && \
        cp -r $$iptables$$/* external/iptables/ && \
        mv libs/afwall.patch . && \
        touch external/iptables/extensions/fixinit.py && \
        git apply afwall.patch && \
        cp -r $$Busybox$$/* external/busybox/ && \
        cp -r $$BusyboxConfigs$$/* external/busybox/configs/ && \
        cd external/busybox && \
        for i in configs/patches/*.patch; do patch -p1 < $i; done && \
        mv configs/android_ndk_stericson-like .config
    build=export PATH=$$NDK$$/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin:$PATH && \
        cd external/busybox/ && \
        make CONFIG_SYSROOT="$$NDK$$/platforms/android-9/arch-arm" ARCH=arm ANDROID_NDK=$$NDK$$ && \
        mv busybox ../../res/raw/busybox_g1 && \
        cd ../iptables && \
        python extensions/fixinit.py && \
        $$NDK$$/ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk && \
        mv libs/armeabi/iptables ../../res/raw/iptables_armv5

Build:1.2.6,132
    commit=v1.2.6
    srclibs=ActionBarSherlock@4.2.0,LockPattern@1c1307,iptables@android-4.2.2_r1
    extlibs=android/android-support-v4.jar,afwall.patch
    prebuild=rm -rf external/iptables/* && \
        cp -r $$iptables$$/* external/iptables/ && \
        mv libs/afwall.patch . && \
        tr -d '\r' < AndroidManifest.xml > output.file && \
        mv output.file AndroidManifest.xml && \
        touch external/iptables/extensions/fixinit.py && \
        git apply afwall.patch && \
        cd external/busybox/ && \
        tar -jxf busybox-1.21.1.tar.bz2 && \
        cd busybox-1.21.1/ && \
        patch -p1 < ../022-ipv6.patch && \
        cp ../defconfig .config && \
        cd ../../../ && \
        rm res/raw/busybox_g2 res/raw/iptables_armv5 res/raw/nflog            external/busybox/busybox-1.21.1.tar.bz2 && \
        mv libs/android-support-v4.jar $$ActionBarSherlock$$/libs/ && \
        sed -i 's@\(.1=\).*@\1$$ActionBarSherlock$$@' project.properties && \
        sed -i 's@\(.2=\).*@\1$$LockPattern$$@' project.properties
    build=export PATH=$$NDK$$/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin:$PATH && \
        cd external/busybox/busybox-1.21.1/ && \
        make CONFIG_SYSROOT="$$NDK$$/platforms/android-9/arch-arm" ARCH=arm ANDROID_NDK=$$NDK$$ && \
        mv busybox ../../../res/raw/busybox_g2 && \
        cd ../../iptables && \
        python extensions/fixinit.py && \
        cd ../../ && \
        $$NDK$$/ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=external/iptables/Android.mk && \
        mv libs/armeabi/iptables res/raw/iptables_armv5 && \
        $$NDK$$/ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=external/nflog/Android.mk && \
        mv libs/armeabi/nflog res/raw/

Build:1.2.6.1,136
    commit=v1.2.6.1
    srclibs=ActionBarSherlock@4.2.0,LockPattern@1c1307,iptables@android-4.2.2_r1
    extlibs=android/android-support-v4.jar,afwall.patch
    prebuild=rm -rf external/iptables/* && \
        cp -r $$iptables$$/* external/iptables/ && \
        mv libs/afwall.patch . && \
        tr -d '\r' < AndroidManifest.xml > output.file && \
        mv output.file AndroidManifest.xml && \
        touch external/iptables/extensions/fixinit.py && \
        git apply afwall.patch && \
        cd external/busybox/ && \
        tar -jxf busybox-1.21.1.tar.bz2 && \
        cd busybox-1.21.1/ && \
        patch -p1 < ../022-ipv6.patch && \
        cp ../defconfig .config && \
        cd ../../../ && \
        rm res/raw/busybox_g2 res/raw/iptables_armv5 res/raw/nflog            external/busybox/busybox-1.21.1.tar.bz2 && \
        mv libs/android-support-v4.jar $$ActionBarSherlock$$/libs/ && \
        sed -i 's@\(.1=\).*@\1$$ActionBarSherlock$$@' project.properties && \
        sed -i 's@\(.2=\).*@\1$$LockPattern$$@' project.properties
    build=export PATH=$$NDK$$/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin:$PATH && \
        cd external/busybox/busybox-1.21.1/ && \
        make CONFIG_SYSROOT="$$NDK$$/platforms/android-9/arch-arm" ARCH=arm ANDROID_NDK=$$NDK$$ && \
        mv busybox ../../../res/raw/busybox_g2 && \
        cd ../../iptables && \
        python extensions/fixinit.py && \
        cd ../../ && \
        $$NDK$$/ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=external/iptables/Android.mk && \
        mv libs/armeabi/iptables res/raw/iptables_armv5 && \
        $$NDK$$/ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=external/nflog/Android.mk && \
        mv libs/armeabi/nflog res/raw/

Build:1.2.7,141
    commit=v1.2.7
    submodules=yes
    prebuild=rm -f res/raw/{iptables,ip6tables,busybox,nflog}*
    build=make -C external NDK=$$NDK$$

Build:1.2.8,146
    commit=v1.2.8
    submodules=yes
    prebuild=rm -f res/raw/{iptables,ip6tables,busybox,nflog}*
    build=make -C external NDK=$$NDK$$

Build:1.2.9,152
    commit=v1.2.9
    submodules=yes
    prebuild=rm -f res/raw/{iptables,ip6tables,busybox,nflog}*
    build=make -C external NDK=$$NDK$$

Build:1.3.1.1,164
    commit=v1.3.1.1
    submodules=yes
    prebuild=mv jni jni_
    scandelete=res/raw
    build=mv jni_ jni && \
        make -C external NDK=$$NDK$$

Build:1.3.2,166
    commit=v1.3.2
    submodules=yes
    prebuild=mv jni jni_
    scandelete=res/raw
    build=mv jni_ jni && \
        make -C external NDK=$$NDK$$

Build:1.3.3,168
    commit=v1.3.3
    submodules=yes
    prebuild=mv jni jni_
    scandelete=res/raw
    build=mv jni_ jni && \
        make -C external NDK=$$NDK$$

Build:1.3.4,170
    commit=v1.3.4
    submodules=yes
    prebuild=mv jni jni_
    scandelete=res/raw
    build=mv jni_ jni && \
        make -C external NDK=$$NDK$$

Build:1.3.4.1,171
    commit=v1.3.4.1
    submodules=yes
    prebuild=mv jni jni_
    scandelete=res/raw
    build=mv jni_ jni && \
        make -C external NDK=$$NDK$$

Build:2.0.0-ALPHA-1,15200
    disable=don't publish alphas
    commit=8a6bf73491f46bed34246f90c3243c41d9bbb055
    subdir=aFWall
    gradle=yes
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$

Build:2.0.0-ALPHA-2,15201
    disable=don't publish alphas
    commit=7f2ec4043412838d8f42d43839c060dd724a352a
    subdir=aFWall
    gradle=yes
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$

Build:2.0.0-BETA-1,15203
    disable=Bug in NDK r10e
    commit=6aae7a1f63bc1dee49080738bbbd3cbec75216aa
    subdir=aFWall
    gradle=yes
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$

Build:2.0.0-RC,15205
    disable=doesn't build locally; r10e bug?
    commit=v2.0.0-RC
    subdir=aFWall
    gradle=yes
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$

Build:2.0.0,15208
    disable=material-dialogs gone from maven repo
    commit=v2.0.0
    subdir=aFWall
    gradle=yes
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$

Build:2.1.1,15215
    commit=v2.1.1
    subdir=aFWall
    gradle=yes
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$

Build:2.1.3,15217
    commit=v2.1.3
    subdir=aFWall
    gradle=yes
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$

Build:2.2.1,15221
    commit=v2.2.1
    subdir=aFWall
    gradle=yes
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$

Build:2.2.2,15222
    commit=v2.2.2
    subdir=aFWall
    gradle=yes
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$

Build:2.2.3,15223
    commit=v2.2.3
    subdir=aFWall
    gradle=yes
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$

Build:2.5.1,15501
    commit=v2.5.1
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$
    ndk=r10e

Build:2.5.2,15502
    commit=v2.5.2
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$
    ndk=r10e

Build:2.6.0,15600
    commit=v2.6.0
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$
    ndk=r10e

Build:2.7.0,15700
    commit=v2.7.0
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$
    ndk=r10e

Build:2.8.0,15800
    commit=v2.8.0
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$
    ndk=r10e

Build:2.9.0,15900
    commit=v2.9.0
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$
    ndk=r10e

Build:2.9.1,15902
    commit=v2.9.1
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$
    ndk=r10e

Build:2.9.3,15930
    disable=r10..r11 fail at pie/nopie binaries not found, r12 breaks
    commit=v2.9.3
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$
    ndk=r12b

Build:2.9.4,15940
    commit=v2.9.4
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$
    ndk=r10e

Build:2.9.5-BETA,15950
    commit=v2.9.5
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$
    ndk=r10e

Build:2.9.6-BETA,15960
    commit=v2.9.6
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$
    ndk=r10e

Build:2.9.6.1,15972
    commit=v2.9.6.1
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=pushd .. && \
        export NDK_PROJECT_PATH=`pwd` && \
        make -C external NDK=$$NDK$$
    ndk=r10e

Build:2.9.7,15979
    commit=v2.9.7
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=make -C ../external -j`nproc` NDK="$$NDK$$" NDK_PROJECT_PATH="$PWD/.."
    ndk=r10e

Build:2.9.8,15980
    commit=v2.9.8
    subdir=aFWall
    gradle=yes
    prebuild=sed -i -e '/drummer-aidan/d' ../build.gradle build.gradle
    scandelete=aFWall/src/main/res/raw/
    build=make -C ../external -j`nproc` NDK="$$NDK$$" NDK_PROJECT_PATH="$PWD/.."
    ndk=r10e

Auto Update Mode:Version v%v
Update Check Mode:Tags ^v[0-9.]+$
Current Version:2.9.8
Current Version Code:15980
