#%#/scriptlet(“abort-current-inline-script”, ...), which could break some web pages; now the problem is solved. Having dealt with all the issues, we’re ready to present a new version. Please meet v3.6.7, we’ve done our best for it to function smoothly.
$specifichide. It might be of interest to users who’d like to create their own ad filters. Besides, we’ve made userscript exclusions work properly and fixed all issues found. We know you are waiting for v4.0, so are we. Trust us, it’s worth it.
$removeparamrules in the filtering log #3873
com.android.browserconnection issues on several devices
CoreLibs updated to v1.8.163 #3945
$importantmodifier should have higher priority than the rule with
$extensionmodifier unblock blocked requests #1350
Updated CoreLibs to v1.7.211
DnsLibs updated to v1.4.14
Upgraded CoreLibs to v1.7.150
$badfilterrules are sensitive to domain lists #1331
Upgraded CoreLibs to v1.7.114
CoreLibs has been updated to v1.5.265
DnsLibs updated to v1.2.26
$redirectmodifiers support. Scriptlets is a powerful ad-blocking tool that helps to block ads on websites that use different circumvention techniques.
$redirectmodifier is another tool that allows substituting an ad with special ‘resources’ instead of blocking it. For instance, it can replace a banner with a transparent 1x1 image.
[Added] Stealth Mode module #2094
[Improved] App redesign #713
[Added] Dark theme #104
Hop straight to settings and switch to it if you are a night person :)
[Added] Statistics charts #2083
[Improved] New first launch wizard #1965
[Improved] Widget redesign #2354
[Improved] DNS functionality #2415
[Added] More filter subscriptions #12
[Added] Custom filter subscriptions by URL #13
[Added] Protection suggestions tab #2241
[Added] Problematic devices detection #2458
AdGuard learnt to detect such problematic smartphone models, and when it gets killed like that for the first time, it will show you a notification that explains what just happened (accompanied by some pieces of advice how to prevent that in the future). Its not a cure-all (if only there was one), but definitely better than nothing.
[Fixed] Wi-Fi calling doesn’t work with AdGuard #2550
[Improved] Added fallback DNS servers #2490
CoreLibs & Crash
ENOENTerror while exporting a log file #2162
java.lang.SecurityException: Destination must be on external storage #1978
proxy\_default. The first one enables/disables the outbound proxy, the latter sets any of the previously configured proxies as default. More detailed description of these actions is in our KB article.
pref.vpn.disable.reconfigurationis now checked for all Android versions 7+ #1918
adguard.com/forwardis now used for the website links #1875
$networkexceptions rules #1636
NXDOMAINanswer (domain does not exist) is now used instead of
We usually try to avoid having “inbetween” major updates, but this time is different. There were not as many big changes to justify labeling this version 2.11, but some of them are still very important so we couldn’t just keep shelving them. A couple of serious bugs have been fixed: misbehaving “Protection” button on Android 7, certificate detection issue and “broken” whitelist. You’ll find a lot of minor fixes too, plus updated translations. [Fixed] "Protection" button misbehaves The AOT (ahead-of-time) compilation method on Android 7.x could remove whole chunks of AdGuard code on its optimization step. This led to various problems, including the persistence of VPN connection despite the disabled protection. [Fixed] Certificate detection issue We have changed the algorithm of user certificate detection and it now works more correctly. Ad blocking [Fixed] Whitelist is not working Network [Fixed] Unexpected exception in the onUdpConnectRequest handler [Fixed] Automatic proxy (with root) is starting very slowly [Fixed] Disabling net access for Android OS does not work [Fixed] Moscow subway Wi-Fi cannot work with DNS filtering enabled [Fixed] Disabling internet access for Android OS does not work [Fixed] Internet is not working after switching from Local HTTP proxy(root) to VPN UI [Fixed] Minor UI issue in traffic stats screen [Fixed] The application is not fully translated after changing the language [Fixed] Proxy port more than 32767 is converted to 0 [Fixed] Incorrect calculation result of "App Details "screen [Fixed] Protection restarts when exporting settings [Fixed] Import of previously exported settings is buggy [Fixed] The visual glitch with 2 active DNS servers is back Other [Changed] Japanese translation [Changed] Traditional Chinese translation [Changed] Several compatibility fixes [Fixed] The header is not written after the HAR file rollover [Fixed] AG should request write_external_storage permission in runtime when it's required [Fixed] Proxy mode with Magisk 14.2 takes 2+ minutes to enable [Fixed] bccard.com, local.gosi.go.kr are not accessible with the HTTPS filtering enabled [Fixed] Alisa is broken in Yandex.Browser alpha
Hi everyone! AdGuard for Android has always been one of the most rapidly evolving AdGuard products, and it stays that way. Today, we introduce to you the new version, featuring some of the biggest and potentially the most important changes in a while: significant increase of the filtering speed, outgoing proxy and TOR support, DNS filtering, DNS encryption and everything cool that goes alongside it. More details ahead! [Added] Improved outbound proxy support There is now a separate section for outbound proxy configuring in the main section of "Settings" menu, just above the "Advanced". You can now add, configure and use multiple proxies through AdGuard. Please note that only filtered apps' traffic is routed through AdGuard (which means it will only work for browsers in the free version). Also, DNS requests are not routed through proxies. One related thing worthy of a separate mention: now it is very easy to set up Tor proxy via Orbot. Once you install Orbot, there will be a configured Tor proxy at the ready in the AdGuard proxy settings. Just enable Orbot in the notification bar, and you are good to go! [Added] Improved DNS settings We have also allocated a separate screen for DNS settings, you can find it in the side menu. You can add a custom DNS server, or select any public DNS provider from our list, including AdGuard DNS servers. No matter what server you choose, you can enable DNS filtering there. Another great feature is DNSCrypt support. It is a special protocol that makes your DNS traffic secure, and we recommend to choose a DNS provider that supports DNSCrypt (by the way, AdGuard DNS does!). [Added] Integration with the new network stack [Added] Integrate common URL filtering library These words may appear a tad too techy, so let us explain. Behind the ad blocking process of every AdGuard app on every platform lies the same algorithm. This algorithm - network stack - has been significantly improved recently, its performance has been increased up to 3 times compared to old numbers. In this version we integrate the Android app with it and also with our new filtering library. [Added] Logs and system info export This is a new addition to the 'Advanced settings'. Basically, after you tap it, the app grabs all current logs, packs it into an archive and asks you where to export it. It will be useful mostly for the forum and GitHub frequenters - for example when you report a bug and the support team member asks you to collect some logs. But it also can be helpful in certain tech support cases. [Added] Battery usage stats screen Historically, questions about AdGuard battery usage are among the most frequently asked ones. Sadly, Android distorts the battery consumption breakdown, attributing other apps' traffic and battery consumption to AdGuard. We've even written a detailed knowledgebase article that explains this issue. To mitigate the misconception, we added a new screen called 'Battery usage'. You can access it by tapping on the battery icon in the top right corner of the main screen. Inside you will find a chart that shows the AdGuard battery resource consumption within the last 24 hours, with an option to get more detailed hour-to-hour data by tapping on the dots on the chart. Besides that, there's also a numeric breakdown of the relevant data and a short technical explanation. ---------- Adblocking [Added] Add support for browsers cloned by the "App Cloner [Added] Add EasyList Lithuanian filter [Added] `/deep/` and `::shadow` selectors support [Changed] Upgrade "ExtendedCss" module to v1.0.8 [Changed] Optimize DNS filtering statistics write [Changed] Allow multiple filters to be enabled as language-specific at once [Fixed] Unknown rule options [Fixed] Native stack is not properly closed sometimes when AdGuard is auto-restarted [Fixed] AdGuard does not resume protection occasionally Networking [Changed] The iptables rules have been reworked [Changed] Add new filtered ports [Changed] AdGuard now can handle compressed responses when downloading filters [Fixed] Iptables redirect doesn't work for IPv6 [Fixed] Reinitialize VpnService when newly installed app should not be filtered [Fixed] Captured HAR is invalid [Fixed] Adguard cannot handle huge chunks properly [Fixed] Cryptography-code error [Fixed] No internet connection when DNScrypt and "record everything" logging level are enabled [Fixed] NPE in DnsUpstreamServer [Fixed] Alpha build segfaults when accessing some websites [Fixed] Old certificates are not purged properly [Fixed] The Onion (theonion.com) does not work with AdGuard enabled [Fixed] Error while generating a domain certificate [Fixed] If IP address is blocked by ISP, it is impossible to connect to the site even via proxy [Fixed] No internet connection after disabling DNS settings [Fixed] Auto Proxy mode causes Wi-Fi Calling to fail for Verizon Wireless [Fixed] When switching from VPN to Auto Proxy, Protection "restarts" but mode doesn't change [Fixed] Iptables redirect doesn't work for ipv6 P2 [Fixed] Opera browser now targets SDK level 25 and does not trust user certificates UI [Added] "Add new rule" button is missing in user filter [Added] Open links in a webview [Added] Open AdGuard by long-pressing on the tile icon [Added] Add an option to search in the filtering log [Added] Round icons support for Android 7.1 [Added] Add a checkbox "Overwrite existing rules" to the import user filter dialogue [Added] Show filters which blocked an element in the Filtering log [Added] Export logs and system info [Added] Trim string when user enters new domain or rule into Whitelist/User filter [Added] Export/import of all profile's settings [Added] An annotation to "Google Play services" app details [Added] Custom DNS ports support [Changed] Rework the HTTPS filtering settings section [Changed] Dialog windows should have min width [Changed] Change "Filtering log" status label text [Changed] Change AdGuard notification text 6.0+ [Changed] Contents of state.txt file (the one attached to support messages) [Changed] French translation has been updated [Changed] 'Adguard' to 'AdGuard' in all translations [Changed] AdGuard notification text on Andoird 6.0+ [Changed] Some wording has been updated across the app [Changed] Minor UI changes [Fixed] Firewall UI inconsistency [Fixed] Deleting a single rule from a search result removes all rules from the User Filter [Fixed] First string is imported as a rule even if it is a comment. [Fixed] Subscription status description is misleading [Fixed] Few issues with the new DNS sub-menu section [Fixed] Wrong padding in the DNS section [Fixed] Spelling issue in DNSCrypt [Fixed] Displaced titles in the 'Statistics' tab of the 'DNS' screen [Fixed] The search request is reset after keyboard is closed [Fixed] Make the log stop scrolling when reading it [Fixed] Incorrect DNS is displayed when you set up a custom DNS [Fixed] AdGuard doesn't memorize the selected DNS server [Fixed] Proxy warning in apps management can be seen when changing tabs [Fixed] Scrolling on the DNS screen works incorrectly [Fixed] FAQ is displayed in the wrong language on Android N [Fixed] Side menu "Settings" button doesn't work as intended [Fixed] DNS requests blocking is not enabled by default when you toggle on the main DNS switch [Fixed] Main switch in HTTPS settings is not being toggled by tapping on the label [Fixed] Toast messages are shown in system language, not in app language [Fixed] Scrollbar is missing at both DNS server lists (regular and DNScrypt) [Fixed] Headers are not translated after switching the language [Fixed] Apps are missed from apps management statistics in proxy-mode [Fixed] "Block ads in all apps" is not checked after you activate the license key Other [Added] "Request trial" should require an email [Added] Add an annotation to "Google Play services" app details [Added] AdGuard has been added to Google's apps backup [Changed] Increase the trimming limit we use for request URLs [Changed] Beta build should have "beta" update channel by default [Changed] .apk file has been removed from the app cache after the update [Changed] Add AdGuard version to both settings and logs export files [Fixed] Don't ask for root access when crashed [Fixed] Missed separator in filtering log between `ads=` and domain name [Fixed] Apps management section is not loaded in the background [Fixed] Сrashes on Android 6.0.1 [Fixed] Unnecessary exception in the log file [Fixed] App freezes and can't be restarted [Fixed] AdGuard crashes if you open `ws://` or `wss://` request in the Filtering log [Fixed] EV certificate filtering checkbox rarely works [Fixed] Advanced settings aren't applied on protection restart [FIxed] Crash on Android v4.x [Fixed] Update crash on KitKat and Lollipop [Fixed] Individual apps settings aren't exported [Fixed] Crash while trying to clear Firewall stats with AG disabled [Fixed] AdGuard is not listed in Google's apps backup [Fixed] Apps Management's "All time" tab is very slow after clearing stats [Fixed] Wi-Fi calling Verizon issue [Fixed] Custom DNS might not work in some circumstances
$networkmodifier doesn't work #1268
Minor and compatibility issues
Also, our users get the ability to configure which DNS servers to use with DNS filtering, compatibility with other apps is improved, UI undergoes some tweaks, new filters are added to make filtering more comfortable... and much more!
Languages and translations
* EasyList China
* EasyList Czech and Slovak
* EasyList Hebrew
* EasyList Italy
* Liste AR
* Liste FR
* ABP Japanese Filters
* Adblock polskie reguły
[Added] $genericblock modifier support: #3
[Changed] Use keyboard settings to detect default language-specific filters: #0
[Changed] Improved $popup rules: #7
[Fixed] A bug with HTML filtering rules - void elements never removed: #4
[Fixed] An issue with "base url": #2
[Fixed] Rules with $elemhide modifier now applied to "Documents" only: #1
4 None. No icon, no notification.
[Changed] Change Mb to MB in firewall data statistics: #0
[Changed] "Protection paused" notification should not have high priority in Android 4.X: #5
[Fixed] Crash when system call is interrupted: #0
[Fixed] "Filter DNS requests" feature does not work with mobile connection: #1
Languages and translations
[Fixed] Tethering/hotspot is falsely detected (MIUI, Zenfone2): #8
[Fixed] Fixed an issue with filtering Boat Browser and Dolphin Browser with add-ons installed: #7
[Fixed] Viber app compatiblity issues: #0
[Fixed] Added Firefox Nightly to the browsers list: #6
[Fixed] Added RT Software Studio's Download Manager to the browsers list: #9
[Fixed] Added Yandex Browser Alpha to the browsers list: #8
[Fixed] Periscope app incompatibility: #5
[Fixed] Add sberbank app to net exclusions: #9
[Changed] Improve release notes layout: #0
[Fixed] Add sberbank app to net exclusions: #9
[Fixed] AdGuard breaks WebSocket protocol: #8
[Fixed] AdGuard requests to a backend server has wrong User-Agent field: #1
[Fixed] Always return status=500 for blocked requests: #6
[Fixed] BOOT_COMPLETED Intent is not received at “Restart” or “Reboot”: #3
[Fixed] Critical Error: Deadlock caused by slow write operations #8
[Fixed] Download or upload of large files may be broken: java.net.SocketTimeoutException: #4
[Fixed] Foreground check does not work in Android 5.1.1+: #4
[Fixed] Random timeout error while downloading large files: #5
[Fixed] T-Mobile Wi-Fi calling issue: #3
[Fixed] UDP connection may be closed before it is actually established: #5
[Fixed] Wi-Fi direct does not work with AdGuard on Samsung devices: #7
[Fixed] Wildcard's "*" character does not match a new line: #3
Multiple TCP stack improvements:
Overall performance improvement:
- Moved firewall icons-cache to Cache folder to be able to clear it from app settings
- Fixed unnecessary restart of protection in Proxy mode
- Proxy mode: DNS cache is now flushed on network reconnect
- Multiple GUI improvement in Low-Level Settings
- A new preference "pref.vpn.capture" added to low-level settings. If this setting is enabled, Adguard will create the special file named «tun.pcap». It contains all network packets transferred through the VPN. This file is located in the app cache directory, and can be analyzed with the Wireshark program.
- Optimized Pcap functionality in Low-Level Settings
- Update channel options are hidden for Amazon builds
- Fixed handling of HTTP CONNECT requests without Host header
- Small UI fix on Send Feedback screen
- Added new localizations: Czech, French, Turkish, Serbian, Spanish
- 'Firewall' section added to settings, with an ability to disable it comletely.
- Firewall: Added an ability to temporary pause blocking for foreground application
- Added low-level settings that can help with the work in non-standard networks and custom firmware
- An option has been added to low-level configuration, which prohibits VPN pause when changing the network or disconnecting from it
- Reworked the DNS-filtering - now it should work even where external DNS are blocked
- Reworked the application life cycle: now the protection can be turned off/on without any issues
- Fixed application restart after deep sleep
- Fixed critical error that led to Adguard restart
- Fixed a mechanism for identifying modem and access point mode and showing a warning
- Fixed authorization problem in the Moscow Subway
- Fixed problem sending SMS/MMS in the AT&T network
- Fixed an issue with collecting traffic statistics
- Fixed rare problem with automatic filter updates
- Fixed an issue with firewall interface on small screens
- Added support for new browsers: Dolphin Zero, Ghostery, CM Private Browsing, Jbak Browser and more
- Exceptions added: Handcent Next SMS, Chomp SMS, FarmVille 2
- Updated German and Polish localizations
- Fixed several issues in the interface
- Added the long-awaited firewall feature. Now it is possible to fully control the internet access of apps in different networks. The apps won’t be able to go online and send any data without you knowing. In addition, by using our firewall, you can allow some apps to go to the network only via mobile Internet, while others (for example, ones that require a lot of traffic) – only through Wi-Fi.
- Added app traffic monitoring system. You can monitor the consumption of app traffic in real time.Adguard will show you which apps consume resources at the moment, and demonstrate the used traffic for day, month or all-time.
- Added module for blocking advertising domains by DNS (can be found in advanced settings). DNS filtering consists in Adguard intercepting requests to the DNS server, which let the program know where the particular domain is, at what IP address. If requests to the domain should be blocked, then Adguard returns the special blocking response with a lifetime of 1 hour. During this hour, the program will no longer send requests to the DNS server, so the load will be reduced accordingly.
- Added Material Design. We have switched to the Material design. Now Adguard is consistent and even more handsome :)
- Added IPv6 filtering support. This protocol may not even be supported by your provider yet, and we have already added its support in VPN mode. Just keep using Adguard as if nothing has changed.
- Implemented blocking of QUIC protocol in Google Chrome. Google servers are working based on it, and also with its help Google Chrome loads banners and text ads. At the moment, the use of this protocol gives no significant advantage to the user, therefore we decided to block this protocol.
- Added simplified filtering mode without cosmetic rules. It is useful for low-end devices limited by memory and CPU resources. Banners are also wonderfully blocked, but once they are blocked, there will be “holes” that are usually hidden by some cosmetic rules that are present in other modes of filtering.
- Added the import function for user rules lists from a file.
- Added widget for your desktop, allowing one-click control for the ad-protection.
- Added options for update channel - Beta/Release. If you plan on using latest beta updates, don't forget to check the checkbox in advanced settings.
- Fixed problem with TCP-stack when downloading large files (in Google Play, etc.).
- Remarkably redesigned UDP and TCP connections handling, which led to the load reduction and increase of concurrent connections number.
- Use of system Intents to manage the service from other programs (Tasker, etc.) is now allowed.
- Improved restarting protection after reconnecting to the network.
- Fixed problem with sending MMS through the Verizon operator.
- Fixed sending SMS for T-Mobile users.
- Added support for NoChromo, Chrome Dev, Amazon Silk.
- Added an exception for new Opera Max, you can now use it with Adguard in proxy mode.
- Added new icons for different application states. Our notifications became more vivid and informative with new icons of pause, available update, or when a conflicting app is found on the device.
- No more status bar colored icon option in Lollipop. In new Android version Google has released a new design requirements, and when we assembled Adguard for the new system while using new technologies, a color icon was “damaged” by assembly tools. Therefore, we had to abandon the colored icon in the Android Lollipop notification (5.0+).
- Redesigned interface of user lists.
- Added new languages and updated existing localization.
- Many small but important fixes.
- Added app traffic monitoring system. You can monitor the consumption of app traffic in real time.
* Fixed some bugs with HTTPS traffic filtering (known issue: conflict with Heroes Charge game) * Fixed an issue with Android killing app process in case of swiping it from recent apps
- Improved HTTPS filtering, now we can block ads in Skype
- Optimized programs performance
- If the protection is disabled, Adguard service now turns off correctly after processing the network events
- Improved filtering speed of heavy HTML pages
- Fixed an issue with Android 4 killing Adguard after swiping task from recent
- Fixed a bug with service autostart in case of wrong events order (if we receive network event first, then boot event)
- We now use better way to exclude some apps from VPN on Lollipop
- Fixed an issue with Adguards performance on Android 4.3 SGS3
- Optimized memory consumption upon loading heavy files
- Fixed some minor compatibility issues
+ Added support of Habit browser and Yandex browser beta. * Google Messenger app added to exclusions list. * Fixed a bug with local network exclusion. Now local network is properly excluded on all devices. This should fix some compatibility issues: working with local FTP servers, Sonos, Amazon Fire TV, etc. * Fixed filtering issue with websites which use Content-Security-Policy. * Fixed an issue with proxy+automatic filtering mode on devices with kernel version 3.10. * Fixed Adguard filtering in case of using proxy server with port 80. * Fixed UI issue when bandwidth saved value is more than 1GB. * Fixed Google Play Music compatibility issue. * Fixed an issue with waiting for ROOT access on device boot.
Fixed major bug with filtering of some HTTP connections
Added in version 1.1.805: + Added limited support of HTTPS requests filtering + Added Ukrainian and German languages + Tested and optimized for Android 5.0 Lollipop + Added support for Naked Browser + Added notification icon setting + Added new types of filtering rules (regexp-rules) Fixed in this version: * Resolved compatibility issues with some apps including Telegram, Handcent SMS, Dropsync, Dropbox, Bleep, PAC Console * Fixed bug with processing UDP traffic in VPN mode (Bleep messenger) * Fixed some app crashes * Fixed slow protection startup in proxy mode * Improved CPU and battery usage * Fixed processing of certain HTTPS requests * Fixed problem with landscape mode on devices with low resolution screen * Fixed possible conflicts when using the same port number with another proxy server * Fixed an issue with processing requests to some domains with multiple A DNS-records
After a month of open beta testing, we finally announce the first official release of Adguard for Android. Many thanks to all who helped us in testing the app. Thanks to you, we have fixed more than 100 bugs for the last month! We are not going to stop on that and will continue the further development of Adguard. Please write us about shortcomings or send your suggestions. We are always here to help you.
+ Splash screen * Fixed an issue with HTTP/1.0 connections * Fixed Google Chrome filtering if "Reduce data usage" is enabled and proxy mode is on * Fixed bug with update available notification error * Minor UI fixes
+ Added tutorial on app first run + Added unsupported browsers detection * Fixed slow page load on some devices * Fixed service restart issues * Fixed lots of minor bugs
+ Adguard in proxy mode now can be used along with Opera Max and DrWeb + Added new questions to FAQ * Fixed handling of the situation when VPN is not supported * Fixed app crash in proxy mode * Fixed an issue with app autostart * Minor UI fixes: added new dialog on first VPN startup
* Memory usage has been significantly reduced * Improved filtering speed and protection initialization speed * Fixed bug with unexpected protection shutdown (in proxy mode mostly) * Fixed compatibility issues with Viber, Okko and Mobilism apps * Fixed compatibility issues with Youtube and Play apps and manual proxy mode * Improved update process in standalone app version (apk) * Fixed lots of minor bugs
* Fixed crash caused by downloading huge files in VPN mode * Fixed filtering of Opera Classic * Minor UI fixes
* Fixed vpn autorestart issue * Fixed app update * Fixed HTTP keep-alive issue with POST requests
+ Added trial period + Added "Errors only" logging level * Fixed bug with Adguard start even if protection was not enabled * Fixed major bug with HTTP keep-alive connections * Fixed lots of minor bugs
Open beta-version of Adguard for Android