MCPcopy Index your code
hub / github.com/AdAway/AdAway

github.com/AdAway/AdAway @v6.1.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v6.1.4 ↗ · + Follow
5,699 symbols 14,824 edges 556 files 1,240 documented · 22% updated 4mo agov6.1.4 · 2024-10-27★ 9,237647 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AdAway logo AdAway

Build Status Sonarcloud Status GitHub Downloads GitHub Sponsors License: GPL v3

AdAway is an open source ad blocker for Android using the hosts file and local vpn.

Home screen Preferences screen Root based ad blocker screen Backup and restore screen Help screen

For more information visit https://adaway.org

Installing

There are two kinds of release: * The preview builds: on the bleeding edge of development - for testers or adventurous * The stable builds: ready for every day usage - for end users

Preview builds

Requirements: Android 8 Oreo or above

For users with bugs, there may be preview builds available from the XDA development thread and AdAway official website. It is recommended to try those builds to see if your issue is resolved before creating an issue. The preview builds may contain bug fixes or new features for new android versions.

Get it on official AdAway website Get it on XDA forum

Stable builds

Requirements: * Android Android 8 Oreo or above

After preview builds have been tested by the more technical or responsive community within the forums, we will then post the stable build to F-Droid.

Get it on official AdAway website Get it on F-Droid

For devices older than Android 8 Oreo, use the version 4 of AdAway.

Get Host File Sources

See the Wiki, in particular the page HostsSources for an assorted list of sources you can use in AdAway. Add the ones you like to the AdAway "Hosts sources" section.

Getting Help

You can post Issues here or obtain more detailed community support via the XDA developer thread.

Contributing

You want to be involved in the project? Welcome onboard!
Check the contributing guide to learn how to report bugs, suggest features and make you first code contribution :+1:

If you are looking for translating the application in your language, the translating guide is for you.

Project Status

AdAway is actively developed by: * Bruce Bujon (@PerfectSlayer) - Developer
PayPal | GitHub Sponsorship * Daniel Mönch (@Vankog) - Translations * Jawz101 (@jawz101) - Hosts list * Anxhelo Lushka (@AnXh3L0) - Web site

We do not forget the past maintainers: * Dāvis Mošenkovs (@DavisNT) - Developer
Paypal * @0-kaladin - Developer and XDA OP * Sanjay Govind (@sanjay900) - Developer

And we thank a lot to the original author: * Dominik Schürmann (@dschuermann) - Original developer
Paypal | Flattr | BTC: 173kZxbkKuvnF5fa5b7t21kqU5XfEvvwTs

Permissions

AdAway requires the following permissions:

  • INTERNET to download hosts files and application updates. It can send bug reports and telemetry if the user wants to (opt-in only)
  • ACCESS_NETWORK_STATE to restart VPN on network connection change
  • RECEIVE_BOOT_COMPLETED to start the VPN on boot
  • FOREGROUND_SERVICE to run the VPN service in foreground
  • POST_NOTIFICATIONS to post notifications about hosts source update, application update and VPN controls. All notifications can be enabled or disabled independently.
  • REQUEST_INSTALL_PACKAGES to update the application using the builtin updater
  • QUERY_ALL_PACKAGES to let the user pick the applications to exclude from VPN

Licenses

AdAway is licensed under the GPLv3+.
The file LICENSE includes the full license text. For more details, check the license notes.

Extension points exported contracts — how you extend this code

DownloadStatus (Interface)
This class represents the application update download status. @author Bruce BUJON (bruce.bujon(at)gmail(dot)com) [4 implementers]
app/src/main/java/org/adaway/ui/update/DownloadStatus.java
ScopeCallback (Interface)
(no doc) [3 implementers]
sentrystub/src/main/java/io/sentry/ScopeCallback.java
WelcomeNavigable (Interface)
This interface represents step to navigate to during the setup. @author Bruce BUJON (bruce.bujon(at)gmail(dot)com) [3 …
app/src/main/java/org/adaway/ui/welcome/WelcomeNavigable.java
Integration (Interface)
(no doc) [2 implementers]
sentrystub/src/main/java/io/sentry/Integration.java
ListsViewCallback (Interface)
This class is represents the AbstractListFragment callback. @author Bruce BUJON (bruce.bujon(at)gmail(dot)com) [2 implementers]
app/src/main/java/org/adaway/ui/lists/ListsViewCallback.java
OptionsConfiguration (Interface)
(no doc)
sentrystub/src/main/java/io/sentry/Sentry.java
ExcludedAppController (Interface)
This fragment is the preferences fragment for VPN ad blocker. @author Bruce BUJON (bruce.bujon(at)gmail(dot)com) [2 implementers]
app/src/main/java/org/adaway/ui/prefs/exclusion/ExcludedAppController.java
EventLoop (Interface)
Interface abstracting away VpnWorker. [1 implementers]
app/src/main/java/org/adaway/vpn/dns/DnsPacketProxy.java

Core symbols most depended-on inside this repo

EXTRACT_32BITS
called by 1081
tcpdump/jni/tcpdump/extract.h
EXTRACT_16BITS
called by 1011
tcpdump/jni/tcpdump/extract.h
snprintf
called by 566
tcpdump/jni/libpcap/missing/snprintf.c
tok2str
called by 540
tcpdump/jni/tcpdump/util.c
bpf_error
called by 312
tcpdump/jni/libpcap/gencode.c
pcap_strerror
called by 311
tcpdump/jni/libpcap/pcap.c
print_unknown_data
called by 131
tcpdump/jni/tcpdump/util.c
snprintf
called by 131
tcpdump/jni/tcpdump/missing/snprintf.c

Shape

Function 2,478
Class 2,261
Method 895
Enum 52
Interface 13

Languages

C69%
Java19%
C++12%
Python1%

Modules by API surface

webserver/jni/mongoose/mongoose.c748 symbols
tcpdump/jni/libpcap/pcap-linux.c110 symbols
tcpdump/jni/tcpdump/print-isakmp.c109 symbols
tcpdump/jni/libpcap/pcap.c91 symbols
webserver/jni/mongoose/mongoose.h79 symbols
tcpdump/jni/tcpdump/print-sctp.c79 symbols
tcpdump/jni/tcpdump/sctpHeader.h74 symbols
tcpdump/jni/tcpdump/print-icmp6.c72 symbols
tcpdump/jni/libpcap/gencode.c71 symbols
tcpdump/jni/libpcap/pcap-dos.c65 symbols
tcpdump/jni/tcpdump/print-802_11.c62 symbols
tcpdump/jni/libpcap/optimize.c60 symbols

For agents

$ claude mcp add AdAway \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact