lawnn / android

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Disclaimer

Adhell3 is merely an app that is using the Samsung Knox Standard SDK APIs.
In order to use these APIs, the Knox Standard SDK and an Enterprise License Key (ELM) are needed.
These are Samsung's properties which are not available in this repository and therefore they need to be downloaded and obtained by the developer after accepting the agreement given by Samsung.
The developer is then responsible how this app will be used and I don't take any responsibilities of any damages caused by this app.

The Knox Standard SDK can be downloaded here: https://seap.samsung.com/sdk/knox-standard-android
The Enterprise License Key can be obtained here: https://seap.samsung.com/license-keys/create/knox_standard_android
The API can be found here: https://seap.samsung.com/api-references/android-standard/reference/packages.html

Background

The original Adhell was developed by Samsung's developer. After he was forced to remove the code from internet by Samsung, FiendFyre was stepped up by providing the Adhell2. But after a while, it is also discontinued.
Adhell3 is an extension of previous discontinued Adhell2 app with more additional features.

Features

  • Mobile and Wi-Fi access disabler
    Disable internet access when on mobile or/and Wi-Fi for specific apps. This can be useful to avoid watching video accidentally by using mobile data.

  • Custom deny firewall rule
    This can be used for example to define a custom firewall rule to block ads for Chrome app on port 53 for all ip addresses:
    com.android.chrome|*|53

  • Whitelist URL for a specific app
    When you have a domain that you want to block system wide, but you need this domain on a particular app. Otherwise, the app won't work.
    Instead whitelist-ing this app, you can just whitelist that domain for this app.
    Example: Block the domain graph.facebook.com system wide, but allows it for Facebook Messenger so that it can be used for login:
    com.facebook.orca|graph.facebook.com

  • Support local host source
    The host file can be located on internal or external storage.
    An example to use host.txt file which is located at internal storage:
    file:///mnt/sdcard/hosts.txt

  • Show the content of host source
    Show the list of domains of individual host source or the list of all blocked domains from all host sources.
    This can be useful to check whether particular domain is in the list.
    The list contains of unique domains.

  • Retain data across installations
    Adhell is usually generated with a unique package name. For the users that don't build Adhell with Android Studio, they cannot use the same package name. This means that they need to reinstall Adhell every times there is a new version and on every installation, they need to input the same data again and again.
    With this feature, there is no need to export or import functionality again. The data will be kept on internal storage and by next installation, the same data will be used.

  • Backup and restore database
    Backup the content of the database on internal storage so that later it can be used to restore the database if the database is somehow damage.

  • App components
    Ability to disable app's permissions, services and receivers. Only user apps are supported.

  • DNS per application basis
    Set custom DNS for selected apps. Only user apps are supported.

Prerequisite for building apk

Source code

Android Studio

Knox Standard SDK

How to build apk

  • Update the source code with git stash && git pull --rebase && git stash pop or re-download the source code as a zip file
  • Run these following commands in a console:
    cd adhell3
    gradlew clean assembleDebug
  • The generated apk is located in app\build\outputs\apk\debug

Prerequisite for using Adhell3

You need an Enterprise License Key (ELM) in order to use Adhell3.
You need to enroll as a developer in order to get this license. The license can be obtained here: https://seap.samsung.com/license-keys/create/knox_standard_android
As for developer, the license needs to be renewed every 3 months. Don't forget to revoke the old license key before creating a new one.

Credits

Adhell3 is based on FiendFyre's Adhell2 which is heavily modified by me.

Icons

https://material.io/icons

About


Languages

Language:Java 100.0%